Last Updated on 25 September 2023 by Suffocation
I couldn't resist in a shopping spree and ordered the new power package from Arduino. The 33 IOT is in the Nano form factor, but has WiFi. It also comes with a IMU integrated with the Acceleration and the situation in the room determined. More about this amazing board in the following sections.
The WLAN communication is handled by a u-blox module which has an ESP32 built in.
ATTENTIONThis Nano is not compatible with the original Nano as it operates at 3.3V instead of 5V. This is also indicated by the 33 in the name.
Facts
| Name | Arduino Nano 33 IoT | Arduino Nano 33 BLE |
|---|---|---|
| Number/CPU | 2 / SAMD21 Cortex®-M0+ 32-bit low-power ARM MCU | 1 / 64 MHz Arm® Cortex-M4F (with FPU) |
| Clock speed (MHz) | 48 | 64 |
| Kernel | ?/? | 1 |
| Digital IOs / Pins | 14 | 14 |
| Analog inputs | 8 | 8 |
| Interrupt Pins | 11 | 14 |
| Pulse Width Modulation | 8 | 14 |
| SPI | 1 | 1 |
| Flash memory | 256 | 1 megabyte |
| RAM (KB) | 32 | 256KB |
| EEPROM (KB) | – | – |
| WiFi | 2.4 GHz 802.11b/g/n NINA-W102 |
– |
| Encryption | WEB / WPA2 / TKIP / AES? | – |
| Bluetooth | 4.2 BR/EDR / 4.2 Low power | NINA-B306 Module Bluetooth® Low Energy 5.0 Module Bluetooth® 5 Multiprotocol / Zigbee |
| UART | 1 | 1 |
| I2C | 1 | 1 |
| Ethernet | – | – |
| Video | – | – |
| Sound | – | – |
| Miscellaneous | – | LSM9DS1 (9-axis IMU) MPM3610 DC regulator NFC-A tag Nina B306 |
| USB | 1 Micro | |
| Operating voltage [V] | 3,3 | 3,3 |
| Input voltage | 21 | 21 |
| Current (mA) / Standby (mA) | 7 / | 30 |
| Size L x W x H | 18x45x4 | 43,16 x 17,7 |
| Weight [g] | 7 | 5 |

Areas of application
- Bluetooth-controlled applications
- Connected sensors
- Internet of Things
Views


Programming
Install Board
The Nano33Iot itself must be installed via the Board Manager.

Libraries
Wi-Fi
For the Wi-Fi, there are the WiFiNINA Library.

IMU
The IMU Ship is a LSM6DS3 And Arduino offers its own library for this. Installation is possible via the Library Manager.

Bluetooth
For Bluetooth, Arduino has its own library that supports all of its chips.

Test programme
Bluetooth
The ArduinoBLE library includes a simple test program. This can be used to switch the LED on and off on the Nano board via Bluetooth.
Select test program, compile and upload to Arduino.

Android app to install on the phone to send readings to the Bluetooth device.
It also works for Apple users:
Launch Application

Select device
Below, enter 0 = for LED off or anything else for LED on and press the Write button.
Miscellaneous
Programming over the network
https://github.com/jandrassy/ArduinoOTA
Full pinout on Arduino
https://content.arduino.cc/assets/Pinout-NANO33IoT_latest.pdf
Fritzing part
https://content.arduino.cc/assets/Arduino%20Nano%2033%20IOT.fzpz
5 Volt supply to activate
The 5V USB voltage can be tapped from the 5V pin. This is good for sensors that require a 5V supply voltage. But please be careful, 5V on the inputs can damage the Nano.
The 5V pin is not connected on delivery. For this, there are two contact pads on the underside, which must be connected with solder. Please also refer to the following diagram.

Problems
No BLE connection on the phone
I suspect my Samsung Galaxy S8 is too old, I can see the Arduino in the Bluetooth monitor, but I can't use it in Light Blue.
Conclusion
With the 33 IoT, the Arduino developers have shown that they have understood how to make headway in the IoT world using Wi-Fi. The board leaves almost nothing to be desired. A compass module to complete the IMU would be a nice touch, but this can also be connected externally. The Arduino offers plenty of analogue and digital ports, and there are more than enough interrupts for specific feedback functions such as odometry. It has everything you need for robotics. The Wi-Fi connection appears to be stable, and the example programmes run without any problems.
A small drawback is the high price of €25-€35. Anyone who doesn't need so many ports could go for the ESP8266 or its successor ESP32 cheaper on the go and still get a display for under €10. However, the IMU must be operated externally.
The USB port takes a bit of getting used to, after programming a reset is performed, which is reminiscent of the Leonardo.
Related Posts
Sources
Arduino Bluetooth Contribution
https://github.com/jandrassy/ArduinoOTA
https://www.arduino.cc/en/Reference/WiFiNINA
https://www.arduino.cc/en/Guide/NANO33IoT
https://content.arduino.cc/assets/Arduino%20Nano%2033%20IOT.fzpz
https://content.arduino.cc/assets/Pinout-NANO33IoT_latest.pdf