Arduino Nano 33 IoT not discoverable

Hello, I have come across the following problem.
My Arduino Nano 33 IoT is not discoverable in my Windows 11 Pro laptop and it only becomes discoverable when i double click the reset button and the Arduino is in bootloader. When i try to upload a sketch it again disappears.
I have tried uninstalling and reinstalling the Arduino IDE and the drivers for Nano 33 IoT but with no success.
Any advice ?

Hi @tkaragiannis.

The tricky thing about the boards with native USB capability like your board is the USB code that creates the CDC serial port is running on the same microcontroller as your sketch. This means your sketch code can break the USB code, or stop it from running. When that happens, the board no longer produces a serial port.

This can be unexpected to those who previously mainly worked with the boards like Uno and Mega with a dedicated USB chip that can never be affected by the sketch code.

So the problem you are encountering might be caused by the code of the specific sketch you are uploading to the board.

In order to check that hypothesis, please try this experiment and then report back here with the results:


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


  1. Select File > Examples > 01.Basics > BareMinimum from the Arduino IDE menus.
    The "BareMinimum" example sketch will open in a new Arduino IDE window.
  2. Activate the bootloader and upload the "BareMinimum" sketch, using the same recovery technique described in my previous reply.
  3. Wait for the upload to finish successfully.

Please add a reply here on this forum thread to tell us whether the problem of the board not producing a port still occurs when it is running this "BareMinimum" sketch.


In this experiment, the "BareMinimum" sketch is serving as a "known good" sketch that doesn't contain any code that might interfere with the board's ability to generate a USB CDC port. If the problem occurs when your real sketch is running on the board, but doesn't occur when "BareMinimum" is running on it, then we will know for certain that the problem is caused by something in the real sketch's code and we can focus our attention exclusively on identifying the problematic code.


1 Like

It seems that when running bare minimum from bootloader, the sketch is successfully uploaded. After the upload the Arduino is listed on Device Manager.

Great. This result supports my hypothesis that the problem is caused by something in the code of the sketch you were uploading previously.

If you post your sketch, the forum helpers would be happy to take a look at it to see if we can spot what is causing it to break/disable the USB CDC serial port of the board.

I'll provide instructions you can follow to do that:

  1. Select Tools > Auto Format from the Arduino IDE menus.
    This is done to make the code easier for us to read.
  2. Select Edit > Copy for Forum (Markdown) from the Arduino IDE menus.
  3. In a forum reply here, click on the post composer field.
  4. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the sketch to the post composer.
  5. Move the cursor outside of the code block markup before you add any additional text to your reply.
  6. Repeat the above process if your sketch has multiple tabs.
  7. Click the "Reply" button to post your reply.

When your code requires a library that's not included with the Arduino IDE please post a link to where you downloaded that library from, or if you installed it using Library Manager then say so and state the full name of the library.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.