Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Arduino 33 Nano IoT: Examples, Pinouts, and Specs

Image of Arduino 33 Nano IoT
Cirkit Designer LogoDesign with Arduino 33 Nano IoT in Cirkit Designer

Introduction

The Arduino Nano 33 IoT is a compact microcontroller board based on the ARM Cortex-M4 architecture. It is specifically designed for Internet of Things (IoT) applications, featuring built-in Wi-Fi and Bluetooth connectivity. This board is ideal for creating connected devices, enabling seamless communication with cloud services, mobile devices, and other IoT systems. Its small form factor makes it suitable for projects with space constraints, while its powerful processing capabilities allow for advanced data processing and control.

Explore Projects Built with Arduino 33 Nano IoT

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Nano Weather Station with Ethernet Connectivity
Image of Nano_Sht31_W5500: A project utilizing Arduino 33 Nano IoT in a practical application
This circuit features an Arduino Nano microcontroller interfaced with an Ethernet W5500 module for network connectivity and an SHT31 sensor for temperature and humidity measurements. The Arduino Nano communicates with the Ethernet module via SPI and reads data from the SHT31 sensor using I2C, enabling remote monitoring of environmental conditions.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano 33 BLE IR Sensor Interface
Image of new: A project utilizing Arduino 33 Nano IoT in a practical application
This circuit consists of an Arduino Nano 33 BLE microcontroller connected to an infrared (IR) sensor. The IR sensor's output pin is connected to the D7 digital input pin on the Nano, allowing the microcontroller to read the sensor's signal. The sensor is powered by the 3.3V output from the Nano, and both the sensor and the Nano share a common ground connection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano-Controlled LED Display with RTC and Humidity Sensing
Image of Alarm Clock: A project utilizing Arduino 33 Nano IoT in a practical application
This circuit features a Nano 3.0 ATmega328P microcontroller connected to an LED dot display, a real-time clock (RTC DS3231), and a humidity and temperature sensor (SHT21). The microcontroller communicates with the RTC and SHT21 via I2C (using A4 and A5 as SDA and SCL lines, respectively), and it controls the LED display through SPI-like signals (using D10, D11, and D12 for DIN, CS, and CLK). The circuit is designed to display time and environmental data on the LED display, with all components sharing a common power supply and ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano-Based GPS and GSM Tracker with RGB LED Indicators
Image of CycloTrace: A project utilizing Arduino 33 Nano IoT in a practical application
This circuit integrates multiple sensors and communication modules with two Arduino Nano microcontrollers to create a versatile IoT system. It includes GPS, GSM, Bluetooth, and an accelerometer for data acquisition and communication, along with WS2812 RGB LED strips for visual feedback. Power is managed through TP4056 modules and Li-ion batteries, with a 5V PSU providing additional power to the GSM module.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Arduino 33 Nano IoT

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Nano_Sht31_W5500: A project utilizing Arduino 33 Nano IoT in a practical application
Arduino Nano Weather Station with Ethernet Connectivity
This circuit features an Arduino Nano microcontroller interfaced with an Ethernet W5500 module for network connectivity and an SHT31 sensor for temperature and humidity measurements. The Arduino Nano communicates with the Ethernet module via SPI and reads data from the SHT31 sensor using I2C, enabling remote monitoring of environmental conditions.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of new: A project utilizing Arduino 33 Nano IoT in a practical application
Arduino Nano 33 BLE IR Sensor Interface
This circuit consists of an Arduino Nano 33 BLE microcontroller connected to an infrared (IR) sensor. The IR sensor's output pin is connected to the D7 digital input pin on the Nano, allowing the microcontroller to read the sensor's signal. The sensor is powered by the 3.3V output from the Nano, and both the sensor and the Nano share a common ground connection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Alarm Clock: A project utilizing Arduino 33 Nano IoT in a practical application
Arduino Nano-Controlled LED Display with RTC and Humidity Sensing
This circuit features a Nano 3.0 ATmega328P microcontroller connected to an LED dot display, a real-time clock (RTC DS3231), and a humidity and temperature sensor (SHT21). The microcontroller communicates with the RTC and SHT21 via I2C (using A4 and A5 as SDA and SCL lines, respectively), and it controls the LED display through SPI-like signals (using D10, D11, and D12 for DIN, CS, and CLK). The circuit is designed to display time and environmental data on the LED display, with all components sharing a common power supply and ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of CycloTrace: A project utilizing Arduino 33 Nano IoT in a practical application
Arduino Nano-Based GPS and GSM Tracker with RGB LED Indicators
This circuit integrates multiple sensors and communication modules with two Arduino Nano microcontrollers to create a versatile IoT system. It includes GPS, GSM, Bluetooth, and an accelerometer for data acquisition and communication, along with WS2812 RGB LED strips for visual feedback. Power is managed through TP4056 modules and Li-ion batteries, with a 5V PSU providing additional power to the GSM module.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Smart home devices (e.g., connected lights, thermostats, and sensors)
  • Wearable technology
  • Industrial IoT systems
  • Environmental monitoring
  • Remote control and automation
  • Prototyping IoT solutions

Technical Specifications

The Arduino Nano 33 IoT is packed with features that make it versatile and powerful for IoT applications. Below are its key technical details:

Key Technical Details

  • Microcontroller: SAMD21 Cortex-M0+ 32-bit ARM processor
  • Connectivity: Wi-Fi (802.11 b/g/n), Bluetooth 4.2 (BLE)
  • Operating Voltage: 3.3V
  • Input Voltage (VIN): 5-21V
  • Digital I/O Pins: 14 (12 PWM outputs)
  • Analog Input Pins: 8
  • Analog Output Pins: 1 (DAC)
  • Flash Memory: 256 KB
  • SRAM: 32 KB
  • Clock Speed: 48 MHz
  • Dimensions: 45 x 18 mm
  • Weight: 5 g

Pin Configuration and Descriptions

The Arduino Nano 33 IoT has a total of 30 pins. Below is the pinout and description:

Pin Type Description
VIN Power Input External power input (5-21V).
3.3V Power Output Regulated 3.3V output.
GND Ground Ground connection.
A0-A7 Analog Input Analog input pins (12-bit ADC).
D0-D13 Digital I/O Digital input/output pins (PWM available on D2-D13).
TX (D1) UART TX Transmit pin for serial communication.
RX (D0) UART RX Receive pin for serial communication.
SDA I2C Data Data line for I2C communication.
SCL I2C Clock Clock line for I2C communication.
MOSI SPI Data Out Master Out Slave In for SPI communication.
MISO SPI Data In Master In Slave Out for SPI communication.
SCK SPI Clock Clock line for SPI communication.
RST Reset Resets the microcontroller.
AREF Analog Ref. Reference voltage for analog inputs.
LED_BUILTIN Digital Output Onboard LED connected to D13.

Usage Instructions

The Arduino Nano 33 IoT is easy to use and can be programmed using the Arduino IDE. Below are the steps to get started and some important considerations.

How to Use the Arduino Nano 33 IoT in a Circuit

  1. Power the Board: Connect the board to your computer via a USB cable or use an external power source (5-21V via VIN pin).
  2. Install the Arduino IDE: Download and install the latest version of the Arduino IDE from the official website.
  3. Install the Board Package:
    • Open the Arduino IDE.
    • Go to Tools > Board > Boards Manager.
    • Search for "Arduino SAMD Boards" and install the package.
  4. Select the Board and Port:
    • Go to Tools > Board and select "Arduino Nano 33 IoT".
    • Go to Tools > Port and select the port to which the board is connected.
  5. Write and Upload Code:
    • Write your code in the Arduino IDE.
    • Click the upload button to program the board.

Example Code: Connecting to Wi-Fi

The following example demonstrates how to connect the Arduino Nano 33 IoT to a Wi-Fi network.

#include <WiFiNINA.h> // Include the WiFiNINA library

// Replace with your network credentials
const char* ssid = "Your_SSID";       // Your Wi-Fi network name
const char* password = "Your_Password"; // Your Wi-Fi network password

void setup() {
  Serial.begin(9600); // Start serial communication at 9600 baud
  while (!Serial);    // Wait for the serial monitor to open

  Serial.println("Connecting to Wi-Fi...");

  // Attempt to connect to Wi-Fi
  if (WiFi.begin(ssid, password) != WL_CONNECTED) {
    Serial.println("Failed to connect to Wi-Fi");
    while (true); // Halt execution if connection fails
  }

  Serial.println("Connected to Wi-Fi!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP()); // Print the device's IP address
}

void loop() {
  // Add your main code here
}

Important Considerations and Best Practices

  • Voltage Levels: The Arduino Nano 33 IoT operates at 3.3V. Ensure that any external components connected to the board are compatible with 3.3V logic levels.
  • Wi-Fi Antenna: Avoid placing the board in a metal enclosure or near other electronic components that may interfere with the onboard Wi-Fi antenna.
  • Firmware Updates: Keep the Wi-FiNINA firmware up to date for optimal performance. Use the Firmware Updater tool in the Arduino IDE to update the firmware.

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected by the Arduino IDE:

    • Ensure the correct USB cable is used (some cables are power-only and do not support data transfer).
    • Check that the correct board and port are selected in the Arduino IDE.
    • Try reinstalling the Arduino SAMD Boards package.
  2. Wi-Fi connection fails:

    • Double-check the SSID and password for your Wi-Fi network.
    • Ensure the Wi-Fi network is 2.4 GHz, as the board does not support 5 GHz networks.
    • Update the Wi-FiNINA library and firmware.
  3. Code upload fails:

    • Press the reset button on the board twice to enter bootloader mode, then try uploading the code again.
    • Check for conflicting drivers or software on your computer.

FAQs

  • Can I use the Arduino Nano 33 IoT with 5V sensors? No, the board operates at 3.3V. Use a level shifter to interface with 5V sensors.

  • How do I update the Wi-FiNINA firmware? Open the Arduino IDE, go to Tools > WiFi101/WiFiNINA Firmware Updater, and follow the instructions.

  • What is the range of the onboard Bluetooth? The Bluetooth range is approximately 10 meters, depending on environmental factors.

By following this documentation, you can effectively use the Arduino Nano 33 IoT for your IoT projects.