Itsy Bitsy M4 Express Not Activating

I am working with an Itsy Bitsy M4 Express and am trying to execute my code on it and I’ve been having multiple issues with it across two devices. On the first device I am having these two issues: 1- I have a micro usb connected and the specific port it’s in selected, but an error message says it doesn’t read it and to try resetting. 2- An error message is saying the device isn’t recognized for whatever reason. On the second device, I am having this issue: As soon as the code is uploaded the board deactivates, but stays powered on.
Thank you for any assistance you can give me.

Hi @dylanh8775.
The tricky thing about the boards with native USB functionality like your board is that 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. Does the problem still occur after you upload the bare minimum File > New sketch to the board? If so, you will know that the origin of the problem is something in the code of your original sketch.

Hi @dylanh8775

Have you tried double tapping the reset button (two times in quick succession)? This should put the UF2 bootloader into bootloader mode. It should appear as an additional drive on your computer.

In bootloader mode the board should reconnect to the host computer. Reselect the COM port in the Arduino IDE and upload once more.

@pert Just making sure, do you mean to just try and upload a new sketch that’s blank?

Well, not blank, but with the bare minimum to be a valid sketch:

void setup() {}
void loop() {}

This will exclude the possibility of any code that could break the USB stack.

@pert The same thing happens with a bare minimum sketch, but how do I fix the USB code? Also I haven’t touched it until now, so what’s the file I can find on the board that contains it?

@MartinL Sadly, I’ve been trying this but it still doesn’t work. Do you have any other ideas?

@dylanh8775 Have you tried using a different USB cable? Very occasionally a faulty cable can be the cause.

Please describe what you mean by “the same thing happens”.

Were you able to successfully upload the bare minimum sketch to the board?

If there is code breaking the USB stack, it’s in the file of the sketch you uploaded. This is the whole point of uploading the bare minimum sketch. There is absolutely nothing in the bare minimum sketch that could break USB.

@pert What I meant by that is the third issue I mentioned happens. The board deactivated but stays powered on as soon as the blank sketch uploaded.

@dylanh8775 On the second board, have you tried updating the bootloader to the latest version?: https://learn.adafruit.com/introducing-adafruit-itsybitsy-m4/update-the-uf2-bootloader.

If the board’s bootloader version is older than V3.9.0 then it requires updating.

Once you’ve downloaded the .uf2 update file and placed the board in bootloader mode, it’s just a case of dragging and dropping the file onto the microcontroller’s drive and the update occurs automatically.