How to Upgrade the Firmware on Arduino Nano 33 IoT

How to Upgrade the Firmware on Arduino Nano 33 IoT

The Arduino Nano 33 IoT uses a NINA-W102 wireless module for WiFi and Bluetooth connectivity. Keeping this module firmware up to date improves connection reliability, security, and compatibility with Arduino IoT Cloud. In this tutorial, you will learn the exact steps to upgrade Nano 33 IoT firmware using the Firmware Updater in Arduino IDE 2.x.

how to upgrade the firmware on Arduino Nano 33 IoT

This guide covers:

  • Prerequisites before you begin
  • Step-by-step Nano 33 IoT firmware upgrade
  • Firmware verification after update
  • Troubleshooting common update problems

Hardware Preparation

1×Arduino Nano 33 IoT
1×Micro USB Cable
1×Recommended: Screw Terminal Expansion Board for Arduino Nano
1×Recommended: Breakout Expansion Board for Arduino Nano
1×Recommended: Power Splitter for Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Disclosure: Some of the links provided in this section are Amazon affiliate links. We may receive a commission for any purchases made through these links at no additional cost to you.
Additionally, some of these links are for products from our own brand, DIYables .

Important Considerations:

  • Always use a proper USB data cable (charging-only cables will not work for firmware updates).
  • Ensure all serial monitor applications and programs accessing the COM port are closed before starting.
  • Following the firmware update, you may need to disconnect and reconnect the board to resume normal operation.
  • Should the update process fail, attempt these steps: press the board's RESET button, refresh the available port list in the IDE, or try an alternative USB cable or port. Occasionally, Linux systems provide better compatibility than Windows.

Prerequisites

  • Download and install the current Arduino IDE (version 2.3.0 or higher is recommended).
  • Install the most recent "Arduino SAMD Boards (32-bits ARM Cortex-M0+)" package through Tools > Board > Boards Manager (search for "Arduino SAMD").
Arduino IDE 2 Boards Manager Arduino SAMD
  • Connect your Nano 33 IoT board to your computer using a USB cable.

Verify Current Firmware Status on Your Arduino Nano 33 IoT

  • Upload the following code to your Arduino Nano 33 IoT board:
#include <WiFiNINA.h> void setup() { // Start serial communication and wait for port: Serial.begin(9600); while (!Serial) { ; // Wait for serial port to connect } } void loop() { String fv = WiFi.firmwareVersion(); if (fv < WIFI_FIRMWARE_LATEST_VERSION) { Serial.println("Firmware update required"); } else { Serial.println("Firmware is current"); } delay(1000); }
  • Launch the Serial Monitor within the IDE.
  • Examine the messages displayed in the Serial Monitor.
  • If you see the following message, your firmware is already current and no update is necessary:
COM6
Send
Firmware is current
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • If you see this message instead, proceed with the firmware upgrade instructions below:
COM6
Send
Firmware update required
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Step-by-Step Instructions

Step 1: Upload a Simple Sketch

To avoid potential conflicts with running programs, upload a minimal sketch that puts the board in a neutral state:

  1. Launch the Arduino IDE.
  2. Navigate to File > Examples > 01.Basics > BareMinimum. Or simply copy this code:
void setup() { // No initialization needed } void loop() { // No operations }
  1. Choose your board (Tools > Board > Arduino SAMD Boards (32-bits ARM Cortex-M0+) > Arduino Nano 33 IoT) and select the appropriate port.
  2. Click the Upload button to flash the sketch.

Step 2: Access the Firmware Updater Tool

  1. In the Arduino IDE, navigate to Tools > Firmware Updater to launch the updater dialog.
Arduino IDE Firmware Updater Tool

Step 3: Choose Your Board Model

Arduino Nano 33 IoT upgrade Firmware

From the "Select Board" dropdown menu, select Arduino Nano 33 IoT. If your board doesn't appear in the list:

  • Verify the USB connection and try using a different cable or port.
  • Press the board's RESET button.

Step 4: Search for Available Updates

  1. Click the Check Updates button to scan for new firmware releases.
Arduino Nano 33 IoT check Update Firmware
  1. If multiple firmware versions are available, choose the most recent one from the dropdown menu.
Arduino Nano 33 IoT Update Firmware in WiFi Module

Step 5: Perform the Firmware Installation

  1. Click the Install button (or Update Firmware).
Arduino Nano 33 IoT Install Update Firmware
  1. Allow the installation to complete (typically 1-2 minutes). The progress bar will fill, or the "Installing firmware" message will disappear.
Arduino Nano 33 IoT Install Firmware

You may see a "Firmware successfully installed" confirmation, or the updater may return to its initial state.

Arduino Nano 33 IoT Install Firmware

Step 6: Complete the Update Process

  1. Close the Firmware Updater dialog.
  2. Unplug the USB cable from the Arduino Nano 33 IoT.
  3. Reconnect the board to exit any special programming mode.
  4. Confirm successful update by uploading this verification code and checking the Serial Monitor:
#include <WiFiNINA.h> void setup() { // Start serial communication and wait for port: Serial.begin(9600); while (!Serial) { ; // Wait for serial port to connect } } void loop() { String fv = WiFi.firmwareVersion(); if (fv < WIFI_FIRMWARE_LATEST_VERSION) { Serial.println("Firmware update required"); } else { Serial.println("Firmware is current"); } delay(1000); }

Troubleshooting

Issue Cause Solution
Board not appearing Cable/port issue Use a proper data cable; test different ports; press RESET button.
Update process fails quickly Driver/system incompatibility Update USB drivers; try on Linux; restart the IDE.
"Firmware update required" still shows Update didn't complete Repeat the update procedure; verify board is in normal mode before uploading sketches.
IDE version compatibility error Using outdated IDE Download and install Arduino IDE 2.x.
WiFi module unresponsive Corrupted firmware Check Arduino forums for recovery procedures specific to NINA-W102 module.

※ OUR MESSAGES

  • As freelancers, We are AVAILABLE for HIRE. See how to outsource your project to us
  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!