Arduino nano 33 iot suddenly not found

Hi, I'm using arduino nano33 IoT with ccs811 sensor and my nano is suddenly not found in my computer.
I worked well but after I connected gnd wire indicating LED is not blinking anymore.
Power LED indicater is tunred on.
I tried with new one but it happened again.
How can I solve this?

Hi @jiwonyi2. Please try this experiment and then report back with the results:

  1. Connect your Arduino board to your computer with the USB cable.
  2. Press and release the reset button on your Arduino board quickly twice.
  3. If it is already open, close the Tools > Port menu in Arduino IDE.
  4. Open the Tools > Port menu in Arduino IDE.

Now please reply here on the forum thread with the answers to the following questions:

  • Do you now see the LED on the board pulsing?
  • Do you see a port for the board in the Tools > Port menu?

yes, one of them is shown but the other nano isn't working.
only one of them's led are blinking and connected but I still have an "no device found" error as I upload the code.

OK, in order to avoid confusion, let's focus exclusively on getting that one working for now since the situation is significantly different between the two boards. We can circle back to discussing the other board after that.

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.

The missing port makes it so you can't upload normally any more. However, the situation is really not so bad because there is an independent program called the bootloader in a separate section of memory from your sketch, and that program has its own USB CDC code. So even if the sketch is completely broken, you only need to activate the bootloader to get a port back and be able to upload.

Fortunately, there is an easy way to manually activate the bootloader and recover from this situation:

  1. Press and release the reset button on your board quickly twice.
    The double reset activates the bootloader. It will run until the board is reset normally, powered off, or an upload is done.
  2. Select the port of your board from the Tools > Port menu in Arduino IDE.
  3. Start an upload in Arduino IDE.

Now please reply here on the forum thread with the answers to the following questions:

  • Was the upload successful?
  • Do you see a port for the board in the Tools > Port menu, without needing to perform a double reset as before?

Firts, I still have an error while upload.
it says "failed uploading : uploading error : exit status 1"
and as I double press the reset button, led indicater blinks very slowly not like when I used at first.

second, once I double press the reset button, the board is shown right away in port menu but as I disconnect the cable and reconnect it, the board doesn't come out.

avrdude: stk500v2_ReceiveMessage(): timeout

and I also got this message

The expected behavior is that the LED will slowly fade back and forth between the off state and full brightness? Is that what you are seeing?

OK, I see why the upload failed. You have the wrong board selected in Arduino IDE. You have configured the IDE for use with the classic Nano. You must configure it for use with the Nano 33 IoT. Despite the similar names, there are significant technical differences between the two boards and they are not interchangeable.

Please try this:

  1. Select Tools > Board > Arduino SAMD Boards (32-bits ARM Cortex-M0+) > Arduino Nano 33 IoT from the Arduino IDE menus.
  2. Press and release the reset button on your Arduino board quickly twice.
  3. Verify that the LED is pulsing. If it is not, repeat the double reset until you see the LED has gone into the pulsing state.
  4. Select the port of your board from the Tools > Port menu in Arduino IDE.
  5. Select Sketch > Upload from the Arduino IDE menus.

Now please reply here on the forum thread with the answers to the following questions:

  • Was the upload successful?
  • Do you see a port for the board in the Tools > Port menu, without needing to perform a double reset as before?

Oh, I'm so sorry.
I forgot to change the board after I tested with another board.
It works fine now.
Thanks.

But the one that not working with reset button, has no solution?

OK, great. This is progress.

It is possible for a short or external circuitry connected to the Arduino board to cause it to no longer produce a port.

Make sure the board is not sitting on anything conductive that could short the contacts on the bottom of the board. Make sure there isn't any conductive debris (e.g., strands of wire or component leads) on the board or on the surface the board is sitting on.

If you have a shield or any external circuitry or components connected to your Arduino board, try this experiment:

  1. Disconnect the USB cable of the Arduino board from your computer.
  2. Disconnect any shields, modules, external circuitry, etc. from your board.
  3. Connect the Arduino board to your computer with a USB cable.

Now check to see whether a port is shown for the board in Arduino IDE's Tools > Port menu. If it does, you know the problem was caused by the external circuitry. You can then focus your attention on identifying the specific problem with the circuit and resolving it.

OK Thanks. I'll try that.

Sorry to bother you but one more question.

I keep trying to use Serial.print on the setup tab but it's not working.
is arduino nano doesn't support print function on setup tab?

It does. However, the program starts running on the board immediately after any of these things happen:

  • An upload finishes
  • The board is reset
  • The board is powered

It takes some time to open the serial port in Serial Monitor, so anything the board prints immediately after the program starts running will not be shown in Serial Monitor because Serial Monitor doesn't open in time.

This might be unexpected if you have experience working with boards like the classic Nano, UNO R3, and Mega since those boards have a special circuit that causes them to reset when you open Serial Monitor, allowing you to see serial output even from the start of the program execution.

If you want to make sure you can see the serial output from the Nano 33 IoT board, add this code immediately after the Serial.begin call in the setup function, before the first Serial.print call:

  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

This will make your program stay in an infinite loop until the serial port is opened in Arduino IDE Serial Monitor (or an equivalent application).

However, if you are wanting to run your program when the board is not connected to Serial Monitor, you must remove that while loop to allow the rest of the sketch to run, otherwise the program would be stuck in that infinite loop forever.

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