Arduino Nano is back with WiFi ! – Nano 33 IoT

The Nano form factor has been a crowd-pleaser amongst makers for years due to its small footprint and ease of integration into any project. As announced at Maker Faire Bay Area, the Nano 33 IoT is part of the new 3.3V variant of the family with an Arm Cortex-M0+ microcontroller and a pre-certified ESP32-based WiFi and Bluetooth module from u-blox that brings sophisticated connectivity to its tiny package. The inclusion of an ECC608A crypto chip means it also offers IoT security features not usually available at such a low price point.

Today, we sat down with Dario Pennisi, Arduino hardware and firmware development manager, to learn more about the Nano 33 IoT.

Key Features

  1. Secure WiFi and Bluetooth connectivity with a 6-axis IMU.
  2. Pre-certified module with an external processor ensures maintaining RF compliance when writing application code versus ESP32 modules where modifying code impacts certification.
  3. On-board DC-DC power supply enables the board to be powered up to 21V maintaining high efficiency and offering a lot of current to external devices without overheating. This is a big improvement over other products on the market that have LDO and heat up quite a bit when powered at high voltages.


  1. Add WiFi and Bluetooth connectivity with strong security to all the existing Arduino Nano applications.
  2. On-board IMU can be used to wirelessly monitor vibration, orientation, and rotational speed of small objects thanks to its lightweight and compact form factor.
  3. Run directly from high voltages from lead or multi-cell Lithium-ion batteries providing 3.3V power supply to peripherals at significant output current.

Which Arduino board is the most similar to the Nano 33?

The Nano 33 IoT is essentially a MKR WiFi 1010, but sacrifices a battery charger and shield compatibility in favor of a miniaturized footprint (45×18 mm) and lower cost. The Nano 33 IoT is built around the ESP32, which is primarily aimed at WiFi but supports Bluetooth as well, although with higher power consumption than the Nano 33 BLE.


This board is based on the SAMD21G18A microcontroller.

Clockup to 48MHz

Please note: Arduino Nano 33 IoT only supports 3.3V I/Os and is NOT 5V tolerant so please make sure you are not directly connecting 5V signals to this board or it will be damaged. Also, as opposed to Arduino Nano boards that support 5V operation, the 5V pin does NOT supply voltage but is rather connected, through a jumper, to the USB power input. To avoid such risk with existing projects, where you should be able to pull out a Nano and replace it with the new Nano 33 IoT, we have the 5V pin on the header, positioned between RST and A7 that is not connected as the default factory setting. This means that if you have a design that takes 5V from that pin, it won’t work immediately, as a precaution we put in place to draw your attention to the 3.3V compliance on digital and analog inputs. 5V on that pin is available only when two conditions are met: you make a solder bridge on the two pads marked as VUSB and you power the NANO 33 IoT through the USB port. If you power the board from the VIN pin, you won’t get any regulated 5V and therefore even if you do the solder bridge, nothing will come out of that 5V pin. The 3.3V, on the other hand, is always available and supports enough current to drive your sensors. Please make your designs so that sensors and actuators are driven with 3.3V and work with 3.3V digital IO levels. 5V is now an option for many modules and 3.3V is becoming the standard voltage for electronic ICs. The communication on WiFi and Bluetooth is managed by a NINA W102 ESP32 based module. The module is connected to the SAMD21 microcontroller with an SPI BUS and a serial port through the following pins:

SAMD21 PinSAMD21 AcronymNINA PinNINA AcronymDescription
39PA2727GPIO0Attention Request
23PA1428 / 21GPIO5 / GPIO19SPI CS / UART RTS
24PA1529 / 20GPIO18 / GPIO22SPI CLK / UART CTS
31PA2223GPIO3Processor TX -> Nina RX
32PA2322GPIO1NINA TX -> Processor RX

Some of the NINA W102 pins are connected to the 15+15 pins headers/pads and can be directly driven by the module’s ESP32; in this case, it is necessary that the SAMD21 corresponding pins are aptly tri-stated. Below is a list of such signals:

SAMD21 PinSAMD21 AcronymNINA PinNINA AcronymDescription

The IMU is a LSM6DSL and it is managed through I2C. The crypto chip is an ATECC608A and has a supporting library that is used by the WiFiNINA library. The board has a two 15 pins connectors – one on each side -,  pin to pin compatible with the original Arduino Nano.

PinFunctionType PinDescription
2+3V3Power OutInternally generated power output to external devices
3AREFAnalogAnalog Reference; can be used as GPIO
4A0/DAC0AnalogADC in/DAC out; can be used as GPIO
5A1AnalogADC in; can be used as GPIO
6A2AnalogADC in; can be used as GPIO
7A3AnalogADC in; can be used as GPIO
8A4/SDAAnalogADC in; I2C SDA; Can be used as GPIO (*)
9A5/SCLAnalogADC in; I2C SCL; Can be used as GPIO(*)
10A6AnalogADC in; can be used as GPIO
11A7AnalogADC in; can be used as GPIO
12VUSBPower In/OutNormally NC; can be connected to
VUSB pin of the USB connector by shorting a jumper
13RSTDigital InActive low reset input (duplicate of pin 18)
14GNDPowerPower Ground
15VINPower InVin Power input
16TXDigitalUSART TX; can be used as GPIO
17RXDigitalUSART RX; can be used as GPIO
18RSTDigitalActive low reset input (duplicate of pin 13)
19GNDPowerPower Ground
21D3/PWMDigitalGPIO; can be used as PWM
22D4DigitalGPIO; can be used as PWM
23D5/PWMDigitalGPIO; can be used as PWM
27D9/PWMDigitalGPIO; can be used as PWM
28D10/PWMDigitalGPIO; can be used as PWM
29D11/MOSIDigitalSPI MOSI; can be used as GPIO
30D12/MISODigitalDigital SPI MISO; can be used as GPIO

(*) As opposed to other Arduino Nano boards, pins A4 and A5 have an internal pull-up and default to be used as an I2C Bus so usage as analog inputs is not recommended. Opposed to Arduino Nano boards that support 5V operation, the 5V pin does NOT supply voltage but is rather connected, through a jumper, to the USB power input. On the bottom side of the board, under the communication module, debug signals are arranged as 3×2 test pads with 100 mil pitch. Pin 1 is the bottom left one with the USB connector on the left and the test pads on the right

PinFunctionType PinDescription
1+3V3Power OutInternally generated power output to be used as voltage reference
2SWDDigitalSAMD11 Single Wire Debug Data
3SWCLKDigital InSAMD11 Single Wire Debug Clock
4UPDIDigitalATMega4809 update interface
5GNDPowerPower Ground
6RSTDigital InActive low reset input

Leave a Reply