Arduino Nano 33 BLE Sense Rev2 Pinout and Onboard Sensor Guide

Arduino Nano 33 BLE Sense Rev2 pinout and sensor guide: nRF52840 GPIO, BMI270+BMM150 IMU, HS3003 humidity, LPS22HB pressure, APDS9960 gesture/color, MP34DT06J microphone, BLE and TinyML.

The Arduino Nano 33 BLE Sense Rev2 is the sensor-rich version of Arduino’s nRF52840 Nano platform.

It keeps the same compact 45 × 18 mm format and 64 MHz Arm Cortex-M4F processor as the Nano 33 BLE Rev2, but adds an unusually complete onboard sensor suite:

  • BMI270 3-axis accelerometer and 3-axis gyroscope;
  • BMM150 3-axis magnetometer;
  • HS3003 temperature and humidity sensor;
  • LPS22HB barometric pressure sensor;
  • APDS9960 colour, ambient-light, proximity and gesture sensor;
  • MP34DT06J digital MEMS microphone.

That makes the board particularly suitable for:

  • TinyML;
  • gesture recognition;
  • voice and sound classification;
  • environment monitoring;
  • wearables;
  • motion detection;
  • Bluetooth Low Energy sensor nodes.

Arduino now marks the original Nano 33 BLE Sense as End of Life. This guide therefore focuses on the current Rev2 hardware.

The most important compatibility warning is that Rev2 changed several sensors. Old tutorials written for the original board may compile against the wrong libraries.

Nano 33 BLE Sense Rev2 Specifications

Feature Nano 33 BLE Sense Rev2
Main module u-blox NINA-B306
Main MCU Nordic nRF52840
CPU 64 MHz Arm Cortex-M4F with FPU
Flash 1 MB
RAM 256 kB
Logic voltage 3.3 V
Bluetooth Bluetooth 5 / BLE
IEEE 802.15.4 hardware Yes
ADC 12-bit SAADC
Analog inputs A0-A7
DAC No true voltage DAC
USB Native full-speed USB
IMU BMI270 + BMM150
Temperature/humidity HS3003
Pressure LPS22HB
Colour/proximity/gesture APDS9960
Microphone MP34DT06JTR digital MEMS microphone
VIN 5-21 V

Complete Header Pinout

The external Nano header pin mapping is essentially the same as Nano 33 BLE Rev2:

Arduino pin nRF52840 GPIO Main functions
D0 / TX P1.03 UART TX, digital GPIO
D1 / RX P1.10 UART RX, digital GPIO
D2 P1.11 Digital GPIO, PWM/timer-capable
D3 P1.12 Digital GPIO, PWM/timer-capable
D4 P1.15 Digital GPIO, PWM/timer-capable
D5 P1.13 Digital GPIO, PWM/timer-capable
D6 P1.14 Digital GPIO, PWM/timer-capable
D7 P0.23 Digital GPIO, PWM/timer-capable
D8 P0.21 Digital GPIO, PWM/timer-capable
D9 P0.27 Digital GPIO, PWM/timer-capable
D10 P1.02 Digital GPIO, SPI SS
D11 P1.01 Digital GPIO, SPI COPI/MOSI
D12 P1.08 Digital GPIO, SPI CIPO/MISO
D13 P0.13 SPI SCK, LED_BUILTIN
A0 / D14 P0.04 ADC AIN2, digital GPIO
A1 / D15 P0.05 ADC AIN3, digital GPIO
A2 / D16 P0.30 ADC AIN6, digital GPIO
A3 / D17 P0.29 ADC AIN5, digital GPIO
A4 / D18 P0.31 ADC AIN7, I²C SDA
A5 / D19 P0.02 ADC AIN0, I²C SCL
A6 / D20 P0.28 ADC AIN4, digital GPIO
A7 / D21 P0.03 ADC AIN1, digital GPIO

Physical Header Layout

Remember:

on the current Rev2 pinout.

3.3 V Logic Only

Nano 33 BLE Sense Rev2 is not 5 V tolerant.

Do not connect a 5 V logic signal directly to:

  • D0-D13;
  • A0-A7;
  • AREF;
  • other nRF52840 signals.

Use level shifting where required.

GPIO Current Limits

Arduino specifies approximately:

The board is intended for logic and sensors, not powering relays or motors directly.

UART, SPI and I²C

The normal external buses are:

Native USB is separate from D0/D1, so:

A4 and A5 Are Primarily I²C Pins

A4 and A5 map to ADC inputs too, but Arduino’s current datasheet notes that they have internal pull-ups and default to I²C operation.

For precision analog measurement, prefer A0-A3 or A6/A7 rather than A4/A5.

12-Bit ADC

The nRF52840 SAADC provides native 12-bit conversion:

on the exposed analog inputs.

There is no true voltage DAC on this board.

What Makes the Sense Rev2 Different?

The normal Nano 33 BLE Rev2 already contains:

  • nRF52840;
  • Bluetooth LE;
  • native USB;
  • BMI270;
  • BMM150.

Nano 33 BLE Sense Rev2 adds:

  • HS3003 temperature/humidity;
  • LPS22HB pressure;
  • APDS9960 colour/proximity/gesture;
  • MP34DT06J microphone.

This is why the Sense version is particularly well suited to machine-learning experiments without external sensor modules.

Rev2 vs Original Nano 33 BLE Sense

Function Original Sense Sense Rev2
MCU nRF52840 nRF52840
Accelerometer/gyro LSM9DS1 BMI270
Magnetometer LSM9DS1 BMM150
Temperature/humidity HTS221 HS3003
Pressure LPS22HB LPS22HB
Gesture/colour/proximity APDS9960 APDS9960
Microphone MP34DT05 MP34DT06JTR

That means old code using:

targets the original board.

Rev2 should use the corresponding new libraries.

Onboard Sensor Summary

Sensor Measures Recommended Arduino library
BMI270 3-axis acceleration + 3-axis angular rate Arduino_BMI270_BMM150
BMM150 3-axis magnetic field Arduino_BMI270_BMM150
HS3003 Relative humidity + temperature Arduino_HS300x
LPS22HB Barometric pressure + temperature Arduino_LPS22HB
APDS9960 Colour, ambient light, proximity, gestures Arduino_APDS9960
MP34DT06J Digital audio PDM

BMI270 Accelerometer and Gyroscope

The BMI270 provides:

  • 3-axis acceleration;
  • 3-axis angular velocity.

Arduino’s current BMI270/BMM150 library configures the board with:

  • accelerometer range of ±4 g;
  • gyroscope range of ±2000 degrees per second;
  • accelerometer/gyro output rate close to 100 Hz.

BMM150 Magnetometer

The BMM150 adds 3-axis magnetic-field measurement.

It can be used for:

  • electronic compass projects;
  • heading estimation;
  • magnetic field detection;
  • sensor fusion with the accelerometer/gyro.

The current Arduino library exposes the BMI270 and BMM150 together through one IMU object.

Basic IMU Example

Reading Gyroscope Data

Reading Magnetometer Data

The magnetometer output is useful for heading but normally requires calibration if you want accurate compass behaviour.

Magnetometer Calibration

Nearby ferromagnetic material, PCB currents and permanent magnets can distort the measured field.

For serious heading estimation, account for:

  • hard-iron offset;
  • soft-iron scaling;
  • board orientation;
  • tilt compensation.

A raw magnetometer is not automatically a calibrated compass.

HS3003 Temperature and Humidity

The HS3003 measures:

  • 0-100% relative humidity;
  • ambient temperature.

Arduino’s current datasheet quotes typical temperature accuracy around:

under the relevant sensor conditions, while Arduino’s product page describes around ±0.2 °C application accuracy.

As always, board self-heating and airflow can influence the temperature measured by an onboard sensor.

HS3003 Library

Use:

Example:

Board Temperature Is Not Room Temperature

The HS3003 sits on the same PCB as:

  • the nRF52840;
  • power circuitry;
  • LEDs;
  • other active sensors.

If the board is enclosed or processing heavily, local board heating can shift the measured temperature away from free-air room temperature.

For accurate environmental monitoring:

  • allow airflow;
  • avoid mounting next to hot regulators;
  • consider calibration against a reference thermometer;
  • avoid reading immediately after large power-state changes.

LPS22HB Barometric Pressure Sensor

The LPS22HB measures absolute pressure over approximately:

with up to 24-bit pressure data.

It also contains its own temperature sensor for compensation and reports temperature data separately.

Pressure Library

Use:

Example:

Using Pressure to Estimate Altitude

Barometric pressure can be converted to approximate altitude if you know the reference sea-level pressure.

However, atmospheric pressure changes with weather, so a barometer is not a permanently accurate absolute altimeter without calibration.

It is excellent for:

  • relative height changes;
  • floor detection;
  • weather monitoring;
  • vertical-motion features in sensor fusion.

APDS9960 Colour, Light, Proximity and Gesture Sensor

The APDS9960 combines several optical functions:

  • red/green/blue colour sensing;
  • ambient-light measurement;
  • infrared proximity sensing;
  • directional gesture recognition.

Gesture detection uses directional photodiodes and an integrated IR LED.

Supported simple gestures include:

APDS9960 Library

Use:

Proximity Example

Colour Example

Gesture Example

Optical Sensor Placement Matters

The APDS9960 needs optical access to the outside world.

If you put Nano 33 BLE Sense Rev2 inside an opaque enclosure, you effectively disable:

  • colour sensing;
  • ambient light;
  • proximity;
  • gesture detection.

For a finished product, plan the enclosure around the optical sensor position.

MP34DT06J Digital Microphone

The onboard MP34DT06JTR is an omnidirectional digital MEMS microphone.

Arduino quotes characteristics including:

  • approximately 64 dB signal-to-noise ratio;
  • around -26 dBFS sensitivity;
  • approximately 122.5 dB SPL acoustic overload point.

The microphone outputs a PDM digital stream rather than an analog voltage.

PDM Library

The normal Arduino interface is:

The PDM library converts the microphone’s high-rate one-bit stream into PCM audio samples that your sketch can process.

Basic Microphone Pattern

Why the Microphone Is Excellent for TinyML

Audio classification is one of the classic embedded machine-learning workloads.

Typical pipeline:

Applications include:

  • keyword spotting;
  • clap detection;
  • machine-noise classification;
  • alarm recognition;
  • environmental sound classification.

Why the IMU Is Also Excellent for TinyML

Motion classification can use:

to identify:

  • gestures;
  • walking/running;
  • machine vibration states;
  • tool motion;
  • orientation changes;
  • abnormal movement.

The 256 kB RAM and Cortex-M4F make the board much more comfortable for small neural-network inference than an AVR Nano.

Combining Multiple Sensors

The real strength of Nano 33 BLE Sense Rev2 is sensor fusion.

For example:

A model or state machine can combine all of these signals without adding any external sensor board.

Do Not Sample Everything as Fast as Possible

Different sensors have very different useful data rates.

For example:

  • IMU data may be useful around tens to hundreds of samples per second;
  • audio needs kHz-range sampling;
  • humidity changes slowly;
  • barometric pressure usually changes slowly;
  • gesture/proximity needs event-oriented polling.

A good application gives each sensor an appropriate update interval instead of repeatedly polling every device in a tight loop.

BLE Sensor Streaming

ArduinoBLE can transmit selected sensor data to a phone or another BLE device.

Example architecture:

Do not stream raw audio continuously over BLE unless the bandwidth and packet design have been considered carefully. Sending classification results is often much more efficient.

No Wi-Fi

Nano 33 BLE Sense Rev2 has Bluetooth LE but no Wi-Fi.

If you need direct Wi-Fi plus substantial memory, Nano ESP32 is a more natural choice.

See our Nano ESP32 pinout guide.

Sense Rev2 vs Nano 33 BLE Rev2

The underlying processor and external header pinout are closely related.

The major reason to buy the Sense version is the extra onboard environmental, optical and audio sensors.

See our Nano 33 BLE Rev2 pinout guide for a deeper look at the nRF52840 GPIO, ADC, PWM and BLE architecture.

Power and Low-Power Use

The board can be powered through:

  • Micro-USB;
  • VIN at approximately 5-21 V;
  • specialised low-power 3.3 V arrangements after the documented jumper modification.

Arduino’s current datasheet notes that the 5 V header does not behave like the classic Nano’s regulated 5 V output in every configuration; it is tied to the USB power path through a jumper.

Sensor Power Consumption Matters

For battery applications, shutting down or reducing the data rate of unused sensors can save more power than optimising application code alone.

For example:

  • disable optical gesture functions when not required;
  • reduce IMU output data rate;
  • stop PDM capture between audio windows;
  • avoid leaving LEDs on;
  • use BLE advertising/connection intervals appropriate to the application.

Board Recovery

If a sketch prevents normal USB upload:

  1. power the board;
  2. double-tap RESET;
  3. wait for bootloader mode;
  4. select the bootloader serial port;
  5. upload a known-good sketch.

Common Problem: Old IMU Sketch Does Not Compile

If an old tutorial uses:

it targets the original Nano 33 BLE Sense.

For Rev2 use:

Common Problem: Old Temperature/Humidity Sketch Does Not Compile

If the tutorial uses:

it targets the old HTS221 sensor.

Rev2 uses HS3003:

Common Problem: Temperature Seems Too High

Onboard temperature sensors measure the local air/PCB environment, not an ideal remote ambient reference.

Check:

  • USB and regulator heating;
  • CPU workload;
  • enclosure ventilation;
  • nearby heat sources;
  • time allowed for thermal stabilisation.

Common Problem: Gesture Sensor Does Not Work in Enclosure

The APDS9960 needs a clear optical path.

Dark or opaque plastic over the sensor can prevent correct operation unless the enclosure has been designed for IR/visible transmission.

Common Problem: BLE Works but Wi-Fi Example Does Not

Nano 33 BLE Sense Rev2 has no Wi-Fi radio.

It supports Bluetooth LE through the nRF52840.

Quick Reference

Best Practices

  1. Use Rev2-specific libraries for the BMI270/BMM150 and HS3003.
  2. Do not apply 5 V signals to any GPIO.
  3. Use A4/A5 primarily for I²C rather than precision analog sensing.
  4. Use the appropriate sensor data rate instead of polling everything continuously.
  5. Calibrate the magnetometer for accurate compass use.
  6. Allow airflow if temperature/humidity accuracy matters.
  7. Give the APDS9960 a clear optical path through the enclosure.
  8. Stop or reduce sensor activity when optimising battery life.
  9. Use BLE to transmit processed information rather than unnecessarily large raw data streams.
  10. Use the microphone and IMU as primary TinyML inputs; they are the board’s strongest machine-learning features.

Final Thoughts

Nano 33 BLE Sense Rev2 is one of Arduino’s most complete small sensor boards because almost every common TinyML input modality is already onboard.

You get:

all connected to a 64 MHz Cortex-M4F with 1 MB Flash and 256 kB RAM.

The biggest trap is compatibility with old tutorials. The original Sense board used LSM9DS1 and HTS221, while Rev2 uses BMI270+BMM150 and HS3003. If code fails because those old libraries are missing or return the wrong assumptions, check which board generation the tutorial actually targets.

Once the Rev2 sensor set is understood, the board is an unusually capable platform for motion recognition, sound classification, environmental monitoring, BLE wearables and compact TinyML prototypes without any external sensor wiring.

Share your love