terça-feira, julho 05, 2022

A Raspberry Pi Pico W

E temos novos modelos da Raspberry Pi Pico!  Deixando de lado os modelos com conector já soldado, vamos dar uma olhada na Raspberry Pi Pico W, que acrescenta a comunicação WiFi.

Pi Cow (foto por @RaspberryPi)


Acho que ainda vai demorar um tempo até eu conseguir colocar a mão em uma, mas existe bastante informação na internet para usar como base para os meus comentários.

Os três modelos do Pico (foto do site oficial)

Visualmente a Pico W se distingue da Pico por ter uma tampa metálica sobre uma parte nova do circuito, a antena e pelo deslocamento dos pinos de depuração (SWD). A foto abaixo (de @arturo182) mostra o que tem embaixo da tampa metálica:

"clique para ampliar"

A documentação técnica informa que o WiFi é obtido usando o CYW43439 da Infineon. O datasheet dele, em conjunto com o esquema no datasheet do Pico W nos permite ver que:

  • São suportados os modos b/g/n do padrão 802.11, na faixa de 2.4GHz
  • A interconexão do CYW43439 ao RP2040 é feita através de SPI
  • Os pinos usados na interconexão não estão presentes no conector da Pico (sugerindo que já estavam planejando o modelo W).
  • O LED está ligado ao CYW43439 no Pico W, porque o GP25 do RP2040 usado na Pico passa a ser usado na conexão ao CYW43439. Isso complica o popular Blink (especialmente na programação em C)
  • O CYW43439 possui suporte a Bluetooth 5.2, porém os pinos correspondentes estão desconectados no Pico W.
Uma olhada no código do SDK mostra que o SPI da interconexão é implementado usando o PIO (Programable Input and Output) com o uso de DMA para a transferência de dados.

De resto o Pico W é igual ao Pico. Isto inclui a ausência do botão de reset e os 2M de Flash.

Junto com o hardware foi lançada uma nova versão do SDK e um novo executável do Micro Python. É de se prever para breve o suporte ao Pico W no Circuit Python e na IDE Arduino.

O preço oficial é US$6, 50% a mais do da Pico. Isto coloca o Pico W em briga direta com as placas mais simples baseadas no ESP8266.

Ao comparar o Pico W com outras placas com o RP2040 e suporte a comunicação WiFi é importante entender a distribuição de trabalho entre o RP2040 e o módulo de rádio. O CYW43439 é apresentado como uma solução no nível MAC (apesar de ter um processador ARM Cortex M3), o stack TCP/IP roda no RP2040 (o stack oficial é o lwIP). O Arduino RP2040 Connect, por exemplo, utiliza um módulo Nina-W102 que contém um ESP32 onde é rodado o stack TCP/IP. 

Considerando o preço agressivo, o nome Raspberry e as capacidades da Raspberry Pico W é de se prever que seja mais um sucesso. 


Atualização: via Twitter o responsável pela documentação da Raspberry disse que é possível usar o BT via SPI (não vi isso no datasheet). Portanto é possível que uma atualização de software permita usar o Bluetooth. Devaneio meu: esta atualização incluiria uma mexida no firmware do CYW43439 (ele tem um ARM Córtex M3).


Nenhum comentário: