Arduino Nicla Vision
⚡ Lo esencial en 60 segundos
- soc — STM32H747AII6 (STM32H747XI family): dual Arm Cortex-M7 @ up to 480 MHz + Cortex-M4 @ up to 240 MHz, FPU, MPU, dual-bank flash up to 2 MB, up to 1 MB RAM (192 KB TCM + up to 864 KB user SRAM + 4 KB backup SRAM), 3× ADC, 2× DAC, RNG, 4× DFSDM — (fetched 2026-10-13); board-level part number confirmed by (fetched 2026-10-13).
- gpu — none (DCMI-parallel camera path, no 3D accelerator).
- storage — 2 MB MCU flash + external QSPI NOR flash: MicroPython's board config declares a 2^27-bit (16 MB / 128 Mbit) chip with 88 Mbit exposed as filesystem, reserving 4 MiB romfs + 1 MiB Wi-Fi/BT firmware — (fetched 2026-10-13). QSPI pins (PD11/PF9/PE2/PD13/PF10/PG6) in variants/NICLA_VISION/pins_arduino.h of ArduinoCore-mbed.
- camera — GalaxyCore GC2145, 2 MP color, RGB565/gray output. The official docs state "The board uses the GC2145, a 2MP color camera" ( and the Camera library instantiates GC2145 galaxyCore for ARDUINO_NICLA_VISION — (fetched 2026-10-13).
- sensors — LSM6DSOXTR smart 6-axis IMU (3D gyroscope + 3D accelerometer, on-board ML capable) on SPI1, interrupt PA_1 (docs page + pins_arduino.h); MP34DT06JTR omnidirectional digital PDM MEMS microphone (docs page); distance sensor (ToF) —
- wireless — Wi-Fi (2.4 GHz) + Bluetooth Low Energy via an on-board module wired to SDMMC2 (SDIO) for Wi-Fi and UART1 (BT_TXD/RXD/RTS/CTS) for BT per MicroPython's board header (URL above); the module is widely reported to be an ESP32-family part.
- En esta placa : 9 tutoriales · 10 código
La Arduino Nicla Vision es una placa de desarrollo de dimensiones extremadamente reducidas, midiendo apenas 22,86 × 22,86 milímetros, diseñada específicamente para aplicaciones de visión artificial y aprendizaje automático en el borde, es decir, procesando datos directamente en el dispositivo sin depender siempre de la nube. Fabricada por Arduino S.p.A., una empresa italiana de hardware de código abierto que, según fuentes recientes, ha sido adquirida por Qualcomm, esta tarjeta representa un hito en la miniaturización de sistemas embebidos potentes. Lanzada al mercado en 2021, la Nicla Vision se distingue por integrar en un formato tan compacto como un sello postal una cámara a color de 2 megapíxeles, un micrófono, sensores de movimiento y conectividad inalámbrica, todo ello gestionado por un microcontrolador de alto rendimiento. Su precio actual en la tienda oficial es de 89,80 euros, aunque el precio de lanzamiento ha sido objeto de especulación al no haberse podido verificar una fuente autorizada para la cifra inicial.
El corazón de esta placa es el sistema en un chip (SoC) STM32H747AII6 de la familia STM32H747XI. Para entender su potencia, es útil explicar qué significa esto: el chip posee dos núcleos de procesamiento de arquitectura Arm Cortex. El núcleo principal, un Cortex-M7, puede funcionar a una frecuencia de hasta 480 MHz, lo que indica cuántos ciclos de instrucciones puede ejecutar por segundo; una frecuencia más alta generalmente permite procesar datos más rápido. Junto a él, un segundo núcleo, el Cortex-M4, opera a hasta 240 MHz y puede trabajar en paralelo, permitiendo dividir tareas, como manejar la interfaz de usuario en un núcleo y el procesamiento de imágenes en el otro. Esta arquitectura dual está respaldada por 1 MB de memoria RAM y hasta 2 MB de memoria flash interna, lo que proporciona el espacio necesario para almacenar el código y los datos temporales de las aplicaciones. Además, la placa incluye una memoria flash externa QSPI NOR de 16 MB, de la cual se exponen 88 Mbit como sistema de archivos, ideal para guardar modelos de inteligencia artificial o imágenes capturadas.
En cuanto al sistema de visión, la Nicla Vision utiliza un sensor de imagen GalaxyCore GC2145. Es importante aclarar que este sensor de 2 MP a color no es el mismo que el sensor Himax HM01B0, que se encuentra en otras placas como la Portenta Vision Shield, y que utiliza un obturador global. El GC2145 entrega datos en formatos RGB565 o escala de grises. La placa también integra una unidad de medición inercial (IMU) LSM6DSOXTR, que combina un giroscopio y un acelerómetro de tres ejes, capaz de realizar detección de gestos mediante aprendizaje automático directamente en el sensor, liberando al procesador principal. Asimismo, cuenta con un micrófono digital omnidireccional MP34DT06JTR y un sensor de distancia por tiempo de vuelo (ToF), aunque el número de parte exacto de este último no ha sido confirmado oficialmente por Arduino, quien solo lo describe genéricamente como "sensor de distancia".
La conectividad es otro de sus puntos fuertes. La placa incluye un módulo inalámbrico que soporta Wi-Fi en la banda de 2,4 GHz y Bluetooth de Baja Energía (BLE). Aunque se reporta ampliamente que este módulo pertenece a la familia ESP32, la documentación oficial solo confirma la presencia de estas tecnologías sin especificar el fabricante del chip de radio. La comunicación con estos módulos se realiza a través de interfaces internas específicas: el Wi-Fi utiliza el bus SDMMC2 y el Bluetooth el puerto serie UART1. Para la conexión con el ordenador, la Nicla Vision utiliza un puerto micro-USB que soporta USB de Alta Velocidad mediante un transceptor físico ULPI, una característica rara en placas de este tamaño y que permite transferencias de datos más rápidas, útiles para enviar imágenes capturadas.
El desarrollo de software para la Nicla Vision es flexible. Soporta oficialmente el núcleo Arduino basado en Mbed OS, que permite programar en C/C++ y gestionar ambos núcleos del procesador mediante funciones específicas como bootM4. También cuenta con un puerto oficial de MicroPython, un lenguaje de programación interpretado que simplifica el desarrollo, donde el sistema de archivos reside en la memoria flash externa. Además, es compatible con entornos de desarrollo de aprendizaje automático como OpenMV y Edge Impulse, este último ofreciendo tutoriales específicos para proyectos como la detección de somnolencia en conductores o el conteo de contenedores. La placa está diseñada para ser compatible con el ecosistema de accesorios Arduino Portenta y MKR, utilizando conectores de borde tipo castellado.
Sin embargo, los usuarios deben ser conscientes de ciertas limitaciones y problemas conocidos. Un ejemplo destacado es que la resolución de imagen está limitada por la memoria RAM disponible; la biblioteca de cámara indica que las resoluciones superiores a 320×240 píxeles requieren memoria RAM externa (SDRAM), la cual no está presente en la Nicla Vision, a diferencia de otras placas más grandes. Por lo tanto, se recomienda planificar el uso de buffers de tamaño QVGA. Otro problema documentado es un conflicto de compilación en el ejemplo de parpadeo de LED debido a una definición de macro que colisiona con librerías del sistema, un error abierto desde 2023. También existe una peculiaridad con el reloj en tiempo real (RTC), que puede perder la configuración del calendario tras un reinicio duro debido a cómo el gestor de arranque MCUboot gestiona la fuente de reloj. Finalmente, aunque Google demostró ChromeOS en esta placa en 2021, los repositorios de firmware asociados ya no están disponibles, por lo que esa vía de desarrollo debe considerarse histórica y no una ruta de instalación activa. A pesar de estos matices, la Nicla Vision sigue siendo una herramienta activa y potente para prototipar dispositivos inteligentes autónomos de pequeño tamaño.

Esquema de pines (pinout)

| Attr | Especificaciones | verificado |
|---|---|---|
soc | STM32H747AII6 (STM32H747XI family): dual Arm Cortex-M7 @ up to 480 MHz + Cortex-M4 @ up to 240 MHz, FPU, MPU, dual-bank flash up to 2 MB, up to 1 MB RAM (192 KB TCM + up to 864 KB user SRAM + 4 KB backup SRAM), 3× ADC, 2× DAC, RNG, 4× DFSDM — (fetched 2026-10-13); board-level part number confirmed by (fetched 2026-10-13). | ✔ |
gpu | none (DCMI-parallel camera path, no 3D accelerator). | ? sin verificar |
storage | 2 MB MCU flash + external QSPI NOR flash: MicroPython's board config declares a 2^27-bit (16 MB / 128 Mbit) chip with 88 Mbit exposed as filesystem, reserving 4 MiB romfs + 1 MiB Wi-Fi/BT firmware — (fetched 2026-10-13). QSPI pins (PD11/PF9/PE2/PD13/PF10/PG6) in variants/NICLA_VISION/pins_arduino.h of ArduinoCore-mbed. | ✔ |
camera | GalaxyCore GC2145, 2 MP color, RGB565/gray output. The official docs state "The board uses the GC2145, a 2MP color camera" ( and the Camera library instantiates GC2145 galaxyCore for ARDUINO_NICLA_VISION — (fetched 2026-10-13). | ✔ |
sensors | LSM6DSOXTR smart 6-axis IMU (3D gyroscope + 3D accelerometer, on-board ML capable) on SPI1, interrupt PA_1 (docs page + pins_arduino.h); MP34DT06JTR omnidirectional digital PDM MEMS microphone (docs page); distance sensor (ToF) — | ? sin verificar |
wireless | Wi-Fi (2.4 GHz) + Bluetooth Low Energy via an on-board module wired to SDMMC2 (SDIO) for Wi-Fi and UART1 (BT_TXD/RXD/RTS/CTS) for BT per MicroPython's board header (URL above); the module is widely reported to be an ESP32-family part. | ? sin verificar |
usb | micro-USB, USB CDC (VID 0x2341 / PID 0x025F in Arduino core; MicroPython uses PID 0x055F); USB High-Speed via ULPI PHY (MICROPY_HW_USB_HS_ULPI3320, micropython board header). USB_MAX_POWER 500 (pins_arduino.h). | ? sin verificar |
gpio_arduino_core_mapping_pins_arduino_h | (fetched 2026-10-13) — - 22 digital pins D0–D21 (NUM_DIGITAL_PINS 22), 7 analog inputs, 1 analog output (NUM_ANALOG_OUTPUTS 1 → DAC), ADC_RESOLUTION 12. - A0/A1/A2 = pins 15/16/17; RGB LED: LEDR=23, LEDG=24 (=LED_BUILTIN), LEDB=25. - 2× SPI (SPI: MISO10/MOSI8/SCK9/SS7; SPI1: MISO22/MOSI20/SCK21/SS6 — SPI1 is the internal IMU bus), 3× Wire/I²C (external SDA11/SCL12; internal bus PF_0/PF_1 for sensors; second external pair 13/14), 2× UART (Serial1 PA_9/PA_10, Serial2 PB_6/PB_7 with RTS/CTS PA_12/PA_11). - GPIO logic level: | ✔ |
power | 5 V via micro-USB (500 mA budget) or LiPo on the battery JST pads — "can also be battery powered making it standalone" ( | ✔ |
dimensions | 22.86 × 22.86 mm ( | ✔ |
- Fabricante: Arduino (Arduino S.p.A., empresa italiana de hardware de código abierto; según Wikipedia, la empresa es ahora propiedad de Qualcomm) — (consultado el 2026-10-13).
- Placa: Arduino® Nicla Vision, SKU de tienda ABX00051, código de barras 7630049203037, tipo de producto Shopify "SOM (System on Module)" — (consultado el 2026-10-13).
- Año: lanzada en 2021 (es la placa que Google usó a mediados de 2021 para demostrar ChromeOS en un microcontrolador; el anuncio actual de la tienda oficial se creó el 2022-02-24 y se publicó el 2022-03-08 — JSON de la tienda arriba).
- Estado: activa — sigue a la venta en la tienda oficial (consultado el 2026-10-13).
- Precio: €89.80 en store.arduino.cc a fecha de 2026-10-13 ( variants[0].price).
- Variantes: ninguna — existe una única variante por defecto en el JSON de la tienda; la Nicla Sense ME, estrechamente emparentada, es una placa distinta (sin cámara).
+ Puntos fuertes
- Factor de forma visión-artificial-en-un-chip: cámara a color de 2 MP, micrófono PDM, IMU de 6 ejes con ML en el propio sensor (descarga de detección de gestos) y un sensor de distancia en 22.86 × 22.86 mm (páginas de docs + tienda, consultadas el 2026-10-13).
- Potencia dual-core del H7: M7 a 480 MHz + M4 a 240 MHz, FPU/DSP, 1 MB de RAM — el MCU tope de gama de cualquier placa Arduino (página de st.com arriba).
- USB High-Speed (ULPI) — raro en una placa MCU (cabecera de placa de micropython).
- 16 MB de flash QSPI externa para modelos/imágenes (cabecera de placa de micropython).
- Compatibilidad con el ecosistema: "designed to be compatible with all Arduino Portenta and MKR products" (página de la tienda) — borde con pads semiperforados + pines de zócalo estilo MKR.
- Compatible con Arduino Cloud (página de la tienda) y admitida por las librerías MLC, PDM, Camera, Nicla_System del core ( consultado el 2026-10-13).
− Puntos débiles
- Blink_Nicla.ino no compila para la Nicla Vision — el #define Mode 1 de RGBled.h de Nicla_System colisiona con el enum Mode de InterfaceCAN.h de mbed; bug abierto desde 2023-01-30: (consultado el 2026-10-13).
- Fallos de renderizado en el ejemplo de cámara — usuarios reportan fotogramas corruptos con CameraCaptureRawBytes + el CameraRawBytesVisualizer de Processing (problemas de serialidad/endianness), abierto desde 2022-10-04: (consultado el 2026-10-13).
- El RTC corre desde LSI y el calendario se borra en el reset duro — el bootloader MCUboot de serie está compilado con lse_available=false y re-relojea el RTC desde el LSE externo preciso SiT1532 hacia el LSI en cada reset duro; documentado en el comentario de la cabecera de placa de MicroPython (URL arriba, consultado el 2026-10-13).
- Techo de RAM del frame-buffer: la librería Camera indica que las resoluciones superiores a 320×240 necesitan RAM externa (SDRAM.h), que la Nicla Vision no lleva (a diferencia de la Portenta) — ver comentarios en CameraCaptureRawBytes.ino (URL arriba). Planificar buffers de clase QVGA.
- Rastro del firmware ChromeOS perdido: ambos repositorios de GitHub plausibles devuelven 404 (ver Systems), así que el ángulo ChromeOS de 2021 ya no es una ruta mantenida.
- Retour d'expérience expert expert — expert-arduino
- Retour sur la Nicla Vision après plusieurs mois d'utilisation. Le format 22x22mm est bluffant pour une intégration embarquée, et la puissance du dual-core STM32H747 (M7 480MHz + M4) permet de faire tourner du vision assez réactif. Par contre, attention aux pièges documentés. Le bug de compilation a… — expert-arduino
- Salut, merci pour ce retour très clair. Je bute justement sur le problème de l'RTC. J'ai lu que le calendrier se réinitialise à chaque hard reset à cause du bootloader qui force le LSI au lieu du LSE. C'est super gênant pour logguer des données horodatées en mode autonome. Est-ce qu'il y a un worka… — maker_bob_42
- Pour l'RTC, non, il n'y a pas de solution logicielle propre dans l'IDE standard car le bootloader MCUBOOT est configuré avec lse_available=false. Ta seule option fiable est de flasher un bootloader modifié ou d'utiliser une fonctionnalité qui corrige la source d'horloge en dur, mais c'est risqué. P… — vision_hacker
Opiniones y proyectos de la comunidad
- Nicla Vision power supply forum.arduino.cc
- Nicla vision battery forum.arduino.cc
- Nicla Vision firmware missing from Edge Impulse forum.arduino.cc
- I assume my Nicla Vision is now toast forum.arduino.cc
Contenido no disponible todavía.
- Blink_Nicla.ino no compila para la Nicla Vision — el #define Mode 1 de RGBled.h de Nicla_System colisiona con el enum Mode de InterfaceCAN.h de mbed; bug abierto desde 2023-01-30: (consultado el 2026-10-13).
- Fallos de renderizado en el ejemplo de cámara — usuarios reportan fotogramas corruptos con CameraCaptureRawBytes + el CameraRawBytesVisualizer de Processing (problemas de serialidad/endianness), abierto desde 2022-10-04: (consultado el 2026-10-13).
- El RTC corre desde LSI y el calendario se borra en el reset duro — el bootloader MCUboot de serie está compilado con lse_available=false y re-relojea el RTC desde el LSE externo preciso SiT1532 hacia el LSI en cada reset duro; documentado en el comentario de la cabecera de placa de MicroPython (URL arriba, consultado el 2026-10-13).
- Techo de RAM del frame-buffer: la librería Camera indica que las resoluciones superiores a 320×240 necesitan RAM externa (SDRAM.h), que la Nicla Vision no lleva (a diferencia de la Portenta) — ver comentarios en CameraCaptureRawBytes.ino (URL arriba). Planificar buffers de clase QVGA.
- Rastro del firmware ChromeOS perdido: ambos repositorios de GitHub plausibles devuelven 404 (ver Systems), así que el ángulo ChromeOS de 2021 ya no es una ruta mantenida.
- Faire clignoter la LED RGB du Nicla Vision debutant Schéma : IMG-nicla-vision-debutant-1-niclavision-clignotement-led.svg — Nicla Vision vue de dessus avec les trois LED RGB surlignées et les broches LEDR, LEDG, LEDB
- Bouton externe et console série sur le Nicla Vision debutant Schéma : IMG-nicla-vision-debutant-2-niclavision-bouton-console.svg — bouton poussoir avec résistance de pull-up câblé entre la broche D0 et la masse, Nicla Vision alimenté par micro-USB
- Lire le capteur de distance (ToF) embarqué debutant Schéma : IMG-nicla-vision-debutant-3-niclavision-capteur-distance.svg — Nicla Vision avec le capteur ToF en façade émettant un cône de mesure vers un objet à 20 cm et le moniteur série affichant la distance
- Capturer une image avec la caméra GC2145 (DCMI) intermediaire Schéma : IMG-nicla-vision-intermediaire-1-niclavision-capture-camera.svg — Nicla Vision avec la caméra GC2145 reliée au bus parallèle DCMI du STM32H747, une image QVGA transitant vers le port USB
- Diffuser des images JPEG depuis le Nicla Vision intermediaire Schéma : IMG-nicla-vision-intermediaire-2-niclavision-streaming-jpeg.svg — chaîne de diffusion : caméra GC2145, conversion RGB565 vers JPEG sur le PC hôte, navigateur affichant une image JPEG
- Connecter le Nicla Vision au Wi-Fi (module ESP32) intermediaire Schéma : IMG-nicla-vision-intermediaire-3-niclavision-wifi-esp32.svg — Nicla Vision avec son module radio ESP32-N4 relié en SDIO au STM32H747, liaison sans fil vers un point d'accès Wi-Fi 2,4 GHz
- Journaliser dans la flash QSPI 16 Mo (pas de slot TF) avance Schéma : IMG-nicla-vision-avance-1-niclavision-logs-flash-qspi.svg — architecture mémoire du Nicla Vision : STM32H747, bus QSPI vers la puce NOR 16 Mo découpée en zones romfs, firmware radio et journal circulaire
- Fonctionnement sur batterie LiPo et sommeil profond avance Schéma : IMG-nicla-vision-avance-2-niclavision-sommeil-bas-courant.svg — Nicla Vision alimenté par une batterie LiPo sur ses pads JST, chronologie éveil court / sommeil profond entre deux appuis bouton
- Publier une vignette et une image en MQTT avance Schéma : IMG-nicla-vision-avance-3-niclavision-mqtt-upload-image.svg — Nicla Vision capturant une vignette, publiant sur un broker MQTT via Wi-Fi, un abonné recevant les messages base64
Biblioteca de código — ejemplos escritos para esta placa
led_rgb.inoArduinoimu_lsm6dsox.inoArduinotof_distance.inoArduinomicro_pdm.inoArduinocamera_capture.inoArduinowifi_scan.inoArduinoble_service.inoArduinodetection_choc.inoArduinoniveau_cuve.inoArduinohttp_post_imu.inoArduino
Ejemplos y repositorios encontrados en línea
- arduino/ArduinoCore-mbed github.com
- arduino-libraries/Arduino_LowPowerNiclaVision github.com
- ffich/AI-voice-recognition-with-NICLA github.com