Arduino Nano 33 IoT
An IoT connected IMU sensor in the Nano form factor.
The Arduino Nano 33 IoT is the easiest and cheapest point of entry to enhance existing devices (and creating new ones) to be part of the IoT and designing pico-network applications. Whether you are looking at building a sensor network connected to your office or home router, or if you want to create a BLE device sending data to a cellphone, the Nano 33 IoT is your one-stop-solution for many of the basic IoT application scenarios.
The board's main processor is a low power Arm® Cortex®-M0 32-bit SAMD21. The WiFi and Bluetooth® connectivity is performed with a module from u-blox, the NINA-W10, a low power chipset operating in the 2.4GHz range. On top of those, secure communication is ensured through the Microchip® ECC608 crypto chip. Besides that, you can find a 6 axis IMU, what makes this board perfect for simple vibration alarm systems, pedometers, relative positioning of robots, etc.
WiFi and Arduino IoT Cloud
At Arduino we have made connecting to a WiFi network as easy as getting an LED to blink. You can get your board to connect to any kind of existing WiFi network, or use it to create your own Arduino Access Point. The specific set of examples we provide for the Nano 33 IoT can be consulted at the WiFiNINA library reference page.
It is also possible to connect your board to different Cloud services, Arduino's own among others. Here some examples on how to get the Arduino boards to connect to:
- Arduino's own IoT Cloud: Arduino's IoT Cloud is a simple and fast way to ensure secure communication for all of your connected Things. Check it out here
- Blynk: a simple project from our community connecting to Blynk to operate your board from a phone with little code
- IFTTT: see an in-depth case of building a smart plug connected to IFTTT
- AWS IoT Core: we made this example on how to connect to Amazon Web Services
- Azure: visit this github repository explaining how to connect a temperature sensor to Azure's Cloud
- Firebase: you want to connect to Google's Firebase, this Arduino library will show you how
Note: while most of the above-shown examples are running on the MKR WiFi 1010, both boards have the same processor and wireless chipset, which means it will be possible to replicate them with the Nano 33 IoT.
Bluetooth® and BLE
The communications chipset on the Nano 33 IoT can be both a BLE and Bluetooth® client and host device. Something pretty unique in the world of microcontroller platforms. If you want to see how easy it is to create a Bluetooth® central or a peripheral device, explore the examples at our ArduinoBLE library.
We Make it Open for you to Hack Along
The Nano 33 IoT is a dual processor device that invites for experimentation. Hacking the WiFiNINA module allows you to, for example, make use of both WiFi and BLE / Bluetooth® at once on the board. Yet another possibility is having a super-lightweight version of linux running on the module, while the main microcontroller controls low level devices like motors, or screens. These experimental techniques, require advanced hacking on your side. They are possible via modifying the module's firmware that you can find at our github repositories.
BEWARE: this kind of hacking breaks the certification of your WiFiNINA module, do it at your own risk.
If you are looking at upgrading from previous Arduino designs, or if you are just interested in boards with similar functionality, at Arduino you can find:
- Arduino MKR WiFi 1010: the Pro version of the Nano 33 IoT, lacks the accelerometer, but includes a battery charger, and the Arduino Eslov connector for external I2C boards. Read more here.
- Arduino Uno WiFi rev2: the education version of the MKR WiFi 1010, with USB-B connector and embedded accelerometer. Read more here.
- MKR WiFi 1000: can only run WiFi applications, as it includes a different chipset than the Nano 33 IoT. Read more about it here.
The Getting Started section contains all the information you need to configure your board, use the Arduino Software (IDE), and start tinkering with coding and electronics.
Check the Arduino Forum for questions about the Arduino Language, or how to make your own Projects with Arduino. Need any help with your board please get in touch with the official Arduino User Support as explained in our Contact Us page.
You can find here your board warranty information.
The Arduino Nano 33 IoT is based on the SAMD21 microcontroller.
|Microcontroller||SAMD21 Cortex®-M0+ 32bit low power ARM MCU (datasheet)|
|Radio module||u-blox NINA-W102 (datasheet)|
|Secure Element||ATECC608A (datasheet)|
|Input Voltage (limit)||21V|
|DC Current per I/O Pin||7 mA|
|CPU Flash Memory||256KB|
|Digital Input / Output Pins||14|
|PWM Pins||11 (2, 3, 5, 6, 9, 10, 11, 12, 16 / A2, 17 / A3, 19 / A5)|
|Analog Input Pins||8 (ADC 8/10/12 bit)|
|Analog Output Pins||1 (DAC 10 bit)|
|External Interrupts||All digital pins (all analog pins can also be used as interrput pins, but will have duplicated interrupt numbers)|
|USB||Native in the SAMD21 Processor|
|Weight||5 gr (with headers)|
The Arduino Nano 33 IoT is open-source hardware! You can build your own board using the following files:
Download the full pinout diagram as PDF here.
Download the Fritzing part here.
Programming and Debugging Port
On the bottom side of the board, under the communication module, debug signals are arranged as 3x2 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. Check the downloadable pinout diagram for the exact configuration.
Availability of the Nina Module Pins
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 Pin||SAMD21 Acronym||NINA Pin||NINA Acronym||Header Description|
|8||PB09||31||GPIO33||A5 / SCL|
|7||PB08||35||GPIO5 / GPIO19||A4 / SDA|
Batteries, Pins and board LEDs
- Batteries: the Nano 33 IoT has no battery connector, nor charger. You can connect any external battery of your liking as long as you respect the voltage limits of the board.
- Vin: This pin can be used to power the board with a DC voltage source. If the power is fed through this pin, the USB power source is disconnected. This pin is an INPUT. Respect the voltage limits to assure the proper functionality of the board.
- 5V: This pin outputs 5V from the board when powered from the USB connector. Note: for it to work, you need to short theor VBUS jumper on the back of the board. If you power the board from the VIN pin, you won’t get any regulated 5V and even if you do the solder bridge.
- 3.3V: This pin outputs 3.3V through the on-board voltage regulator.
- LED ON: This LED is connected to the 5V input from either USB or VIN.
- I2C pins: 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.