Nuestro veredicto
Gran hardware con mucha potencia en un paquete pequeño. El precio puede desanimar un poco, pero si necesita Wi-Fi y el RP2040, entonces esta es la placa para usted, pero ¿por cuánto tiempo?
Para
+ Factor de forma pequeño
+ Muchas entradas analógicas
+ Wi-Fi y BLE incorporados
+ Micrófono incorporado, IMU
En contra
– Números pin ocultos
– Alto costo
– Sin USB-C
– El software tiene errores
Cuando piensas en un Arduino, lo primero que se te viene a la cabeza es el clásico Arduino Uno, con su microcontrolador Atmel. No pensaría en un Arduino alimentado por ‘Pi Silicon’, pero la última de la ola inicial de placas asociadas RP2040 es Arduino Nano RP2040 Connect y esta es la placa que hemos estado esperando. Verá que Arduino Nano RP2040 Connect es la única placa asociada que viene con Wi-Fi y Bluetooth integrados. Perfectamente integrado en el diseño familiar de Nano hay un módulo Wi-Fi Nina W102 uBlox que proporciona Wi-Fi de 2,4 GHz, Bluetooth Low Energy, una IMU capaz de detectar movimiento y gestos y un micrófono que se puede usar para medir los niveles de audio y, lo que es más importante, utilizado en proyectos de aprendizaje automático.
Precios Directos $25.50
¿El Arduino Nano RP2040 Connect debería ser el corazón de su próximo proyecto? Pues eso depende de tus necesidades y presupuesto. Si está feliz de hacer parpadear los LED y hacer que las cosas se muevan, entonces un Raspberry Pi Pico de $ 4 es más para usted. Pero si desea construir dispositivos de Internet de las cosas (IoT) con una interfaz web, entonces la última placa de Arduino puede ser justo lo que está buscando. Pero no entendemos realmente cómo funciona una placa y, lo que es más importante, cómo se soporta hasta que la usamos, ¡y la usaremos!
Especificaciones del hardware de conexión Arduino Nano RP2040
Sistema en chip
Chip microcontrolador RP2040 diseñado por Raspberry Pi
Procesador Arm Cortex M0+ de doble núcleo, reloj flexible que funciona hasta 133 MHz.
264 KB de SRAM y 4/16 MB de memoria Flash integrada
GPIO
22 pines GPIO multifunción de 3,3 V
1 × SPI, 1 × I2C, 1 × UART, 8 × ADC de 12 bits, 20 × canales PWM controlables
8 máquinas de estado de E/S programables (PIO) para compatibilidad con periféricos personalizados.
1 LED de usuario (GPIO 13)
LED RGB, accesible solo a través del módulo Nina W102.
El módulo almenado permite soldar directamente a las placas portadoras.
Características adicionales
Módulo WiFi Nina W102 uBlox
ST LSM6DSOXTR IMU de 6 ejes
Micrófono MEMS ST MP34DT06JTR
Coprocesador criptográfico ATECC608A-MAHDA-T
Dimensiones
1,77 x 0,7 pulgadas (45 x 18 mm)
Diseño y uso del Arduino Nano RP2040 Connect
El diseño del Arduino Nano RP2040 Connect se basa claramente en la gama de placas Nano de Arduino, como Nano 33 IoT y Nano Every. La gama de placas Nano comparte el mismo pin, lo que permite que Arduino Nano RP2040 Connect sea un reemplazo directo para otras placas Nano. La placa desnuda tiene los bordes almenados que se han convertido en la norma para una placa RP2040 y la parte inferior de la placa no está poblada, lo que permite soldarla en la superficie en un proyecto. De los 22 pines GPIO, tenemos 20 pines que se pueden usar para PWM y de ellos tenemos 8 entradas analógicas, la mayoría de cualquier placa RP2040, ya que Pico viene con tres y la mayoría de las placas RP2040 de terceros tienen cuatro. Si está buscando los pines I2C, están ocultos en los pines A4 y A5 y se puede acceder a la IMU integrada en el bus I2C.
Los ojos de águila entre ustedes habrán visto un conector micro USB, algo común en muchas placas Arduino más nuevas. Nos hubiera gustado ver un conector USB-C, porque ofrece una conexión infalible y el conector mecánico es más fuerte que el micro USB. Como esta es la placa RP2040 más cara, creemos que Arduino podría haberla incluido sin afectar el costo total.
La gran característica del Arduino Nano RP2040 Connect es Wi-Fi y el chip Nina W102 nos proporciona Wi-Fi 802.11 b/g/n 2.4 GHz y Bluetooth 4.2. La antena se encuentra frente al puerto micro USB. El chip Nina W102 es en sí mismo un potente microcontrolador con 520 KB de SRAM y una CPU Dual Core Xtensa LX6 de 240 MHz y 32 bits, pero en esta placa está relegado al manejo de las comunicaciones.
Como se trata de un Arduino, nuestra inclinación natural es usar el IDE de Arduino, y con una actualización reciente que brinda soporte oficial para el RP2040 al IDE, podemos crear proyectos fácilmente. Probamos Arduino Nano RP2040 Connect con Arduino 1.8.15 y 2.0 beta 7 IDE y, después de instalar la placa a través del administrador de la placa, pudimos mostrar el boceto parpadeante de ejemplo para demostrar que teníamos conectividad. Para acceder a Wi-Fi, necesitábamos instalar la biblioteca WiFiNINA y luego crear un archivo de secretos para contener nuestros detalles de inicio de sesión de Wi-Fi. Ejecutamos el ejemplo WiFi del servidor web simple y parpadeó sin problemas, pero luego nos enteramos de que necesitábamos cambiar el pin GPIO predeterminado utilizado en el ejemplo de 9 a «LED_BUILTIN» para controlar a través de una interfaz web.
Los detalles de la conexión deberían aparecer en el monitor serial, pero no importaba lo que hiciéramos, no podíamos conectarnos al monitor serial y todo lo que vimos fue un error que nos informaba que el puerto estaba ocupado. Esto no es exclusivo del Arduino Nano RP2040 Connect; hemos visto este comportamiento con otras placas RP2040 y el IDE de Arduino. Nuestra única solución fue cerrar el IDE de Arduino y usar otra aplicación para abrir una terminal serial. El mismo problema afectó nuestra prueba de la IMU, por lo que abrimos el terminal en serie, reiniciamos la placa y vimos los datos sin procesar del acelerómetro desplazándose por la pantalla. Más tarde descubrimos que el problema radicaba en nuestro sistema operativo, Ubuntu 18.04, teníamos que desinstalar modemmanager para poder ver los datos seriales en el puerto. Este problema no ha afectado a ninguna de nuestras otras placas oficiales y clónicas.
También probamos el micrófono integrado, el mismo modelo que se usa en el Nano 33 IoT. Seguimos la documentación oficial para mostrar el boceto de prueba al Arduino Nano RP2040 Connect, luego abrimos el Serial Plotter con la esperanza de ver una visualización del sonido. Por desgracia, todo lo que vimos fue un valor de línea plana constante de -128. No pudimos encontrar ninguna guía sobre cómo solucionar este problema.
Tuvimos otros problemas al usar Arduino’s IoT Cloud, un servicio que hemos usado antes con las placas MKR WIFI 1010 y Nano 33 IoT. se detectó nuestro Arduino Nano RP2040 Connect, pero no se pudo configurar. Seguimos la documentación oficial, que en el momento de escribir este artículo parece estar incompleta, y aun así nos quedamos en blanco. Es una verdadera lástima, ya que IoT Cloud es el nuevo servicio de Arduino que permite crear y monitorear «cosas» (proyectos) de IoT a través de una interfaz web. Lo más probable es que sean problemas iniciales por ahora, y algo que se solucionará en el futuro. Por ahora, el fabricante inteligente se quedará con los IDE de escritorio.
Probablemente esté pensando que este es un RP2040, ¿entonces puedo ejecutar otros lenguajes de programación? ¡Correcto! Podemos usar CircuitPython y MicroPython con Arduino Nano RP2040, la advertencia es que necesitará obtener sus propias bibliotecas para el micrófono integrado, IMU y WiFi. Existe una peculiaridad entre la numeración de pines y el número GPIO real. El número de pin de Arduino, utilizado en el IDE de Arduino para un pin, es D2, pero el pin RP2040 es GPIO25. Otro ejemplo es que el LED integrado es D13, pero en nuestras pruebas de MicroPython era GPIO 6.
Probamos el Arduino Nano RP2040 Connect con CircuitPython y fue una experiencia mucho más placentera y gracias a la gran cantidad de bibliotecas, especialmente la biblioteca ESP32SPI, rápidamente tuvimos el Arduino Nano RP2040 Connect en línea y recibiendo datos de una API remota. También probamos con MicroPython y se comportó de la misma manera que un Raspberry Pi Pico, pero no teníamos controladores para usar el Wi-Fi integrado.
Aquí es donde notamos una peculiaridad que nos impedía preparar la placa para aceptar el nuevo firmware. Por lo general, reiniciamos la placa y presionamos BOOTSEL. Para Arduino Nano RP2040 Connect, presionaríamos dos veces el botón de reinicio, pero esto no funcionó. Después de buscar ayuda en Twitter, nos dijeron que podíamos conectar los pines REC y GND para forzar a la placa a entrar en el modo.
Casos de uso para Arduino Nano RP2040 Connect
El caso de uso más obvio es un dispositivo IoT y esto se hace bastante sencillo a través de Arduino IoT Cloud. Con IoT Cloud podemos crear rápidamente aplicaciones GUI para leer datos desde un dispositivo remoto. Por ejemplo, podemos crear una estación meteorológica usando Arduino Nano RP2040 Connect y tener datos en vivo transmitidos a la nube a los que se puede acceder desde cualquier dispositivo conectado a la web.
La misma interfaz de usuario de Arduino IoT Cloud se puede usar para controlar de forma remota el Arduino Nano RP2040 Connect, por ejemplo, un robot controlado por web no sería mucho más difícil de construir que un robot no habilitado para web.
Si no eres usuario de Arduino IoT Cloud, aún puedes aprovechar al máximo esta placa utilizando el IDE tradicional. Hay bibliotecas disponibles para HTTP, MQTT y Bluetooth que existen desde hace algún tiempo y se pueden portar para ejecutarse en el RP2040. Con estas bibliotecas podemos construir robots controlados por la web, estaciones meteorológicas inalámbricas, etc.
Línea de fondo
Todo se reduce al precio. Si necesita Wi-Fi y el RP2040, el Arduino Nano RP2040 Connect es una pieza sólida de hardware, pero es más costoso que cualquier otra solución RP2040 que hayamos probado, incluida la compra de un Raspberry Pi Pico y un Pimoroni Pico Wireless. El costo adicional nos da acceso a los pines GPIO, que lamentablemente están bloqueados con Pico Wireless. Si necesita el paquete más pequeño posible para un proyecto de IoT integrado, entonces esta podría ser la placa, pero en este momento la documentación no cumple con los estándares habituales de Arduino a pesar de que esta es la última placa en la primera ola de dispositivos alimentados por RP2040.
Las entradas analógicas adicionales significan que el Arduino Nano RP2040 Connect tiene la mayor parte de cualquier dispositivo RP2040, útil para conectar muchos componentes diferentes. El dinero inteligente para aquellos que desean conectar su proyecto RP2040 al mundo es con esta placa, pero ¿por cuánto tiempo? La propia placa RP2040 de Seeed viene con Wi-Fi y se espera que se venda al por menor por la mitad del precio del Arduino.