Skip to content

MCU Info Page: Arduino Nano 33 BLE

Jamie Smith edited this page Oct 14, 2022 · 14 revisions

Arduino Nano 33 BLE Overview

The Arduino Nano 33 BLE is a small board from Arduino containing an ARM microcontroller with bluetooth capabilities. The Arduino Nano 33 BLE uses a U-Blox NINA-B306 module, which itself contains an nRF52840 MCU. To flash code, Arduino provides a USB bootloader, and Mbed can flash code using this bootloader or an external SWD debugger. This board is a convenient option for projects which need to use bluetooth in an affordable and small form factor!

Nano 33 BLE

Feature Overview

CPU Flash/Code Memory RAM Communication Peripherals Other Features
Cortex-M4F, clocked at up to 64 MHz Without Arduino bootloader
Total: 1MiB
Available to user:* 987 kiB
With Arduino bootloader:
Total: 960kiB
Available to user:* 923kiB
Total: 256kiB
Available to user:* 244kiB
  • 2x I2C/SPI combo
  • 1x additional SPI
  • 1x QSPI (currently not supported)
  • 2x UART
  • 1x USB
  • Bluetooth 5 radio
  • 12-input ADC (AnalogIn)
  • 4x PWM (must share a common frequency)
  • RTC (currently not supported)
  • Hardware RNG
  • DMA (currently not supported)

*"Available to user" subtracts both regions of memory unusable by Mbed OS projects and the baseline memory used by a minimal build of Mbed OS.

Misc MCU Info

Pin Mapping

Most Mbed boards are limited to using specific peripherals (e.g. I2C, SPI) on specific pins. However, the Nano 33 BLE and its nRF52840 allow using all peripherals, other than the ADC, on absolutely any pin on the device. This means you aren't restricted to the pins labeled as SPI and I2C in the pinout! However, you still must respect the total number of peripherals available, e.g. you can only create a total of 2 UARTs.

There's an additional consideration for SPI and I2C busses: Each I2C instance shares resources with one of the SPIs. So, if you create two I2Cs, you only can make one SPI, and if you create three SPIs you can't use I2C at all.

Datasheets

Clone this wiki locally