The Nicla Vision is a compact, high-performance vision sensor designed for embedded applications. It features advanced image processing capabilities, making it ideal for edge computing and IoT projects. With its small form factor and powerful onboard processing, the Nicla Vision is perfect for applications such as object detection, facial recognition, barcode scanning, and environmental monitoring. Its versatile connectivity options allow seamless integration into a wide range of systems.
The Nicla Vision is equipped with cutting-edge hardware to support demanding vision-based tasks. Below are its key technical details:
The Nicla Vision features a 16-pin header for interfacing with external devices. Below is the pinout:
Pin | Name | Type | Description |
---|---|---|---|
1 | VIN | Power Input | Input voltage (3.7V Li-Po or 5V USB-C) |
2 | GND | Ground | Ground connection |
3 | SDA | I2C Data | I2C data line |
4 | SCL | I2C Clock | I2C clock line |
5 | TX | UART Transmit | UART transmit line |
6 | RX | UART Receive | UART receive line |
7 | SPI_MOSI | SPI Data Out | SPI Master Out, Slave In |
8 | SPI_MISO | SPI Data In | SPI Master In, Slave Out |
9 | SPI_SCK | SPI Clock | SPI clock line |
10 | SPI_CS | SPI Chip Select | SPI chip select |
11 | GPIO1 | Digital I/O | General-purpose input/output |
12 | GPIO2 | Digital I/O | General-purpose input/output |
13 | ADC | Analog Input | Analog-to-digital converter input |
14 | PWM | PWM Output | Pulse-width modulation output |
15 | INT | Interrupt | External interrupt input |
16 | RST | Reset | Reset pin |
The Nicla Vision is designed for easy integration into embedded systems. Follow these steps to use it in your project:
Below is an example of interfacing the Nicla Vision with an Arduino UNO via I2C:
SDA
on Nicla Vision to A4
on Arduino UNO.SCL
on Nicla Vision to A5
on Arduino UNO.GND
on Nicla Vision to GND
on Arduino UNO.#include <Wire.h>
// I2C address of Nicla Vision
#define NICLA_VISION_ADDR 0x3C
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Start serial communication for debugging
// Check if Nicla Vision is connected
Wire.beginTransmission(NICLA_VISION_ADDR);
if (Wire.endTransmission() == 0) {
Serial.println("Nicla Vision connected!");
} else {
Serial.println("Failed to connect to Nicla Vision.");
}
}
void loop() {
// Example: Request data from Nicla Vision
Wire.requestFrom(NICLA_VISION_ADDR, 6); // Request 6 bytes of data
while (Wire.available()) {
char c = Wire.read(); // Read each byte
Serial.print(c); // Print received data
}
delay(1000); // Wait 1 second before next request
}
Q: Can the Nicla Vision operate standalone without a host microcontroller?
A: Yes, the onboard STM32H747 microcontroller allows standalone operation with custom firmware.
Q: What is the maximum frame rate of the camera?
A: The OV5640 sensor supports up to 30 FPS at full resolution.
Q: How do I update the firmware?
A: Use the Arduino IDE or STM32CubeProgrammer to upload new firmware via USB-C.
By following this documentation, you can effectively integrate the Nicla Vision into your projects and leverage its powerful vision capabilities.