Arduino Nano 33 BLE Pinout: nRF52840, GPIO, ADC, PWM and BLE

Arduino Nano 33 BLE Rev2 pinout guide: nRF52840 GPIO, 12-bit ADC, flexible PWM, SPI, I2C, UART, native USB, Bluetooth LE, 9-axis IMU, NFC capability, power limits and 3.3 V wiring.

The Arduino Nano 33 BLE Rev2 is a compact 3.3 V development board built around the Nordic Semiconductor nRF52840.

It combines a 64 MHz Arm Cortex-M4F processor with a powerful Bluetooth Low Energy radio, native USB, 1 MB Flash, 256 kB RAM and a 9-axis IMU.

The board is very different from both the classic ATmega328P Nano and the Nano ESP32:

  • it is a 3.3 V-only board;
  • the main application MCU is the nRF52840 itself;
  • Bluetooth LE runs directly on the same MCU as your sketch;
  • there is no Wi-Fi radio;
  • the PWM architecture is flexible rather than tied to six classic AVR pins;
  • the ADC is 12 bit;
  • the USB interface is native to the nRF52840;
  • the current Rev2 board includes a BMI270 accelerometer/gyroscope plus BMM150 magnetometer.

Arduino now marks the original Nano 33 BLE as End of Life, so this guide focuses on the current Nano 33 BLE Rev2 while noting older-board differences where useful.

Nano 33 BLE Rev2 Specifications

Feature Arduino Nano 33 BLE 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
Operating logic voltage 3.3 V
Bluetooth Bluetooth 5 / BLE
IEEE 802.15.4 radio hardware Yes
ADC 12-bit, up to 200 ksps at chip level
Analog inputs A0-A7
DAC No true voltage DAC
PWM hardware 4 PWM units × 4 channels in nRF52840 silicon
UART D0 TX, D1 RX
SPI D10-D13
I²C A4 SDA, A5 SCL
USB Native full-speed USB
IMU BMI270 + BMM150, 9-axis
VIN 5-21 V
Maximum output current per pin 15 mA
Maximum input current per pin 5 mA
Maximum external current total 25 mA including GPIO/VDD external load

Complete Nano 33 BLE Rev2 Pin Mapping

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, PWM/timer-capable
D11 P1.01 Digital GPIO, SPI COPI/MOSI, PWM/timer-capable
D12 P1.08 Digital GPIO, SPI CIPO/MISO, PWM/timer-capable
D13 P0.13 SPI SCK, LED_BUILTIN, digital GPIO
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, digital GPIO
A5 / D19 P0.02 ADC AIN0, I²C SCL, digital GPIO
A6 / D20 P0.28 ADC AIN4, digital GPIO
A7 / D21 P0.03 ADC AIN1, digital GPIO

Physical Header Layout

With the Micro-USB connector at the top, the current Rev2 board follows the Nano-family dual-row arrangement:

The key point for serial wiring is:

This is different from the classic Nano convention, where D0 is RX and D1 is TX.

3.3 V Logic Only

Nano 33 BLE Rev2 uses 3.3 V GPIO.

Do not connect 5 V logic directly to:

  • D0-D13;
  • A0-A7;
  • AREF;
  • NFC-related pins;
  • other nRF52840 I/O.

Use a level shifter or suitable resistor divider where required.

This is the most important electrical difference from classic Nano, Nano Every and Nano R4.

GPIO Current Limits Are Low

Arduino’s current Rev2 pinout specifies:

The board is designed for low-power logic and sensor interfaces.

Do not directly drive:

  • relays;
  • motors;
  • solenoids;
  • high-current LEDs;
  • speakers.

Use a transistor, MOSFET or dedicated driver.

UART: D0 and D1

The default external UART is:

Use:

for external serial hardware.

USB Serial Is Separate

The nRF52840 has native USB.

So:

This means a GPS, modem or second microcontroller can remain connected to D0/D1 while the USB Serial Monitor continues to use the native USB interface.

Native USB

The nRF52840 includes a full-speed 12 Mbps USB controller.

The board routes the USB signals directly to the Micro-USB connector.

This supports:

  • programming;
  • serial communication;
  • USB device functions available through the Arduino Mbed core;
  • advanced USB HID applications.

Board Recovery

If a sketch breaks USB communication, use Arduino’s standard recovery sequence:

  1. power the board;
  2. double-tap RESET quickly;
  3. the bootloader enters programming mode;
  4. a bootloader serial port appears;
  5. upload a known-good sketch.

The pulsing onboard LED normally indicates bootloader mode.

SPI Pins

The default user SPI interface uses:

Example:

D13 Is Also the Built-In LED

The standard user LED is connected to:

D13 is also the default SPI clock.

The onboard LED can therefore flicker when SPI traffic is active.

I²C Pins

The normal Arduino I²C bus is:

mapped to:

Use:

A4/A5 Are Also ADC Inputs

The two I²C pins also connect to ADC channels:

When they are actively used as SDA/SCL, do not expect them to behave simultaneously as independent analog inputs.

Eight Analog Inputs

The external analog header provides:

mapped as:

Arduino pin nRF52840 ADC channel
A0 AIN2
A1 AIN3
A2 AIN6
A3 AIN5
A4 AIN7
A5 AIN0
A6 AIN4
A7 AIN1

12-Bit ADC

The nRF52840’s SAADC is a 12-bit successive-approximation converter.

At native 12-bit resolution:

codes are available.

The current Arduino Mbed core defines:

for Nano 33 BLE.

ADC Reference Options

The current core exposes multiple analog-reference modes:

These map combinations of nRF52840 SAADC reference and gain settings into useful Arduino-facing modes.

This gives more flexibility than simply assuming every analog reading is referenced directly to 3.3 V.

ADC Acquisition Time

The current Arduino core also exposes acquisition-time options:

The default is 10 µs.

Longer acquisition time can help when the signal source has higher impedance because the ADC sampling network has more time to settle.

ADC Resolution Is Not Accuracy

As always:

Real performance depends on:

  • reference accuracy;
  • SAADC gain and offset error;
  • noise;
  • sensor source impedance;
  • grounding;
  • board power quality.

No True DAC

The nRF52840 does not include a normal voltage DAC.

Nano 33 BLE therefore has no equivalent to the A0 DAC on Nano R4 or Nano 33 IoT.

If you need a real analog voltage, use:

  • external I²C/SPI DAC;
  • PWM plus a low-pass filter;
  • a board with a hardware DAC.

PWM Is Flexible on nRF52840

The nRF52840 has four PWM peripherals, each with four channels.

Unlike classic AVR PWM, these outputs are not permanently tied to only six GPIO positions.

The current Nano 33 BLE Rev2 pinout marks timer/PWM capability on many exposed pins, including D2-D12 and the analog-labelled pins.

This flexibility means:

  • you are not restricted to classic Nano PWM positions;
  • peripheral conflicts still matter;
  • the number of independent hardware PWM resources is finite.

Basic PWM Example

For advanced frequency/resolution control, the underlying Mbed/nRF PWM hardware can be accessed through lower-level APIs, but portable Arduino code should normally stay with analogWrite().

Interrupts

The nRF52840 has flexible GPIO event hardware and Arduino can attach interrupts to many exposed pins.

Example:

Keep interrupt handlers short.

Bluetooth Low Energy

Bluetooth LE is the defining wireless feature of Nano 33 BLE.

The nRF52840 supports Bluetooth 5 capabilities including:

  • 1 Mbps BLE;
  • 2 Mbps BLE PHY;
  • coded long-range PHY;
  • advertising extensions;
  • configurable transmit power up to +8 dBm at silicon level.

ArduinoBLE provides the high-level Arduino API.

Basic BLE Peripheral Pattern

BLE Central and Peripheral Roles

Nano 33 BLE can be used as:

  • a BLE peripheral advertising sensors or controls;
  • a BLE central scanning and connecting to other devices;
  • a beacon;
  • a phone-connected controller;
  • a wearable device.

No Wi-Fi

Nano 33 BLE does not include Wi-Fi.

This is a major architectural difference from Nano ESP32 and Nano 33 IoT.

Choose Nano 33 BLE when BLE, low-power wireless and the nRF52840 ecosystem are more important than direct IP/Wi-Fi networking.

IEEE 802.15.4 Hardware

The nRF52840 radio also supports IEEE 802.15.4 at the silicon level.

This provides the hardware foundation used by technologies such as:

  • Thread;
  • Zigbee;
  • other 802.15.4 protocols.

However, the standard Arduino Nano 33 BLE product workflow and ArduinoBLE library focus on Bluetooth LE. Do not assume a Thread or Zigbee application is available simply because the radio hardware supports 802.15.4; the software stack must support it too.

NFC Hardware

The nRF52840 includes NFC-A tag support.

Arduino’s original Nano 33 BLE pinout exposed:

through specific board positions/test routing.

For current Rev2 development, verify the exact schematic and library support before designing an NFC product around those lines.

9-Axis IMU on Rev2

Nano 33 BLE Rev2 includes:

Together they form a 9-axis motion-sensing system.

This is useful for:

  • orientation sensing;
  • wearables;
  • gesture recognition;
  • motion logging;
  • robotics;
  • TinyML input data.

Original Nano 33 BLE vs Rev2 IMU

The original Nano 33 BLE used:

for 9-axis motion sensing.

The current Rev2 uses:

So old IMU code written specifically for LSM9DS1 does not automatically transfer to Rev2.

This is the biggest practical software difference between the two generations.

RGB LED

The board includes an onboard RGB LED connected internally to:

Use Arduino’s symbolic LED names rather than raw GPIO numbers.

1 MB Flash and 256 kB RAM

The nRF52840 provides substantially more memory than AVR Nano boards:

Board Flash RAM
Classic Nano 32 kB 2 kB
Nano Every 48 kB 6 kB
Nano 33 BLE Rev2 1 MB 256 kB

This makes Nano 33 BLE comfortable for:

  • BLE stacks;
  • sensor fusion;
  • larger buffers;
  • MicroPython;
  • TinyML models;
  • more complex embedded applications.

MicroPython

Arduino officially supports MicroPython on Nano 33 BLE Rev2.

The combination of 256 kB RAM, 1 MB Flash, BLE and an onboard IMU makes it much more suitable for Python experimentation than small AVR Nano boards.

Powering Nano 33 BLE Rev2

The board supports:

  • USB power;
  • VIN;
  • specialised direct 3.3 V battery configurations after modifying the documented jumper.

Arduino specifies:

5 V Pin

The 5 V header position is associated with the USB VBUS power path.

On these modern Nano boards, always check the documented solder-jumper configuration before assuming the 5 V pin behaves exactly like the classic Nano’s 5 V rail.

Battery / Low-Power Modification

Arduino’s pinout documents a solder jumper that can be cut to allow low-power direct 3.3 V battery operation.

This bypasses parts of the normal power path and is intended for advanced battery-powered designs.

Only use it after understanding the board schematic and acceptable supply range.

Nano 33 BLE vs Nano 33 IoT

Feature Nano 33 BLE Rev2 Nano 33 IoT
Main MCU nRF52840 SAMD21
CPU Cortex-M4F, 64 MHz Cortex-M0+, 48 MHz
Flash 1 MB 256 kB
RAM 256 kB 32 kB
Logic voltage 3.3 V 3.3 V
Wi-Fi No Yes, NINA-W102
BLE Native nRF52840 Via NINA-W102
ADC 12 bit 12 bit
True DAC No 10-bit A0 DAC
IMU BMI270 + BMM150 LSM6DS3

See our Arduino Nano 33 IoT pinout guide for the Wi-Fi-capable SAMD21 alternative.

Nano 33 BLE vs Nano ESP32

Nano ESP32 is much faster and has vastly more memory, but Nano 33 BLE has several advantages for specialised projects:

  • nRF52840 low-power ecosystem;
  • very mature BLE focus;
  • integrated 9-axis IMU;
  • IEEE 802.15.4-capable radio hardware;
  • good fit for wearables and battery BLE devices.

Nano ESP32 provides:

  • Wi-Fi;
  • BLE;
  • 240 MHz dual-core ESP32-S3;
  • 8 MB PSRAM;
  • 16 MB Flash;
  • ESP-NOW;
  • ESP-IDF ecosystem.

See our Arduino Nano ESP32 pinout guide for the ESP32-S3 architecture.

Quick Pin Reference

Best Practices

  1. Never apply 5 V logic directly to Nano 33 BLE GPIO.
  2. Remember D0 is TX and D1 is RX on the current Rev2 pinout.
  3. Use Serial for USB and Serial1 for the external UART.
  4. Use D10-D13 for default SPI and A4/A5 for default I²C.
  5. Do not expect a true analog DAC.
  6. Take advantage of the nRF52840’s flexible PWM rather than assuming classic Nano PWM limitations.
  7. Keep total external GPIO/VDD load within Arduino’s documented current limits.
  8. Use ArduinoBLE for normal BLE applications.
  9. Remember that 802.15.4 hardware capability does not automatically mean Thread/Zigbee is enabled by your selected Arduino software stack.
  10. Use the Rev2 IMU libraries; old LSM9DS1-specific code targets the original board.

Final Thoughts

The Nano 33 BLE Rev2 is best understood as a compact nRF52840 development board with Arduino Nano headers and a built-in 9-axis IMU.

The key pin mappings are:

Its main strengths are BLE, low-power operation, generous memory and motion sensing rather than Wi-Fi or high-bandwidth networking.

The most important electrical rule is simple:

For BLE wearables, motion sensors, wireless controllers and battery-powered embedded projects, the nRF52840 remains a strong platform even as newer Nano boards offer faster CPUs or Wi-Fi.

Share your love