Arduino Nano 33 BLE

The Arduino Nano33 BLE is a very small ARM development board based on the Nordic Semiconductor nrf52840 processor.

There is also the Arduino Nano33 BLE Sense which is the exact same board but with additional onboard sensors.

Interfaces

InterfaceHardware SupportedTinyGo Support
GPIOYESYES
UARTYESYES
SPIYESYES
I2CYESYES
ADCYESYES
PWMYESYES
USBDeviceYESYES

Pins

PinHardware pinAlternative names
D2P1_11
D3P1_12
D4P1_15
D5P1_13
D6P1_14
D7P0_23
D8P0_21
D9P0_27
D10P1_02
D11P1_01SPI0_SDO_PIN
D12P1_08SPI0_SDI_PIN
D13P0_13LED, LED_BUILTIN, SPI0_SCK_PIN
A0P0_04
A1P0_05
A2P0_30
A3P0_29
A4P0_31SDA0_PIN
A5P0_02SCL0_PIN
A6P0_28
A7P0_03
LED1P0_24LED_RED
LED2P0_16LED_GREEN
LED3P0_06LED_BLUE
LED_PWRP1_09
UART_RX_PINP1_10
UART_TX_PINP1_03
SDA_PINP0_14SDA1_PIN
SCL_PINP0_15SCL1_PIN
I2C_PULLUPP1_00
APDS_INTP0_19
LSM_PWRP0_22LPS_PWR, HTS_PWR
MIC_PWRP0_17
MIC_CLKP0_26
MIC_DINP0_25

Onboard sensors

Machine Package Docs

Documentation for the machine package for the Arduino Nano33 BLE

Installing BOSSA

In order to flash your TinyGo programs onto the Arduino Nano33 BLE board, you will need to install the “bossac_arduino2” command line utility which is a special build of the BOSSA command line utilities.

macOS

If you have a Mac computer with an Intel processor, download the bossac_arduino2 program from http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-osx.tar.gz

Extract the downloaded file to a directory on your computer.

Make sure to add that directory into your PATH.

Linux

Download the bossac_arduino2 program from http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-linux64.tar.gz

Extract the downloaded file to a directory on your computer.

Make sure to add that directory into your PATH.

Windows

Download the bossac_arduino2 program from http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-windows.tar.gz

Extract the downloaded file to a directory on your computer.

Make sure to add that directory into your PATH.

Flashing

Once you have installed the needed BOSSA command line utility, as in the previous section, you are ready to build and flash code to your Arduino Nano33 BLE board.

CLI Flashing

  • Plug your Arduino Nano33 BLE board into your computer’s USB port.

  • Build and flash your TinyGo code using the tinygo flash command. This command flashes the Arduino Nano33 BLE with the blinky1 example:

    tinygo flash -target=nano-33-ble examples/blinky1
    
  • The Arduino Nano33 BLE board should restart and then begin running your program.

Troubleshooting

Instructions needed here.

Bluetooth

Nordic Semiconductor’s SoftDevice (s140v7) must be flashed first to enable use of bluetooth on this board.

SoftDevice overwrites original bootloader and flashing method described above is not avalable anymore. Instead, please use debug probe and flash your code with nano-33-ble-s140v7 target.

Notes

You can use the USB port to the Arduino Nano33 BLE as a serial port. UART0 refers to this connection.

Last modified March 5, 2023: content/docs: Fix broken links (306783f)