Arduino Nicla Voice Pinout: NDP120, nRF52832, Microphone and Sensors

Quick Summary (TL;DR):
The Arduino Nicla Voice is a tiny always-on audio and sensor-AI board built around two very different processors. A u-blox ANNA-B112 module contains the Nordic nRF52832 Cortex-M4F microcontroller and provides Bluetooth Low Energy, while a dedicated Syntiant NDP120 Neural Decision Processor handles low-power speech, acoustic-event and sensor-fusion inference. The board also includes an Infineon IM69D130 PDM microphone, Bosch BMI270 6-axis IMU, BMM150 3-axis magnetometer, 16 MB external flash, RGB LED, Li-Po charger and an external microphone connector. The external digital pins can operate from a programmable 1.8 V or 3.3 V VDDIO_EXT domain, but the two analogue inputs remain 1.8 V. VIN is designed around a 5 V supply. The key architectural idea is that the NDP120 stays awake listening or monitoring sensors at very low power and only wakes or informs the nRF52832 when something meaningful is detected. That makes Nicla Voice a much better fit for wake words, machine-sound classification, gestures and battery-powered event detection than trying to run continuous inference on the BLE microcontroller alone.

Nicla Voice hardware at a glance

FeatureNicla Voice
Main application MCUNordic nRF52832 inside u-blox ANNA-B112
CPU64 MHz Arm Cortex-M4F
Main MCU memory512 KB Flash, 64 KB SRAM
Neural processorSyntiant NDP120 Neural Decision Processor
NDP120 computeSyntiant Core 2 neural engine, HiFi 3 DSP and Arm Cortex-M0 control core
External flash16 MB SPI flash
MicrophoneInfineon IM69D130 digital PDM MEMS microphone
Motion sensorBosch BMI270 3-axis accelerometer + 3-axis gyroscope
MagnetometerBosch BMM150 3-axis magnetic sensor
WirelessBluetooth Low Energy through ANNA-B112 / nRF52832
External interfacesI2C, SPI, low-power digital I/O, two analogue inputs, ESLOV
Audio expansionDedicated external PDM microphone connector
BatterySingle-cell 3.7 V Li-Po/Li-ion support with onboard charger/power management

Nicla Voice is not simply a small Arduino with a microphone. The dedicated NDP120 is the reason the board exists. It can continuously examine audio or motion features without requiring the nRF52832 to spend most of its time awake. That changes both the power budget and the way a good application should be structured.

Arduino Nicla Voice pinout

The Nicla form factor uses two castellated side headers, J1 and J2. J1 carries SPI, two analogue inputs and one low-power GPIO. J2 carries I2C, three more low-power GPIOs, ground, the external I/O reference and VIN.

ConnectorPinFunctionTypeUse
J11LPIO0_EXTDigitalLow-power digital I/O
J12NC—No connection
J13CSDigitalSPI chip select
J14COPIDigitalSPI controller-out / peripheral-in
J15CIPODigitalSPI controller-in / peripheral-out
J16SCLKDigitalSPI clock
J17ADC2AnalogueAnalogue input 2, 1.8 V domain
J18ADC1AnalogueAnalogue input 1, 1.8 V domain
J21SDADigitalI2C data
J22SCLDigitalI2C clock
J23LPIO1_EXTDigitalLow-power digital I/O
J24LPIO2_EXTDigitalLow-power digital I/O
J25LPIO3_EXTDigitalLow-power digital I/O
J26GNDPowerGround
J27VDDIO_EXTPower/referenceExternal logic-level reference
J28NC—No connection
J29VINPowerExternal input, nominally 5 V

Arduino’s MKR-compatibility mapping printed in the datasheet is useful when the Nicla is fitted to a compatible carrier, but do not assume the physical labels behave exactly like a full MKR board. The Nicla exposes a deliberately small number of external signals because much of the hardware is already occupied by its internal AI, audio, sensor and power circuitry.

Voltage levels: the detail most likely to damage the board

The external digital I/O passes through bidirectional level translation. VDDIO_EXT is software-programmable between 1.8 V and 3.3 V, and most exposed digital pins follow that selected logic domain. This is useful when the Nicla must interface with either a low-voltage sensor or a normal 3.3 V controller.

The two analogue inputs are the exception. ADC1 and ADC2 remain 1.8 V signals. Do not treat them as 3.3 V analogue inputs merely because VDDIO_EXT is set to 3.3 V. Use a divider, buffer or external ADC where the source can exceed the analogue input range.

VIN is intended for approximately 5 V operation; the current Arduino datasheet specifies a 3.5 V to 5.5 V range. The USB input is also a 5 V-class supply. The board’s internal power system then generates the lower rails required by the ANNA-B112, NDP120, sensors and level shifters.

nRF52832 and ANNA-B112: what runs your Arduino sketch?

Your normal Arduino application runs on the nRF52832 inside the u-blox ANNA-B112 module. It is a 64 MHz Cortex-M4F with 512 KB of internal flash and 64 KB of SRAM. That is a capable low-power BLE microcontroller, but it is not the chip that should perform continuous neural inference on raw audio.

The nRF52832 is better used as the application controller. It handles Bluetooth communication, your state machine, user logic, sensor/result handling and interaction with external peripherals. When the NDP120 detects a trained event, the nRF52832 can wake, act on the result, advertise a BLE state, log data or trigger another device.

The ANNA-B112 also acts as SPI host for the board’s 16 MB external flash and for communication with the NDP120. That external flash is useful for firmware assets, logged data and machine-learning resources that do not fit comfortably in the nRF52832’s internal program storage.

NDP120: why Nicla Voice can listen all the time

The Syntiant NDP120 is an always-on neural processor designed specifically for low-power audio and sensor inference. Internally it combines Syntiant’s Core 2 deep-neural-network engine, a HiFi 3 DSP and a small Cortex-M0 control processor. It supports multiple concurrent neural networks and can process microphone or sensor data without continuously involving the main nRF52832.

This is exactly the architecture needed for a battery-powered wake-word product. The microphone and NDP120 remain active at a very low duty-power level. Most of the system sleeps. When the neural network recognises the chosen keyword or acoustic event, the NDP120 produces a classification result that the application can act on.

Syntiant positions the NDP120 for tasks including keyword spotting, local command recognition, acoustic-event classification, speaker-related processing and sensor fusion. It is not a cloud speech-to-text processor. A compact local network recognises a defined set of classes or events.

Built-in IM69D130 microphone

The onboard Infineon IM69D130 is a digital MEMS microphone with PDM output. Arduino’s current board documentation specifies a 20 Hz to 20 kHz frequency range and an omnidirectional pickup pattern. The microphone is connected directly into the NDP120 audio path rather than being treated as a generic analogue microphone connected to an ADC.

That is important when designing software. For always-on recognition, use the NDP120 pipeline rather than repeatedly sampling audio in your main sketch. The NDP120 is where the power advantage comes from.

External microphone connector

Nicla Voice also exposes a dedicated J6 external PDM microphone connector. The internal microphone and external microphone use separate PDM channels into the NDP120. This allows a mechanically better-placed microphone or a second microphone path without consuming the normal side-header GPIOs.

Use a compatible digital PDM microphone and check the connector pinout before attaching anything. This is not an analogue microphone jack and should not be wired like one.

BMI270 and BMM150: 9-axis motion context

The BMI270 combines a 3-axis accelerometer and 3-axis gyroscope, while the BMM150 adds three-axis magnetic-field sensing. Together they provide nine axes of inertial and magnetic information. Both sensors are connected to the NDP120 over SPI.

That connection is more interesting than it first appears: the NDP120 can classify sensor data as well as audio. Nicla Voice can therefore be used for gestures, vibration signatures, orientation-related events and predictive-maintenance experiments without forcing every raw sample through the nRF52832.

A practical machine-monitoring node might use the BMI270 to detect vibration patterns, the microphone to detect acoustic changes and the BMM150 to add orientation or magnetic context. The useful result sent over BLE could simply be a class such as normal, bearing noise or unexpected impact.

Bluetooth Low Energy

The ANNA-B112 integrates the nRF52832 radio and antenna system, giving the board Bluetooth Low Energy connectivity without an external wireless module. BLE is a natural companion to always-on edge inference because the board can process locally and transmit only short events or measurements.

Typical BLE payloads might be a detected keyword ID, confidence score, vibration state, battery status or a short history of classified events. This is far more power-efficient than transmitting continuous audio to a phone or gateway.

The Nicla Voice documentation notes differences between the Bluetooth version capabilities of the underlying radio and the Arduino BLE software stack. For normal Arduino development, design against the features exposed by the current ArduinoBLE implementation rather than assuming every radio feature available in the nRF52832 silicon is enabled automatically.

SPI and I2C expansion

The side headers expose one SPI interface and one I2C interface. This is enough for a local display, environmental sensor, external ADC, small storage device or companion controller. Keep the board’s low-power purpose in mind: attaching a permanently powered peripheral can easily consume more current than the Nicla Voice itself.

The ESLOV connector also carries the board’s I2C bus and power, giving a convenient cabled connection to compatible Arduino sensor modules. It is especially useful when the Nicla Voice is mounted mechanically away from the main electronics.

Power consumption and battery operation

Low power is not just a marketing claim here; it is central to the architecture. Arduino’s current datasheet lists approximately 0.46 mA in standby, around 0.80 mA for the factory Alexa demo with BLE off, and roughly 2.4 mA with the demo running, BLE advertising and sensor polling at 1 Hz, measured from a 3.7 V battery. Real projects will differ, but the figures show why the NDP120 exists.

The board supports a single-cell 3.7 V Li-Po/Li-ion battery and includes onboard charging/power management. The battery connector also supports an optional NTC lead for temperature monitoring. Use the correct battery polarity and connector orientation; tiny Nicla connectors are easy to misread when building a custom harness.

For maximum runtime, keep BLE advertising intervals sensible, avoid continuous serial printing, let the NDP120 make the first-stage decision, and wake the nRF52832 only when the application actually needs it.

Arduino IDE setup

  1. Install the current Arduino IDE 2.x release.
  2. Open Boards Manager.
  3. Install or update the Arduino Mbed OS Nicla Boards package.
  4. Connect Nicla Voice with a data-capable micro-USB cable.
  5. Select Arduino Nicla Voice from the board menu.
  6. Upload a simple board or sensor example before installing an AI model.

If a sketch makes the board unreachable over USB, double-tap reset immediately after power-up to enter the bootloader. Recover the board with a known-good simple sketch before returning to NDP120 or BLE work.

Using the Syntiant NDP120 from Arduino

The usual workflow is not to write neural-network math directly in the Arduino loop. Instead, install or train a compatible model, load the required NDP120 firmware/model assets, then let the Syntiant processor report classifications to the application.

A simplified application state machine looks like this:

setup:
  initialise Nicla hardware
  initialise NDP120
  load / select model
  start classifier

loop:
  if NDP120 reports a class:
      read class ID and confidence
      perform local action
      optionally advertise result over BLE
  otherwise:
      keep the main application idle / low power

The exact library calls depend on the current Nicla Voice/Syntiant examples and the model package you are using, so treat the state machine above as architecture rather than copy-and-paste API code.

Good Nicla Voice project ideas

ProjectWhy Nicla Voice fits
Offline wake wordNDP120 can monitor audio continuously without cloud streaming
Local voice commandsSmall command vocabulary can be classified directly on the board
Machine sound monitorMicrophone + low-power inference can detect acoustic changes
Vibration classifierBMI270 feeds motion data into the AI path
Gesture controllerIMU and BLE make a small wireless gesture node practical
Battery alarm nodeAlways-on event detection can wake BLE only when something happens
Multi-sensor condition monitorAudio, acceleration, gyro and magnetic data can provide complementary context

What Nicla Voice is not

It is not a replacement for a full Linux voice assistant. There is no local large-language model, cloud-quality speech transcription or large application processor. The board is strongest when the output space is deliberately constrained: a handful of words, known sounds, gestures or machine states.

It is also not an audio-development board with a large codec, headphone output and speaker amplifier. Its microphone and NDP120 are designed for sensing and classification. If the project needs high-quality playback or multi-channel audio production, add appropriate external hardware or choose a different platform.

Common mistakes

  • Applying 3.3 V to ADC1 or ADC2. The analogue inputs remain in the 1.8 V domain.
  • Ignoring VDDIO_EXT. Confirm the external digital logic voltage before connecting another controller.
  • Trying to perform continuous audio ML on the nRF52832. Use the NDP120 for the always-on inference workload.
  • Expecting full speech-to-text. Nicla Voice is designed for compact local classification and command recognition.
  • Connecting an analogue microphone to J6. The external microphone connector is for a compatible PDM microphone path.
  • Leaving BLE busy continuously. Radio activity can dominate the battery budget.
  • Powering heavy loads from the GPIO. Use proper drivers for relays, motors, buzzers and high-current LEDs.

Troubleshooting

SymptomFirst checks
Board not detected over USBUse a known data cable, update the Nicla board package and double-tap reset for bootloader mode.
No voice detectionsVerify the correct NDP120 firmware/model is loaded and test with the official example before changing thresholds.
Too many false triggersCheck microphone placement, background noise, model class design and confidence threshold.
BLE device disappearsCheck application sleep state, advertising configuration and power supply.
External sensor does not communicateConfirm VDDIO_EXT, shared ground, bus pull-ups and the correct I2C/SPI pins.
Analogue reading clipsEnsure ADC1/ADC2 remain within the 1.8 V input range.
Battery life is poorMeasure BLE duty cycle, LED use, serial activity and whether the main MCU really sleeps between classifications.
IMU model behaves differently after mountingCheck physical orientation and retrain or transform axes to match the installed position.

FAQ

Does Nicla Voice need the cloud?

No. Its main advantage is local inference. A trained wake-word, acoustic-event or motion model can run on the NDP120 without continuously uploading raw audio.

Can Nicla Voice connect to Wi-Fi?

Not directly. The onboard ANNA-B112/nRF52832 provides Bluetooth Low Energy, not Wi-Fi. Use BLE to a gateway or connect the Nicla to another host if your application needs Wi-Fi or Ethernet.

Can I use the board as a normal Arduino?

Yes. Your sketch runs on the nRF52832 through the Arduino Mbed OS Nicla core. You can use GPIO, I2C, SPI, BLE and sensors in a conventional Arduino application while treating the NDP120 as the specialised AI coprocessor.

How many analogue inputs does Nicla Voice expose?

Two: ADC1 and ADC2 on J1. Both are 1.8 V analogue inputs.

Why use Nicla Voice instead of an ESP32-S3?

The strongest reason is the dedicated NDP120 always-on neural processor and the tightly integrated low-power sensor/audio architecture. An ESP32-S3 is much more general-purpose and offers Wi-Fi, but continuous voice inference and battery behaviour are different design problems. The next comparison article in this series looks at that trade-off directly.

Datasheets & external resources

Use the manufacturer references below when you need current electrical limits, board recovery details, library behaviour or NDP120 capabilities.

Share your love