MakerLab
ArduinoArduino Nano 33 BLE

Arduino Nano 33 BLE: Your Tiny Hub for Wireless IoT

The Arduino Nano 33 BLE is a compact yet powerful microcontroller board featuring Bluetooth Low Energy connectivity, making it ideal for portable and wireless projects.

Arduino Nano 33 BLE

The Arduino Nano 33 BLE is a small form-factor board designed for makers and engineers who need a compact microcontroller with wireless capabilities. It's part of the Arduino Nano family, known for its small size and versatility, but with the significant addition of Bluetooth Low Energy (BLE) and a more powerful microcontroller. This board bridges the gap between simple microcontrollers and more complex IoT platforms, offering a robust solution for projects requiring low-power wireless communication.

At its heart lies the nRF52840 System-on-Chip (SoC) from Nordic Semiconductor. This 32-bit ARM Cortex-M4F processor is highly capable, offering a good balance of performance and power efficiency, crucial for battery-powered applications. The nRF52840 is also a popular choice for its integrated BLE 5.0 radio, along with support for other wireless protocols like ANT and 802.15.4, although the Arduino Nano 33 BLE primarily exposes BLE functionality.

Released around 2019, the Arduino Nano 33 BLE was a significant step up for the Nano line, bringing modern wireless connectivity and a more advanced processor to the familiar Nano footprint. It's particularly well-suited for projects that need to communicate with smartphones, other BLE devices, or create small, distributed sensor networks. Its small size makes it perfect for wearable technology, remote sensing, and IoT devices where space is at a premium.

This board appeals to a wide range of users, from students learning about embedded systems and wireless communication to experienced engineers prototyping low-power IoT devices. Its ease of use, thanks to the Arduino IDE, combined with the powerful nRF52840, makes it an excellent choice for both beginners taking their first steps into BLE and advanced users looking for a compact, efficient wireless microcontroller.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCNordic Semiconductor nRF52840
Architecture32-bit ARM Cortex-M4F
Clock speed64 MHz
Flash / Storage1 MB
RAM / SRAM256 KB
Operating voltage3.3V
Digital I/O pins21
Analog / ADC7
PWM6 (on digital pins)
ConnectivityBluetooth Low Energy (BLE) 5.0
USBMicro-USB (for power and programming)
Power input5V via Micro-USB or VIN pin (3.3V regulator onboard)
Dimensions48mm x 18mm

Pinout & pin functions

PinFunction
3V3Power output (3.3V)
GNDGround
VINPower input (typically 5V, regulated to 3.3V)
D0 (RX)Digital I/O, UART RX
D1 (TX)Digital I/O, UART TX
D2Digital I/O
D3Digital I/O, PWM
D4Digital I/O
D5Digital I/O, PWM
D6Digital I/O, PWM
D7Digital I/O
D8Digital I/O
D9Digital I/O, PWM
D10Digital I/O, SPI MOSI, PWM
D11Digital I/O, SPI MISO
D12Digital I/O, SPI SCK
D13Digital I/O, SPI CS
A0Analog Input (ADC)
A1Analog Input (ADC)
A2Analog Input (ADC)
A3Analog Input (ADC)
A4Analog Input (ADC), I2C SDA
A5Analog Input (ADC), I2C SCL
A6Analog Input (ADC)
A7Analog Input (ADC)
RESETSystem reset pin
USB D-USB Data -
USB D+USB Data +

Wiring & circuit basics

The Arduino Nano 33 BLE operates at a logic level of 3.3V. This means any components you connect directly to its digital I/O pins should also be 3.3V compatible. Connecting 5V devices directly can damage the board. If you need to interface with 5V components, use a logic level shifter. Powering the board is typically done via the Micro-USB port, which supplies 5V. Alternatively, you can use the VIN pin, which also accepts a 5V input and routes it through the onboard 3.3V regulator. Avoid applying more than 5V to VIN to prevent overheating the regulator.

For a simple LED project, connect the anode (longer leg) of an LED to a digital pin (e.g., D5) through a current-limiting resistor (typically 220-330 ohms). Connect the cathode (shorter leg) of the LED to a GND pin. When the digital pin is HIGH (3.3V), current flows through the resistor and LED, illuminating it. When the pin is LOW (0V), the LED turns off.

For an I2C sensor, like a BME280 or an MPU-6050, you'll need to connect its VCC to the 3.3V pin on the Nano 33 BLE, its GND to a GND pin, its SDA line to A4, and its SCL line to A5. Ensure the sensor itself is 3.3V compatible or uses a logic level shifter if it's a 5V device. The Nano 33 BLE's nRF52840 has robust I2C support, making it easy to integrate multiple I2C devices by using their unique addresses.

Programming & getting started

The primary toolchain for the Arduino Nano 33 BLE is the Arduino IDE. After installing the board support package for the nRF52840 (available through the Board Manager), you can write and upload sketches using C++. The board also supports MicroPython and CircuitPython, offering more flexible, high-level programming options. For advanced users, the Nordic nRF Connect SDK or PlatformIO can be used for more complex firmware development, providing access to a wider range of libraries and debugging tools.

To upload your first sketch: 1. Install the Arduino IDE. 2. Go to Tools > Board > Boards Manager. Search for 'nRF52' and install the package. 3. Select 'Arduino Nano 33 BLE' from Tools > Board. 4. Connect the Nano 33 BLE via Micro-USB. 5. Select the correct COM port under Tools > Port. 6. Open the 'Blink' example sketch (File > Examples > 01.Basics > Blink). 7. Click the Upload button. The onboard LED (often labeled L) should start blinking.

Project ideas

BLE Heart Rate MonitorBuild a wearable device that measures heart rate using a compatible sensor and transmits the data wirelessly via BLE to a smartphone app. This project teaches about sensor integration, real-time data processing, and BLE communication.
Smart Home Environmental SensorCreate a compact sensor node that measures temperature, humidity, and air quality, sending readings to a central hub or smartphone using BLE. This project explores I2C/SPI sensors, low-power operation, and basic IoT data transmission.
Proximity Alert SystemDevelop a system using an ultrasonic or IR distance sensor to detect objects and send a BLE notification to a phone when an object comes within a certain range. This project focuses on sensor interfacing and implementing simple BLE advertising.
Wireless Control PadDesign a custom controller with buttons and a joystick that communicates wirelessly via BLE to control a robot, drone, or computer application. This project involves input handling, custom BLE services, and user interface design.
BLE Beacon for Asset TrackingConfigure the Nano 33 BLE to act as a low-power BLE beacon, broadcasting unique identifiers for asset tracking or indoor navigation. This project teaches about BLE advertising packets and their structure.
Low-Power Data LoggerDevelop a project to log sensor data to an external SPI flash memory chip over extended periods, with BLE used only for occasional data retrieval or status updates. This project emphasizes power management techniques and SPI communication.

Buying tips & gotchas

When purchasing the Arduino Nano 33 BLE, be aware of its 3.3V logic level; ensure all connected components are compatible or use level shifters. The onboard regulator can handle typical 5V inputs, but avoid exceeding this. The Micro-USB port is for both power and programming, so ensure you use a reliable data cable. While genuine Arduino boards offer excellent support, beware of cheaper, unbranded clones that may have performance or compatibility issues. Accessories like small LiPo batteries, 3.3V-compatible sensors, and breadboard adapters can enhance your projects.