Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.
Arduino Nano 33 IoT: WiFi & BLE Projects for Beginners
The Internet of Things has moved from industry buzzword to practical reality, and the Arduino Nano 33 IoT sits right at the center of this revolution. After designing countless connected devices over the years, I can confidently say this board represents the easiest entry point for makers wanting to build WiFi and Bluetooth projects. It packs wireless connectivity, motion sensing, and security features into the familiar Nano form factor that fits on a breadboard.
Whether you want to build a sensor network for your home, create a Arduino device that talks to your smartphone, or connect to cloud services like AWS or Azure, the Arduino Nano 33 IoT handles it all. This guide walks you through everything from specifications to your first wireless projects.
What is the Arduino Nano 33 IoT?
The Arduino Nano 33 IoT is a compact development board designed specifically for Internet of Things applications. It combines a 32-bit ARM Cortex-M0+ processor with integrated WiFi and Bluetooth Low Energy (BLE) connectivity. Unlike the classic Arduino Nano which required external modules for wireless communication, the Nano 33 IoT includes everything needed for connected projects on a single board.
The “33” in its name refers to the 3.3V operating voltage, a significant departure from the 5V operation of traditional Arduino boards. This lower voltage enables better power efficiency and direct compatibility with modern sensors that predominantly use 3.3V logic levels.
Arduino Nano 33 IoT Technical Specifications
Understanding the hardware capabilities helps you plan projects effectively. Here’s a complete breakdown of what’s under the hood:
Component
Specification
Microcontroller
ATSAMD21G18A (ARM Cortex-M0+ 32-bit)
Clock Speed
48 MHz
Flash Memory
256 KB
SRAM
32 KB
Operating Voltage
3.3V
WiFi Module
u-blox NINA-W102 (ESP32-based)
WiFi Standards
802.11 b/g/n (2.4 GHz)
Bluetooth
v4.2 BR/EDR and BLE
Security Chip
Microchip ECC608A crypto element
IMU Sensor
LSM6DS3 (6-axis accelerometer + gyroscope)
Digital I/O Pins
14
PWM Pins
11
Analog Input Pins
8
Analog Output (DAC)
1 (10-bit)
Board Dimensions
45mm x 18mm
USB Connector
Micro USB
The dual-processor architecture deserves special attention. The SAMD21 handles your main program logic while the NINA-W102 module (containing an ESP32) manages all wireless communications. This separation improves stability and allows simultaneous WiFi and Bluetooth operations.
Key Features That Make the Arduino Nano 33 IoT Stand Out
Integrated Wireless Connectivity
The u-blox NINA-W102 module delivers both WiFi and Bluetooth from a single chip. For WiFi, it supports 802.11 b/g/n standards in the 2.4 GHz band. You can connect to existing networks or create your own access point. The Bluetooth 4.2 implementation includes both classic Bluetooth and BLE, with the board capable of functioning as either a central or peripheral device.
Hardware Security
The Microchip ECC608A crypto chip provides hardware-based security for your IoT projects. This isn’t just marketing speak. The chip handles secure key storage, cryptographic operations, and certificate authentication. When connecting to cloud services that require SSL/TLS, the crypto chip offloads processing from the main microcontroller and protects your credentials.
Built-in Motion Sensing
The LSM6DS3 IMU combines a 3-axis accelerometer and 3-axis gyroscope. This enables projects like pedometers, gesture recognition, vibration monitoring, and basic inertial navigation without external sensors. The sensor connects via I2C and has its own dedicated Arduino library.
Real-Time Clock
The SAMD21 processor includes an integrated 32-bit RTC. Combined with WiFi time synchronization, you can build projects requiring accurate timekeeping. Schedule events, log data with timestamps, or create alarm systems that know what time it is.
Setting Up Your Arduino Nano 33 IoT
Getting started requires installing the proper board support and libraries. Follow these steps to prepare your development environment.
Hardware Setup
Item Needed
Purpose
Arduino Nano 33 IoT
The development board
Micro USB Cable
Power and programming
Computer
Running Arduino IDE
Breadboard (optional)
For prototyping circuits
Connect the board to your computer using the Micro USB cable. The onboard LED should illuminate, indicating power. Handle the board carefully, as the Micro USB connector and WiFi antenna are delicate components.
Software Installation
Step 1: Install Arduino IDE Download and install the Arduino IDE from arduino.cc/software if you haven’t already.
Step 2: Add Board Support Open Arduino IDE and navigate to Tools, Board, Boards Manager. Search for “Arduino SAMD” and install the Arduino SAMD Boards package. This provides the core files needed to compile code for the Nano 33 IoT.
Step 3: Select Your Board Go to Tools, Board, and select “Arduino Nano 33 IoT” from the list.
Step 4: Install Essential Libraries Open Tools, Manage Libraries and install these libraries:
WiFiNINA (for WiFi connectivity)
ArduinoBLE (for Bluetooth Low Energy)
Arduino_LSM6DS3 (for the IMU sensor)
RTCZero (for real-time clock functions)
Verify Installation
Upload the basic Blink sketch to confirm everything works. Go to File, Examples, 01.Basics, Blink, then click Upload. The onboard LED should start blinking. If upload fails, check that you’ve selected the correct port under Tools, Port.
Your First WiFi Project: Network Scanner
Let’s start with a practical project that demonstrates WiFi capabilities. This sketch scans for available WiFi networks and displays them in the Serial Monitor.
#include <WiFiNINA.h>
void setup() {
Serial.begin(9600);
while (!Serial);
if (WiFi.status() == WL_NO_MODULE) {
Serial.println(“WiFi module not found!”);
while (true);
}
Serial.println(“Scanning for networks…”);
}
void loop() {
int numNetworks = WiFi.scanNetworks();
if (numNetworks == -1) {
Serial.println(“Scan failed”);
} else {
Serial.print(“Found “);
Serial.print(numNetworks);
Serial.println(” networks:”);
for (int i = 0; i < numNetworks; i++) {
Serial.print(i + 1);
Serial.print(“) “);
Serial.print(WiFi.SSID(i));
Serial.print(” (Signal: “);
Serial.print(WiFi.RSSI(i));
Serial.println(” dBm)”);
}
}
Serial.println(“”);
delay(10000);
}
Upload this sketch, open the Serial Monitor at 9600 baud, and you’ll see a list of nearby WiFi networks with their signal strengths.
Connecting to a WiFi Network
The next step involves actually connecting to your WiFi network. Create a file called “arduino_secrets.h” with your credentials:
#define SECRET_SSID “YourNetworkName”
#define SECRET_PASS “YourPassword”
Then use this connection sketch:
#include <WiFiNINA.h>
#include “arduino_secrets.h”
char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS;
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.print(“Connecting to “);
Serial.println(ssid);
while (WiFi.begin(ssid, pass) != WL_CONNECTED) {
Serial.print(“.”);
delay(5000);
}
Serial.println(“\nConnected!”);
Serial.print(“IP Address: “);
Serial.println(WiFi.localIP());
}
void loop() {
// Your connected code here
}
Once connected, the board displays its assigned IP address. This forms the foundation for web servers, API calls, and cloud connectivity.
Your First BLE Project: Device Scanner
Bluetooth Low Energy opens different possibilities than WiFi. This sketch scans for nearby BLE devices:
#include <ArduinoBLE.h>
void setup() {
Serial.begin(9600);
while (!Serial);
if (!BLE.begin()) {
Serial.println(“BLE initialization failed!”);
while (1);
}
Serial.println(“Scanning for BLE devices…”);
BLE.scan();
}
void loop() {
BLEDevice peripheral = BLE.available();
if (peripheral) {
Serial.print(“Found: “);
Serial.print(peripheral.address());
if (peripheral.hasLocalName()) {
Serial.print(” – “);
Serial.print(peripheral.localName());
}
Serial.print(” (RSSI: “);
Serial.print(peripheral.rssi());
Serial.println(“)”);
}
}
This reveals all BLE devices in range, including fitness trackers, smart bulbs, and other IoT devices.
Creating a BLE Peripheral Device
The Arduino Nano 33 IoT can act as a BLE peripheral that smartphones connect to. Here’s a basic example that exposes a LED control service:
Use a BLE scanner app on your smartphone to discover “Nano33IoT_LED” and control the onboard LED remotely.
Using the Built-in IMU Sensor
The LSM6DS3 IMU enables motion-based projects without additional hardware:
#include <Arduino_LSM6DS3.h>
void setup() {
Serial.begin(9600);
while (!Serial);
if (!IMU.begin()) {
Serial.println(“IMU initialization failed!”);
while (1);
}
Serial.println(“IMU initialized!”);
}
void loop() {
float ax, ay, az;
float gx, gy, gz;
if (IMU.accelerationAvailable()) {
IMU.readAcceleration(ax, ay, az);
Serial.print(“Accel: “);
Serial.print(ax); Serial.print(“, “);
Serial.print(ay); Serial.print(“, “);
Serial.println(az);
}
if (IMU.gyroscopeAvailable()) {
IMU.readGyroscope(gx, gy, gz);
Serial.print(“Gyro: “);
Serial.print(gx); Serial.print(“, “);
Serial.print(gy); Serial.print(“, “);
Serial.println(gz);
}
delay(100);
}
This data enables gesture detection, orientation tracking, and vibration monitoring for countless project ideas.
Beginner Project Ideas for Arduino Nano 33 IoT
Project
Connectivity
Difficulty
WiFi Weather Station
WiFi
Easy
Smartphone-Controlled LED
BLE
Easy
Motion-Activated Alert System
WiFi + IMU
Medium
Plant Watering Monitor
WiFi
Easy
Fitness Step Counter
BLE + IMU
Medium
Smart Doorbell
WiFi
Medium
Temperature Logger to Cloud
WiFi
Medium
Gesture-Controlled Device
BLE + IMU
Advanced
Home Automation Hub
WiFi + BLE
Advanced
Important Considerations for Arduino Nano 33 IoT Projects
Voltage Compatibility
The Arduino Nano 33 IoT operates at 3.3V. Connecting 5V signals directly to the I/O pins will damage the board permanently. When migrating projects from 5V Arduino boards, check all sensor and module voltage requirements. Most modern components support 3.3V, but older 5V-only devices need level shifters.
Power Consumption
WiFi operations consume significantly more power than BLE. At 3.3V, expect approximately 110mA during WiFi activity versus 47mA for BLE. For battery-powered projects, prefer BLE when possible or implement sleep modes between transmissions.
Antenna Care
The WiFi/Bluetooth antenna is the small rectangular component at the board’s bottom. This component is fragile. Breaking it reduces wireless range dramatically. Mount the board securely in projects and avoid stress on the antenna area.
Useful Resources for Arduino Nano 33 IoT Development
AWS IoT Core Examples: Available in Arduino documentation
Blynk Platform: https://blynk.io/
Frequently Asked Questions About Arduino Nano 33 IoT
Can I use 5V sensors with the Arduino Nano 33 IoT?
No, not directly. The Arduino Nano 33 IoT operates at 3.3V and is not 5V tolerant. Applying 5V to any I/O pin will permanently damage the board. To use 5V sensors, you must add a logic level shifter between the sensor and the Arduino. Most modern sensors support 3.3V operation, so check datasheets before purchasing components. The board does have a 5V output pin (VUSB), but this only provides 5V for powering external devices when connected via USB, not for signal levels.
What is the range of WiFi and Bluetooth on the Arduino Nano 33 IoT?
WiFi range depends heavily on your router and environment but typically matches standard WiFi devices at 30-50 meters indoors. BLE range is approximately 7 meters (23 feet) indoors through two walls and exceeds 50 meters (165 feet) outdoors without obstacles. The integrated antenna is compact, so range may be less than devices with external antennas. Avoid mounting the board inside metal enclosures, which significantly reduces wireless performance.
How does the Arduino Nano 33 IoT differ from the Nano 33 BLE?
Both boards share the Nano form factor but serve different purposes. The Nano 33 IoT uses a SAMD21 processor with the NINA-W102 module providing WiFi plus Bluetooth 4.2. The Nano 33 BLE uses the more powerful nRF52840 processor (ARM Cortex-M4 at 64 MHz) with Bluetooth 5 but no WiFi capability. Choose the IoT version when you need WiFi connectivity or lower power Bluetooth. Choose the BLE version for Bluetooth 5 features, more processing power, or when WiFi isn’t needed.
Can I run both WiFi and Bluetooth simultaneously on the Arduino Nano 33 IoT?
Yes, the NINA-W102 module supports concurrent WiFi and Bluetooth operation. This enables projects that maintain a WiFi connection to cloud services while simultaneously communicating with local BLE devices. However, running both radios increases power consumption and requires careful code management to handle both communication stacks. For advanced users, hacking the NINA module firmware enables even more experimental dual-radio configurations.
What cloud services work with the Arduino Nano 33 IoT?
The Arduino Nano 33 IoT integrates with numerous cloud platforms. Arduino’s own IoT Cloud provides the simplest setup with dashboard creation and device management. Amazon Web Services (AWS) IoT Core, Microsoft Azure IoT Hub, Google Firebase, and Blynk all have documented integration paths. The onboard ECC608A crypto chip provides hardware security for TLS connections, making cloud authentication more secure. Example code for major platforms is available in Arduino’s documentation and the WiFiNINA library examples.
Taking Your Arduino Nano 33 IoT Skills Further
The projects covered here scratch the surface of what’s possible. As you grow comfortable with basic WiFi and BLE operations, explore the Arduino IoT Cloud for creating dashboards that monitor and control your devices remotely. Integrate sensors to build environmental monitoring systems. Connect multiple Nano 33 IoT boards to create mesh networks.
The combination of wireless connectivity, motion sensing, hardware security, and the familiar Arduino ecosystem makes the Nano 33 IoT an incredibly versatile platform. Every connected device you see, from smart thermostats to fitness trackers, uses similar fundamental technologies. Learning them on the Nano 33 IoT prepares you for professional IoT development while keeping the barrier to entry accessible.
Start with the simple projects in this guide, understand how each component works, then combine them into increasingly sophisticated systems. The maker community has built thousands of projects on this platform, and the documentation and examples available today make getting started easier than ever.
Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.