Arduino NANO 33 IoT board has been designed to offer a practical and cost effective solution for makers seeking to add Wi-Fi connectivity to their projects with minimal previous experience in networking. Learn how to set up the programming environment and get the hardware up and running, ready for your projects, in minutes.
The Arduino NANO 33 IoT is programmed using the Arduino Software (IDE), our Integrated Development Environment common to all our boards and running both online and offline. For more information on how to get started with the Arduino Software visit the Getting Started page.
On this page... (hide)
All Arduino and Genuino boards, including this one, work out-of-the-box on the Arduino Web Editor, no need to install anything.
The Arduino Web Editor is hosted online, therefore it will always be up-to-date with the latest features and support for all boards. Follow this simple guide to start coding on the browser and upload your sketches onto your board.
If you want to program your Arduino NANO 33 IoT while offline you need to install the Arduino Desktop IDE and add the Arduino SAMD Core to it. This simple procedure is done selecting Tools menu, then Boards and last Boards Manager, as documented in the Arduino Boards Manager page.
With the SAMD core installed, you now proceed with the driver installation.
No driver installation is necessary on OSX. Depending on the version of the OS you're running, you may get a dialog box asking you if you wish to open the “Network Preferences”. Click the "Network Preferences..." button, then click "Apply". The Arduino NANO 33 IoT will show up as “Not Configured”, but it is still working. You can quit the System Preferences.
Windows (tested on 7, 8 and 10)
If you properly installed the SAMD Core, just connect the Arduino NANO 33 IoT to your computer with a USB cable. Windows should initiate its driver installation process once the board is plugged in.
No driver installation is necessary for Linux.
Open the LED blink example sketch: File > Examples >01.Basics > Blink.
You'll need to select the entry in the Tools > Board menu that corresponds to your Arduino board.
Select the serial device of the board from the Tools | Serial Port menu. This is likely to be COM2 or higher (COM1 is usually reserved for hardware serial ports). To find out, you can disconnect your board and re-open the menu; the entry that disappears should be the Arduino board. Reconnect the board and select that serial port.
Now, simply click the "Upload" button in the environment. Wait a few seconds - you should see the RX and TX leds on the board flashing. If the upload is successful, the message "Done uploading." will appear in the status bar.
A few seconds after the upload finishes, you should see the on-board LED start to blink (in orange). If it does, congratulations! You've gotten your Arduino NANO 33 IoT up-and-running. If you have problems, please see the troubleshooting suggestions.
See this tutorial for a generic guide on the Arduino IDE with a few more infos on the Preferences, the Board Manager, and the Library Manager.
Now that you have set up and programmed your Arduino NANO 33 IoT board, you may find inspiration in our Project Hub tutorial platform or have a look to the tutorial pages that explain how to use the various features of your board.
Here are a few tutorials that will help you in making cool things with the SAMD and WiFi features of the board!
The microcontroller on the Arduino NANO 33 IoT runs at 3.3V, which means that you must never apply more than 3.3V to its Digital and Analog pins. Care must be taken when connecting sensors and actuators to assure that this limit of 3.3V is never exceeded. Connecting higher voltage signals, like the 5V commonly used with the other Arduino boards, will damage the Arduino NANO 33 IoT.
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 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.
Serial ports on the Arduino NANO 33 IoT
The USB connector of the board is directly connected to the USB host pins of the SAMD21. This routing enables you to use the Arduino NANO 33 IoT as a client USB peripheral (acting as a mouse or a keyboard connected to the computer) or as a USB host device so that devices like a mouse, keyboard, or an Android phone can be connected to the Arduino NANO 33 IoT. This port can also be used as a virtual serial port using the Serial object in the Arduino programming language. The RX0 and TX1 pins are a second serial port available as Serial1.
ADC and PWM resolutions
The Arduino NANO 33 IoT has the ability to change its analog read and write resolutions (defaults to 10-bits and 8-bits, respectively). It can support up to 12-bit ADC/PWM and 10-bit DAC resolutions. See the analog write resolution and analog read resolution pages for more information.
WiFi on the Arduino NANO 33 IoT
This board is fully compatible with the WiFiNINA library and all the examples made for it.
IMU on the Arduino NANO 33 IoT
The IMU is a LSM6DS3, it is a 3-axis accelerometer and 3-axis gyroscope. and it is connected to the SAMD through I2C. This chip, made by ST Microelectronics, is a standard component that you can use with our own library Arduino_LSM6DS3. To get the library, you can use our Library Manager available in the Arduino Software (IDE) .
The library contains two examples to show you how to read acceleration and rotational speed.
For more details on the Arduino NANO 33 IoT, see the product page.
Last revision 2019/05/27 by SM
The text of the Arduino getting started guide is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the guide are released into the public domain.