Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use Nicla vision: Examples, Pinouts, and Specs

Image of Nicla visionDesign with Nicla vision in Cirkit Designer

Introduction

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.

Explore Projects Built with Nicla vision

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Arduino Uno R3 Controlled Pan-Tilt Security Camera with Night Vision: A project utilizing Nicla vision in a practical application
Arduino Uno R3 Controlled Pan-Tilt Security Camera with Night Vision

This circuit features an Arduino Uno R3 microcontroller connected to a Huskylens (an AI camera module), an IR LED Night Vision Ring, and a Tilt Pan module. The Huskylens is interfaced with the Arduino via I2C communication using the SDA and SCL lines, while the Tilt Pan module is controlled by the Arduino through digital pins 10 and 11 for signal and output control. The IR LED ring and Tilt Pan are powered directly from the Arduino's 5V output, and all components share a common ground.

Open Project in Cirkit Designer
Image of Beelink Mini S12 N95 and Arduino UNO Based Fingerprint Authentication System with ESP32 CAM: A project utilizing Nicla vision in a practical application
Beelink Mini S12 N95 and Arduino UNO Based Fingerprint Authentication System with ESP32 CAM

This circuit features a Beelink MINI S12 N95 computer connected to a 7-inch display via HDMI for video output and two USB connections for power and touch screen functionality. An Arduino UNO is interfaced with a fingerprint scanner for biometric input. The Beelink MINI S12 N95 is powered by a PC power supply, which in turn is connected to a 240V power source. Additionally, an ESP32 CAM module is powered and programmed via a USB plug and an FTDI programmer, respectively, for wireless camera capabilities.

Open Project in Cirkit Designer

Technical Specifications

The Nicla Vision is equipped with cutting-edge hardware to support demanding vision-based tasks. Below are its key technical details:

Key Features

Pin Configuration and Descriptions

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

Usage Instructions

The Nicla Vision is designed for easy integration into embedded systems. Follow these steps to use it in your project:

Basic Setup

  1. Power the Device: Connect a 3.7V Li-Po battery or use a USB-C cable to supply 5V power.
  2. Connect to a Host: Use the I2C, SPI, or UART interface to communicate with a microcontroller or computer.
  3. Install Libraries: If using an Arduino IDE, install the required libraries for Nicla Vision from the Arduino Library Manager.

Example: Connecting Nicla Vision to Arduino UNO

Below is an example of interfacing the Nicla Vision with an Arduino UNO via I2C:

Wiring

Code Example

#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
}

Important Considerations

Troubleshooting and FAQs

Common Issues

  1. Device Not Detected via I2C:
    • Solution: Check the wiring and ensure the correct I2C address is used. Verify pull-up resistors are in place.
  2. No Image Data Received:
    • Solution: Ensure the camera is initialized correctly in your code. Check the power supply and connections.
  3. Overheating:
    • Solution: Verify the power supply voltage and current are within the specified range. Avoid prolonged operation in high-temperature environments.

FAQs

By following this documentation, you can effectively integrate the Nicla Vision into your projects and leverage its powerful vision capabilities.