The Arduino Nicla Voice is a purpose-built always-on voice recognition board in the compact 22.86 × 22.86 mm Nicla form factor. It is designed around the Syntiant NDP120 Neural Decision Processor — a dedicated AI inference chip engineered specifically for ultra-low-power audio keyword spotting and sound event detection.
The NDP120 runs voice recognition models and sound classifiers at under 1 mA, allowing the board to listen continuously without draining battery power. The Nordic nRF52832 (ARM Cortex-M4 at 64 MHz) serves as the host MCU for application logic and Bluetooth 5.0 LE communication — but it only wakes up when the NDP120 detects a configured keyword or audio event.
This interrupt-driven architecture makes the Nicla Voice ideal for battery-powered devices requiring always-on voice control without the power budget of a full application processor. It integrates tightly with Edge Impulse for training and deploying custom keyword and sound recognition models directly onto the NDP120.
| Property | Value |
| MCU | Nordic nRF52832 (Cortex-M4 @ 64 MHz) |
| Neural Processor | Syntiant NDP120 (dedicated audio AI inference) |
| Microphones | 2 × PDM digital MEMS microphones (stereo) |
| IMU | Bosch BMI270 (6-axis accelerometer + gyroscope) |
| Wireless | Bluetooth 5.0 LE (BLE only — no Wi-Fi) |
| Battery | LiPo connector (on-board) |
| NDP120 Power | Under 1 mA for always-on keyword detection |
| Dimensions | 22.86 × 22.86 mm |
| SKU | ABX00061 |
Syntiant NDP120 Neural Decision Processor — dedicated AI chip for audio keyword spotting and sound event detection at under 1 mA
Always-on voice detection: NDP120 monitors audio continuously while the nRF52832 sleeps, waking only on keyword match
Two PDM digital MEMS microphones in stereo configuration for high-quality audio capture
Bosch BMI270 6-axis IMU (accelerometer + gyroscope) for motion-triggered events alongside voice
Nordic nRF52832 ARM Cortex-M4 at 64 MHz for application logic and BLE communication
Bluetooth 5.0 LE for wireless connectivity
LiPo battery connector for standalone untethered deployment
Edge Impulse integration for training and deploying custom wake words and sound classifiers
Pre-trained models available for common keywords ("yes", "no", "go", "stop")
Ultra-compact 22.86 × 22.86 mm square form factor
Suitable for wearables, smart home devices, industrial voice commands, and accessibility applications
| Parameter | Value |
| Host MCU | Nordic nRF52832 |
| MCU Architecture | ARM Cortex-M4 |
| MCU Clock Speed | 64 MHz |
| MCU Flash | 512 KB |
| MCU SRAM | 64 KB |
| Neural Processor | Syntiant NDP120 |
| NDP120 Function | Audio keyword spotting, sound event detection, ML inference |
| NDP120 Power | Under 1 mA (always-on voice detection) |
| Microphones | 2 × PDM digital MEMS (stereo) |
| IMU | Bosch BMI270 (3-axis accel + 3-axis gyro, 6-axis total) |
| Wireless | Bluetooth 5.0 LE |
| Wi-Fi | None |
| Battery Connector | LiPo (on-board connector) |
| Operating Voltage | 3.3V |
| Dimensions | 22.86 × 22.86 mm |
The Nicla Voice exposes I/O via castellated edge pads on the board perimeter, suitable for reflow soldering onto a custom carrier or use with a breakout adapter.
| Signal Group | Description |
| I2C | I2C bus for external peripherals |
| SPI | SPI bus |
| UART | Serial interface |
| GPIO | 3.3V digital I/O pads |
| Power Pads | 3.3V, GND, VUSB, battery pads |
| PDM Microphones | Internal — both microphones are on-board, not external |
| NDP120 | Internal connection to nRF52832 (SPI-based control interface) |
| IMU | Internal I2C connection to BMI270 |
| BLE Antenna | On-board PCB antenna |
| Power Parameter | Value |
| Operating Voltage | 3.3V (all I/O) |
| Input Voltage (USB) | 5V via USB-C (if equipped) or programming interface |
| Battery | LiPo via on-board connector |
| NDP120 Always-On Power | Under 1 mA |
| nRF52832 Deep Sleep | ~2 µA (woken by NDP120 interrupt) |
| BLE Active Transmission | Typical BLE 5.0 peak current (peak ~15 mA during TX) |
The sub-milliamp power consumption of the NDP120 in always-on listening mode is the key power characteristic of this board. The nRF52832 can remain in deep sleep (microamp-level) while the NDP120 runs inference continuously. Battery life depends primarily on BLE transmission duty cycle rather than the listening operation itself.
| Component | Part | Function |
| Host MCU | Nordic nRF52832 | Cortex-M4, application logic, BLE radio |
| Neural Decision Processor | Syntiant NDP120 | Ultra-low-power audio AI inference engine |
| Microphone 1 | PDM MEMS | Primary audio capture (left channel) |
| Microphone 2 | PDM MEMS | Secondary audio capture (right channel) |
| IMU | Bosch BMI270 | 6-axis accelerometer and gyroscope |
| Battery Connector | On-board LiPo connector | Battery-powered operation |
| Status LED | RGB LED | Programmable indicator |
| Feature | Value |
| Core | ARM Cortex-M4 with FPU |
| Clock Speed | 64 MHz |
| Flash | 512 KB |
| SRAM | 64 KB |
| BLE | Integrated Bluetooth 5.0 LE radio |
| Interfaces | SPI, I2C, UART, GPIO |
The NDP120 from Syntiant is an edge inference chip purpose-built for audio keyword detection and small neural network inference at near-zero power.
| Feature | Value |
| Architecture | Syntiant Core 2 neural network accelerator |
| Supported Tasks | Keyword spotting, sound event detection, audio classification |
| Power (always-on) | Under 1 mA during continuous inference |
| Interface to MCU | SPI (NDP120 asserts interrupt to nRF52832 on detection) |
| Model Format | Syntiant model format (trainable via Edge Impulse or Syntiant tools) |
The NDP120 asserts an interrupt line to the nRF52832 when a keyword or sound event is detected. This wakes the nRF52832 from deep sleep, which then handles the response (BLE notification, GPIO trigger, audio playback, etc.).
| Wireless Feature | Value |
| Technology | Bluetooth 5.0 LE |
| Wi-Fi | None |
| Range | Typical BLE range (10–30 m indoors) |
| Library | ArduinoBLE |
| Use Cases | Send voice command results to smartphone or gateway, remote monitoring |
Arduino IDE 2.x
Install the Arduino Mbed OS Nicla Boards package via Boards Manager
Install required Nicla Voice libraries (NDP120 driver, available from Arduino)
Edge Impulse account (for custom keyword training)
USB-C cable (data-capable)
Open Arduino IDE
Go to Tools > Board > Boards Manager
Search for "Arduino Mbed OS Nicla Boards" and install
Select Tools > Board > Arduino Nicla Voice
Connect via USB-C
Select the correct port
#include "NDP.h"
void setup() {
Serial.begin(115200);
while (!Serial);
Serial.println("Arduino Nicla Voice starting...");
NDP.begin("model.synpkg");
NDP.onMatch([](const char* label, float score) {
Serial.print("Keyword detected: ");
Serial.print(label);
Serial.print(" (score: ");
Serial.print(score);
Serial.println(")");
});
Serial.println("Listening for keywords...");
}
void loop() {
NDP.poll();
}
#include "NDP.h"
#include <ArduinoBLE.h>
BLEService voiceService("19B10000-E8F2-537E-4F6C-D104768A1214");
BLEStringCharacteristic keywordChar(
"19B10001-E8F2-537E-4F6C-D104768A1214",
BLERead | BLENotify, 32
);
void setup() {
Serial.begin(115200);
BLE.begin();
BLE.setLocalName("NiclaVoice");
BLE.setAdvertisedService(voiceService);
voiceService.addCharacteristic(keywordChar);
BLE.addService(voiceService);
BLE.advertise();
NDP.begin("model.synpkg");
NDP.onMatch([](const char* label, float score) {
Serial.println(label);
keywordChar.writeValue(String(label));
});
}
void loop() {
BLEDevice central = BLE.central();
NDP.poll();
}
| Environment | Details |
| Arduino IDE | C++ with NDP120 library and ArduinoBLE |
| Edge Impulse | Train custom wake-word and sound-classifier models, deploy to NDP120 |
| Syntiant Model Tools | Advanced model creation using Syntiant's NDP120 toolchain |
Create a project on Edge Impulse and select Arduino Nicla Voice as the target
Record or upload audio samples for each keyword class
Train the model using Edge Impulse's audio classifier pipeline
Export the model as a Syntiant NDP120 firmware package
Flash the model to the NDP120 using the provided upload tool
Run the detection loop in the Arduino sketch
| Item | Quantity |
| Arduino Nicla Voice board | 1 |
A USB-C cable and LiPo battery are sold separately.
Always-on wake-word detection ("Hey Arduino", "Hey Google", custom words)
Voice-controlled appliances and smart home devices
Industrial voice command interfaces (hands-free operation in factories)
Accessibility devices (voice-operated assistive technology)
Sound event detection (glass break, smoke alarm, machine fault sounds)
Battery-powered voice-activated IoT nodes
Wearables with voice interaction
Edge AI audio classification for quality monitoring
Amazon — search for Arduino Nicla Voice
| Board | Key Difference |
| Arduino Nicla Sense ME | No voice/audio — full Bosch environmental and motion sensor suite |
| Arduino Nicla Vision | Camera + STM32H747 for vision ML, no dedicated audio neural processor |
| SparkFun Edge 2 (Apollo3) | Different MCU, no dedicated NDP neural processor |
All I/O on the Nicla Voice operates at 3.3V logic. Do not connect 5V peripherals to the pads.
The NDP120 runs keyword and sound detection at under 1 mA — this is the key power advantage. The nRF52832 deep-sleep current is in the microamp range, making battery life primarily dependent on how often BLE is active.
Custom keyword models must be trained and compiled for the NDP120 architecture. Edge Impulse provides the easiest workflow; raw Syntiant toolchain use requires more expertise.
The board has no Wi-Fi radio. All wireless communication is BLE 5.0 only.
The two PDM microphones are positioned for stereo capture; beamforming or directional audio processing can be implemented in the NDP120 model or post-processed in software.
| Version | Date | Notes |
| v1.0 | 2026-06 | Initial entry |