Arduino Nicla Vision: AI and Vision for the Edge
A compact, powerful board for embedded machine learning and computer vision projects, featuring an NXP ARM Cortex-M7 microcontroller and a camera sensor.

The Arduino Nicla Vision is a cutting-edge microcontroller board designed for edge AI and computer vision applications. Released in 2022 as part of Arduino's professional line, it bridges the gap between simple microcontrollers and more complex embedded systems, offering significant processing power and integrated camera capabilities in a small form factor. This board is ideal for makers, students, and engineers looking to develop intelligent, vision-enabled devices that can operate autonomously without constant cloud connectivity.
At its core, the Nicla Vision is powered by the NXP i.MX RT1062, a high-performance crossover processor. This chip features a single ARM Cortex-M7 core running at a substantial clock speed, providing the computational muscle required for running machine learning models and processing image data directly on the device. This makes it significantly more powerful than many standard Arduino boards, enabling complex tasks like object detection, image classification, and real-time analysis.
Positioned within Arduino's professional IoT portfolio, the Nicla Vision complements other boards like the Nicla Sense ME, focusing specifically on visual intelligence. It integrates a camera directly onto the board, simplifying hardware setup for vision projects. Its robust feature set and compatibility with the Arduino ecosystem make it accessible to a wide range of users, from those new to embedded AI to experienced developers seeking a compact, powerful platform for rapid prototyping.
This board is particularly suited for applications requiring on-device intelligence and visual processing. Examples include smart surveillance systems, industrial automation with visual inspection, interactive robotics, and wearable devices that need to interpret their surroundings. The combination of a powerful MCU, integrated camera, and wireless connectivity options makes the Nicla Vision a versatile choice for creating the next generation of smart, connected edge devices.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | NXP i.MX RT1062 |
| Architecture | ARM Cortex-M7 |
| Clock speed | 600 MHz |
| Flash / Storage | 2MB NOR Flash |
| RAM / SRAM | 512KB SRAM |
| Operating voltage | 3.3V |
| Digital I/O pins | 20 (shared with other functions) |
| Analog / ADC | 8-channel 12-bit ADC |
| PWM | Up to 16 channels |
| Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth 5.0 |
| USB | Micro USB (for power and programming) |
| Power input | 5V via Micro USB or VIN pin |
| Dimensions | 22.7mm x 37.7mm |
Pinout & pin functions
| Pin | Function |
|---|---|
| 3V3 | Power output (3.3V) |
| GND | Ground |
| VIN | Power input (5V) |
| RESET | System reset |
| D0 (RX1) | UART1 Receive |
| D1 (TX1) | UART1 Transmit |
| D2 | GPIO |
| D3 | GPIO |
| D4 | GPIO |
| D5 | GPIO |
| D6 | GPIO |
| D7 | GPIO |
| D8 | GPIO |
| D9 | GPIO, PWM |
| D10 | GPIO, PWM |
| D11 | GPIO, PWM |
| D12 | GPIO, PWM |
| D13 | GPIO, SPI CS |
| D14 (SCL) | I2C Clock |
| D15 (SDA) | I2C Data |
| A0 | ADC Channel 0 |
| A1 | ADC Channel 1 |
| A2 | ADC Channel 2 |
| A3 | ADC Channel 3 |
| A4 | ADC Channel 4 |
| A5 | ADC Channel 5 |
| A6 | ADC Channel 6 |
| A7 | ADC Channel 7 |
| SCK | SPI Clock |
| MISO | SPI Master In Slave Out |
| MOSI | SPI Master Out Slave In |
| CAM_D0 | Camera Data 0 |
| CAM_D1 | Camera Data 1 |
| CAM_D2 | Camera Data 2 |
| CAM_D3 | Camera Data 3 |
| CAM_D4 | Camera Data 4 |
| CAM_D5 | Camera Data 5 |
| CAM_D6 | Camera Data 6 |
| CAM_D7 | Camera Data 7 |
| CAM_PCLK | Camera Pixel Clock |
| CAM_VSYNC | Camera Vertical Sync |
| CAM_HSYNC | Camera Horizontal Sync |
| CAM_RST | Camera Reset |
| CAM_PWDN | Camera Power Down |
Wiring & circuit basics
Powering the Arduino Nicla Vision is straightforward, typically done via its Micro USB port, which accepts a standard 5V supply. You can also use the VIN pin for an external 5V power source. The board includes onboard voltage regulators to step this down to the 3.3V required by the i.MX RT1062 microcontroller and its peripherals. It's crucial to ensure your power supply can provide at least 500mA, especially when using Wi-Fi or Bluetooth, to prevent brownouts and ensure stable operation. Avoid supplying more than 5V to the VIN pin or directly to the 3.3V pin, as this can damage the board.
The Nicla Vision operates at a logic level of 3.3V. This means any external components you connect, such as LEDs, sensors, or buttons, must also be compatible with 3.3V logic. Connecting 5V devices directly to GPIO pins can lead to unpredictable behavior or permanent damage. If you need to interface with 5V components, use a logic level shifter. For example, to blink an LED, connect a standard LED (with its anode to the pin) and a current-limiting resistor (typically 220-330 ohms) in series to a digital GPIO pin and then to GND. The resistor protects both the LED and the microcontroller's output pin.
For connecting I2C devices, such as the popular BME280 environmental sensor, use the dedicated SDA (D15) and SCL (D14) pins. Connect the sensor's VCC to the board's 3V3 pin, its GND to the board's GND, its SDA to D15, and its SCL to D14. Ensure your sensor module also operates at 3.3V. The Nicla Vision's onboard peripherals and extensive GPIO offer flexibility for various sensor and actuator integrations, always remembering the 3.3V logic level constraint.
Programming & getting started
The Arduino Nicla Vision is primarily programmed using the Arduino IDE, which provides a familiar and accessible environment for embedded development. After installing the necessary board support package for the Nicla Vision (available through the Board Manager), you can write sketches in C/C++ and upload them via the Micro USB port. For more advanced users or specific applications, the NXP SDK and other embedded development frameworks like PlatformIO can also be utilized, offering greater control and optimization.
To get started, connect the Nicla Vision to your computer via USB. Open the Arduino IDE, select 'Arduino Nicla Vision' from the 'Tools > Board' menu, and choose the correct COM port under 'Tools > Port'. Upload a simple 'Blink' sketch, modified to toggle an onboard LED (often pin 13 or a specific onboard LED identifier), to verify your setup. For projects involving the camera or ML, you'll typically use libraries provided by Arduino or NXP, often requiring specific setup instructions within the IDE.