Arduino Nicla Vision
Image Gallery






Overview
The Arduino Nicla Vision is a compact machine vision board designed for edge AI applications. Measuring just 22.86 × 22.86 mm, it packs a 2-megapixel CMOS camera sensor, a dual-core STM32H747AII6 processor (ARM Cortex-M7 at 480 MHz and Cortex-M4 at 240 MHz), Wi-Fi, Bluetooth 5.0, a Time-of-Flight distance sensor, a PDM microphone, and a 6-axis IMU onto a form factor small enough to embed in most devices.
The Nicla Vision is the camera-equipped member of the Nicla family. It supports OpenMV — a high-level machine vision framework for MicroPython — enabling object detection, face recognition, color tracking, QR code reading, and custom TensorFlow Lite Micro inference without writing low-level camera drivers. It can also be programmed via the Arduino framework on the M7 core.
The combination of camera, Wi-Fi/BLE, and compact size makes it ideal for smart cameras, industrial inspection systems, gesture-based interfaces, and any application requiring vision-based intelligence at the edge.
Quick Overview
| Property | Value |
|---|---|
| MCU | STM32H747AII6 (Cortex-M7 @ 480 MHz + Cortex-M4 @ 240 MHz) |
| Camera | 2 MP OV5647 CMOS (with built-in ISP) |
| IMU | LSM6DSOX (6-axis accelerometer + gyroscope) |
| Microphone | MP34DT06JTR PDM MEMS microphone |
| Distance Sensor | VL53L1CBV0FY/1 Time-of-Flight (up to 4 m) |
| Wireless | Wi-Fi 802.11 b/g/n + Bluetooth 5.0 (Murata LBAD0ZZ1WA) |
| USB | USB-C |
| Battery | LiPo connector |
| Dimensions | 22.86 × 22.86 mm |
| SKU | ABX00051 |
Key Features
- STM32H747AII6 dual-core processor: Cortex-M7 at 480 MHz for application and vision, Cortex-M4 at 240 MHz for real-time tasks
- 2 MP OV5647 CMOS camera sensor with built-in ISP (same sensor as original Raspberry Pi Camera Module)
- OpenMV support for high-level machine vision programming in MicroPython
- TensorFlow Lite Micro support for on-device neural network inference
- LSM6DSOX 6-axis IMU (accelerometer + gyroscope) with machine learning core
- MP34DT06JTR PDM MEMS microphone for audio capture and sound event detection
- VL53L1CBV0FY/1 Time-of-Flight sensor measuring distances up to 4 meters
- Murata LBAD0ZZ1WA providing Wi-Fi 802.11 b/g/n and Bluetooth 5.0
- LiPo battery connector for untethered battery-powered operation
- USB-C for programming and power
- Extremely compact 22.86 × 22.86 mm square form factor
Technical Specifications
| Parameter | Value |
|---|---|
| Microcontroller | STM32H747AII6 |
| Core 1 | ARM Cortex-M7 @ 480 MHz (with FPU) |
| Core 2 | ARM Cortex-M4 @ 240 MHz (with FPU) |
| Camera Sensor | OV5647 (2 MP CMOS, with ISP) |
| IMU | ST LSM6DSOX (3-axis accelerometer + 3-axis gyroscope) |
| Microphone | MP34DT06JTR PDM MEMS (digital audio) |
| Distance Sensor | VL53L1CBV0FY/1 Time-of-Flight (up to 4000 mm) |
| Wireless Module | Murata LBAD0ZZ1WA |
| Wi-Fi Standard | 802.11 b/g/n (2.4 GHz) |
| Bluetooth | 5.0 |
| USB | USB-C |
| Battery Connector | LiPo connector (on-board) |
| Operating Voltage | 3.3V |
| Dimensions | 22.86 × 22.86 mm |
Pinout
The Nicla Vision exposes I/O via castellated edge pads, suitable for soldering directly onto a baseboard or using a breakout adapter.
| Signal Group | Description |
|---|---|
| I2C | I2C bus for external peripheral sensors |
| SPI | SPI bus |
| UART | Serial interface |
| GPIO | 3.3V digital I/O pads |
| ADC | Analog input |
| Power Pads | 3.3V, GND, VUSB, battery |
| Camera | Internal connection to OV5647 (not external) |
| PDM Microphone | Internal connection (MP34DT06JTR) |
| ToF Sensor | Internal I2C connection (VL53L1) |
Power
| Power Parameter | Value |
|---|---|
| Operating Voltage | 3.3V (all I/O) |
| Input Voltage (USB) | 5V via USB-C |
| Battery | LiPo via on-board connector |
| M7 + Camera Active Power | Higher power state for vision processing |
| Low-Power Mode | M4 can remain active while M7 sleeps |
The Nicla Vision is a 3.3V board. Do not connect 5V peripherals to the I/O pads. When running camera capture and Wi-Fi simultaneously, power consumption is significant; battery life in always-on vision mode will be limited. Use sleep modes and duty cycling for battery-powered deployments.
On-Board Components
| Component | Part | Function |
|---|---|---|
| Microcontroller | STM32H747AII6 | Dual-core M7 + M4, main processor |
| Camera | OV5647 (2 MP) | CMOS image sensor with integrated ISP |
| IMU | LSM6DSOX | 6-axis accelerometer and gyroscope with ML core |
| Microphone | MP34DT06JTR | PDM MEMS digital microphone |
| Distance Sensor | VL53L1CBV0FY/1 | Time-of-Flight ranging up to 4 m |
| Wireless Module | Murata LBAD0ZZ1WA | Wi-Fi 802.11 b/g/n + Bluetooth 5.0 |
| USB-C | On-board | Programming and power |
| Battery Connector | On-board | LiPo battery input |
| Status LED | RGB LED | Programmable status indicator |
Microcontroller
The STM32H747AII6 is a variant of the STM32H747 family, sharing the same dual-core architecture used in the Portenta H7 and Portenta X8, but in a BGA package optimized for the Nicla form factor.
| Core | Details |
|---|---|
| Cortex-M7 | 480 MHz, FPU, main vision and application processing |
| Cortex-M4 | 240 MHz, FPU, secondary real-time or sensor processing |
The M7 handles camera capture, OpenMV processing, and Wi-Fi/BLE management. The M4 can handle real-time sensor reading and other low-latency tasks independently. In OpenMV mode, MicroPython runs on the M7 core and directly accesses camera and sensor APIs.
Wireless Connectivity
| Wireless Feature | Value |
|---|---|
| Module | Murata LBAD0ZZ1WA |
| Wi-Fi | 802.11 b/g/n (2.4 GHz) |
| Bluetooth | 5.0 |
| Library (Arduino) | WiFi (via Arduino Mbed OS Nicla core) |
| Library (OpenMV) | network module (MicroPython) |
| Use Cases | Image upload to cloud, MQTT telemetry, BLE data streaming |
Getting Started
Prerequisites
- Arduino IDE 2.x (for Arduino framework) OR OpenMV IDE (for MicroPython/OpenMV)
- Install the Arduino Mbed OS Nicla Boards package via Boards Manager
- USB-C cable (data-capable)
- For OpenMV: Download and install the OpenMV IDE from openmv.io
Blink Example (Arduino Framework, M7 Core)
Camera Snapshot and Color Tracking (OpenMV / MicroPython)
Programming
| Environment | Language | Notes |
|---|---|---|
| Arduino IDE | C++ | Full framework support for M7 and M4 cores |
| OpenMV IDE | MicroPython | High-level camera, ML, and sensor APIs |
| TensorFlow Lite Micro | C++ | Custom ML model inference on M7 |
| Edge Impulse | C++ | Train and deploy gesture/image classification models |
Package Contents
| Item | Quantity |
|---|---|
| Arduino Nicla Vision board | 1 |
A USB-C cable and LiPo battery are sold separately.
Applications
- Smart cameras for object detection and classification
- Industrial quality inspection and defect detection
- Face detection and recognition
- QR code and barcode scanning
- Color sorting and tracking systems
- Gesture-controlled interfaces (combined with IMU)
- Presence detection using Time-of-Flight sensor
- Sound event detection (glass break, alarm) with the on-board microphone
- Drone and UAV-mounted vision systems
- Wearable cameras with edge AI
Where to Buy
- Arduino Official Store — official source
- Amazon — search for Arduino Nicla Vision
Equivalent Boards
| Board | Key Difference |
|---|---|
| Arduino Nicla Sense ME | No camera — full Bosch environmental sensor suite instead |
| Arduino Nicla Voice | No camera — NDP120 for audio/voice keyword detection |
| Arduino Portenta H7 + Vision Shield | Larger Portenta form factor, same STM32H747 MCU, uses MIPI CSI camera |
| OpenMV Cam H7 Plus | Similar OpenMV capabilities, different form factor, no BLE/Wi-Fi on same chip |
Documentation
Notes
- All I/O pads on the Nicla Vision operate at 3.3V logic. Do not apply 5V signals.
- The OV5647 camera sensor is fixed to the board and is not detachable. The lens focus is factory-set; it is not adjustable on the standard version.
- OpenMV firmware and Arduino firmware are mutually exclusive. Flashing OpenMV replaces the Arduino bootloader layer for the M7; reflashing with Arduino IDE restores Arduino operation.
- The VL53L1 Time-of-Flight sensor has a maximum range of approximately 4 meters under ideal conditions. Performance in bright sunlight or on reflective surfaces will vary.
- The on-board PDM microphone can be used for voice commands and sound event detection. For best results, implement a simple bandpass filter to reduce board-level noise.
Community
- Arduino Forum — official community
- Arduino Discord — real-time chat
- r/arduino (Reddit) — community
- Arduino Project Hub — projects
Revision History
| Version | Date | Notes |
|---|---|---|
| v1.0 | 2026-06 | Initial entry |
