Nosso Veredicto
Ótimo hardware com muita potência em um pequeno pacote. O preço pode adiar um pouco, mas se você precisar de Wi-Fi e do RP2040, esta é a placa para você, mas por quanto tempo?
Para
+ Formato pequeno
+ Muitas entradas analógicas
+ Wi-Fi e BLE integrados
+ Microfone embutido, IMU
Contra
– Números de pinos escondidos
– Alto custo
– Sem USB-C
– O software está com bugs
Quando você pensa em um Arduino, a primeira placa em sua cabeça tem que ser o clássico Arduino Uno, com seu microcontrolador Atmel. Você não pensaria em um Arduino alimentado por ‘Pi Silicon’, mas a última onda inicial de placas parceiras RP2040 é a Arduino Nano RP2040 Connect e esta é a placa que estávamos esperando. Você vê que o Arduino Nano RP2040 Connect é a única placa parceira que vem com Wi-Fi e Bluetooth integrados. Perfeitamente integrado ao familiar layout Nano está um módulo Wi-Fi Nina W102 uBlox que fornece 2,4 GHz WI-Fi, Bluetooth Low Energy, uma IMU capaz de detectar movimentos e gestos e um microfone que pode ser usado para medir níveis de áudio e, mais importante, usado em projetos de aprendizado de máquina.
Preço direto $ 25,50
O Arduino Nano RP2040 Connect deve ser o coração do seu próximo projeto? Bem, isso depende de suas necessidades e orçamento. Se você está feliz em piscar LEDs e fazer as coisas se moverem, então um Raspberry Pi Pico de US $ 4 é mais para você. Mas se você deseja construir dispositivos de Internet das Coisas (IoT) com uma interface web, a placa mais recente do Arduino pode ser exatamente o que você está procurando. Mas nós não entendemos verdadeiramente como um quadro funciona e, mais importante, como ele é suportado até que o usemos, e o usaremos!
Especificações de hardware de conexão do Arduino Nano RP2040
Sistema no chip
Chip microcontrolador RP2040 projetado por Raspberry Pi
Processador Dual-core Arm Cortex M0+, clock flexível rodando até 133 MHz.
264 KB de SRAM e 4 / 16 MB de memória Flash integrada
GPIO
22 × pinos GPIO multifuncionais de 3,3 V
1 × SPI, 1 × I2C, 1 × UART, 8 × ADC de 12 bits, 20 × canais PWM controláveis
8 × Máquinas de estado de E/S programáveis (PIO) para suporte a periféricos personalizados.
1x LED do usuário (GPIO 13)
LED RGB, acessível apenas através do módulo Nina W102.
O módulo castelado permite soldar diretamente nas placas portadoras.
Recursos extras
Módulo Wi-Fi Nina W102 uBlox
ST LSM6DSOXTR IMU de 6 eixos
Microfone ST MP34DT06JTR MEMS
Coprocessador Criptográfico ATECC608A-MAHDA-T
Dimensões
1,77 x 0,7 polegadas (45 x 18 mm)
Projeto e uso do Arduino Nano RP2040 Connect
O design do Arduino Nano RP2040 Connect é claramente baseado na linha de placas Nano do Arduino, como o Nano 33 IoT e o Nano Every. A linha de placas Nano compartilha a mesma pinagem, permitindo que o Arduino Nano RP2040 Connect seja um substituto para outras placas Nano. A placa nua tem as bordas casteladas que se tornaram a norma para uma placa RP2040 e a parte inferior da placa não é preenchida, permitindo que ela seja soldada na superfície em um projeto. Dos 22 pinos GPIO temos 20 pinos que podem ser usados para PWM e desses temos 8 entradas analógicas, a maioria de qualquer placa RP2040 já que o Pico vem com três e a maioria das placas RP2040 de terceiros tem quatro. Se você estiver procurando pelos pinos I2C, eles estão escondidos nos pinos A4 e A5 e a IMU integrada é acessível no barramento I2C.
Os olhos de águia entre vocês terão visto um conector micro USB, algo comum em muitas placas Arduino mais recentes. Gostaríamos de ter visto um conector USB-C, porque oferece uma conexão infalível e o conector mecânico é mais forte que o micro USB. Como esta é a placa RP2040 mais cara, achamos que o Arduino poderia ter incluído isso sem afetar o custo geral.
O grande recurso do Arduino Nano RP2040 Connect é o Wi-Fi e o chip Nina W102 nos fornece Wi-Fi 802.11 b/g/n 2,4 GHz e Bluetooth 4.2. A antena está localizada em frente à porta micro USB. O chip Nina W102 é um poderoso microcontrolador com 520KB SRAM e uma CPU Dual Core Xtensa LX6 de 32 bits e 240MHz, mas nesta placa ele é relegado para lidar com comunicações.
Como este é um Arduino, nossa inclinação natural é usar o Arduino IDE, e com uma atualização recente trazendo suporte oficial ao RP2040 para o IDE, podemos facilmente criar projetos. Testamos o Arduino Nano RP2040 Connect com o Arduino 1.8.15 e 2.0 beta 7 IDE e após instalar a placa através do gerenciador de placa conseguimos fazer o flash sketch do exemplo para provar que tínhamos conectividade. Para acessar o Wi-Fi, precisávamos instalar a biblioteca WiFiNINA e, em seguida, criar um arquivo de segredos para conter nossos detalhes de login do Wi-Fi. Executamos o exemplo Simple Web Server WiFi e ele piscou sem problemas, mas depois descobrimos que precisávamos alterar o pino GPIO padrão usado no exemplo de 9 para “LED_BUILTIN” para controlar por meio de uma interface da web.
Os detalhes da conexão devem aparecer no monitor serial, mas não importa o que fizemos, não conseguimos conectar ao monitor serial e tudo o que vimos foi um erro informando que a porta estava ocupada. Isso não é exclusivo do Arduino Nano RP2040 Connect; vimos esse comportamento com outras placas RP2040 e o Arduino IDE. Nossa única solução foi fechar o IDE do Arduino e usar outro aplicativo para abrir um terminal serial. O mesmo problema afetou nosso teste da IMU, então abrimos o terminal serial, redefinimos a placa e vimos os dados brutos do acelerômetro rolarem pela tela. Mais tarde descobrimos que o problema estava no nosso sistema operacional, Ubuntu 18.04, tivemos que desinstalar o modemmanager para ver os dados seriais na porta. Esse problema não afetou nenhum de nossos outros quadros oficiais e clones.
Também testamos o microfone integrado, o mesmo modelo usado no Nano 33 IoT. Seguimos a documentação oficial para fazer o flash do sketch de teste no Arduino Nano RP2040 Connect, então abrimos o Serial Plotter esperando ver uma visualização do som. Infelizmente, tudo o que vimos foi um valor constante de linha plana de -128. Não foi possível localizar nenhuma orientação sobre como corrigir esse problema.
Tivemos outros problemas ao usar o IoT Cloud do Arduino, um serviço que já usamos antes com as placas MKR WIFI 1010 e Nano 33 IoT. nosso Arduino Nano RP2040 Connect foi detectado, mas não pôde ser configurado. Seguimos a documentação oficial, que no momento da redação parece estar incompleta, e ainda deu um branco. Isso é uma pena, pois o IoT Cloud é o novo serviço do Arduino para permitir que “coisas” (projetos) de IoT sejam criadas e monitoradas por meio de uma interface web. É mais provável que sejam problemas iniciais por enquanto e algo que será corrigido no futuro. Por enquanto, o fabricante inteligente ficará com os IDEs de desktop.
Você provavelmente está pensando que este é um RP2040, para que eu possa executar outras linguagens de programação? Correto! Podemos usar CircuitPython e MicroPython com o Arduino Nano RP2040, a ressalva é que você precisará obter suas próprias bibliotecas para o microfone integrado, IMU e WiFi. Existe uma peculiaridade entre a numeração dos pinos e o número GPIO real. O número do pino do Arduino, usado no IDE do Arduino para um pino, é D2, mas o pino RP2040 é GPIO25. Outro exemplo é o LED embutido é D13, mas em nossos testes MicroPython foi GPIO 6.
Testamos o Arduino Nano RP2040 Connect com CircuitPython e foi uma experiência muito mais agradável e graças à infinidade de bibliotecas, principalmente a biblioteca ESP32SPI, rapidamente tivemos o Arduino Nano RP2040 Connect online e recebendo dados de uma API remota. Também testamos com o MicroPython e ele se comportou da mesma maneira que um Raspberry Pi Pico, mas não tínhamos drivers para usar o Wi-Fi integrado.
Foi aí que notamos uma peculiaridade que nos impediu de preparar a placa para aceitar o novo firmware. Normalmente, redefiniríamos a placa e pressionaríamos BOOTSEL. Para o Arduino Nano RP2040 Connect, pressionaríamos duas vezes o botão de reset, mas isso não funcionou. Depois de pedir ajuda no Twitter, fomos informados de que poderíamos conectar os pinos REC e GND para forçar a placa a entrar no modo.
Casos de uso para o Arduino Nano RP2040 Connect
O caso de uso mais óbvio é um dispositivo IoT e isso é feito de maneira bastante direta por meio do Arduino IoT Cloud. Com o IoT Cloud, podemos criar rapidamente aplicativos GUI para ler dados de um dispositivo remoto. Por exemplo, podemos criar uma estação meteorológica usando o Arduino Nano RP2040 Connect e ter dados ao vivo transmitidos para a nuvem que podem ser acessados de qualquer dispositivo conectado à web.
A mesma interface de usuário do Arduino IoT Cloud pode ser usada para controlar remotamente o Arduino Nano RP2040 Connect, por exemplo, um robô controlado pela web não seria muito mais difícil de construir do que um robô não habilitado para web.
Se você não é usuário do Arduino IoT Cloud, ainda pode aproveitar ao máximo essa placa usando o IDE tradicional. Existem bibliotecas disponíveis para HTTP, MQTT e Bluetooth que já existem há algum tempo e podem ser portadas para rodar no RP2040. Com essas bibliotecas podemos construir robôs controlados pela web, estações meteorológicas sem fio, etc.
Resultado final
Ele se resume ao preço. Se você precisa de Wi-Fi e do RP2040, o Arduino Nano RP2040 Connect é um hardware sólido, mas é mais caro do que qualquer outra solução RP2040 que testamos, incluindo a compra de um Raspberry Pi Pico e um Pimoroni Pico Wireless. O custo extra nos dá acesso aos pinos GPIO, que infelizmente são bloqueados com o Pico Wireless. Se você precisa do menor pacote possível para um projeto de IoT incorporado, essa pode ser a placa, mas no momento a documentação não está de acordo com os padrões usuais do Arduino, apesar de ser a última placa da primeira onda de dispositivos alimentados por RP2040.
As entradas analógicas adicionais significam que o Arduino Nano RP2040 Connect tem o máximo de qualquer dispositivo RP2040, útil para conectar muitos componentes diferentes. O dinheiro inteligente para quem deseja conectar seu projeto RP2040 ao mundo está com esta placa, mas por quanto tempo? A própria placa RP2040 da Seeed vem com Wi-Fi e espera-se que seja vendida pela metade do preço do Arduino.