Micro disappears from device manager after few seconds

I will start that I am on Windows 7 64bit trying to use all drivers and whatnot from Arduino 1.0.4.

I have an new Arduino Micro that has been working quite well for the past 2 weeks that I have had it but now am having a terrible problem.

Whenever I reset / connect the Arduino while plugged in via USB, random things seam to happen and now I can't upload anything. The Arduino doesn't show up in the device manager in any form and the "Serial Port" menu in the programmer is empty. The problems that occur seemingly at random are:

1) It shows up under the device manager as COM 6 (usually) under the name "Arduino Micro Bootloader". But after a few seconds it disappears and the device manager refreshes and there is no sign of it. Usually an error from windows shows up saying that the device has malfunctioned (USB Device Not Recognized).

2) It shows up as Arduino Micro (but with the "no drivers" icon in device manager) and windows tries to install the drivers for it using Windows Update. I can't select the driver location myself and it eventually stops saying that the device was unplugged.

3) I get either an unknown device or unknown usb device in the device manager. When I try to install the drivers it usually fails but sometimes it will go through but it doesn't seam to change much.

4) It shows up as Arduino Micro properly with a COM number but then disappears after a few seconds and when the device manager refreshes, there is no trace of it.

For a while I was having problems with the sketches just not uploading - the board was showing up but whenever I uploaded a sketch it would freeze at around 80% and eventually die with some error (don't remember what it was). I was able to fix it with the trick of holding the reset button and then clicking the upload button. This lasted for about 10 uploads but then it went into the current issue I have.

This seams to have started for no real reason. I have been working on this program for a few days and I have been uploading sketches to it constantly without issue. It just started the other day and degraded into what I have now. I have tried restarting the computer, using different USB cables, and different USB ports on the computer, to no avail.

Any idea what could be wrong? I would be very sad if the board had to be sent back...

I just was able to try this on a Linux Mint installation and haven't been able to get it working there either. I am able to successfully upload Blink (at least there are no errors or delays) but pin 13 doesn't blink. If I try to do a Serial.println() I never get anything in the Serial Monitor.

When I have it connected in Windows, I can now refresh the device manager and I can see the Micro as an unknown device and another device unknown device under USB controllers but I can't install any drivers for either of them.

That is as far as I can get. Is the board broken? Should I send it back?

I have the same problem exactly. Tried on multiple computers with same result. I can get the blink or fade sketch to load by pushing the reset, quickly going to tools to select com 6 & hit upload within the 8 seconds before it disappears from the Ports in Device Manager & Arduino software. Then it shows up in other devices. While in other devices , which it will stay, it will not accept the driver or update..... I hope there is something else to try .

What happens initially is when you reset the Micro it’s bootloader USB driver is running and Windows enumerates the USB port as COMxx. But then after a timeout period the bootloader exits and runs the sketch code. As part of the sketch code there is a USB driver code running and Window enumerates the USB port as a different COMyy.

What happens too often and usually not on purpose is that someone did not properly select "Arduino Micro" under the Tools->Boards menu when they were trying to upload a new sketch to the Micro. So the wrong core code in the sketch got uploaded to the Micro, without the proper USB driver code as part of the sketch.

So what is happening when you reset the Micro the bootloader USB driver is running and shows up in Windows for a short time until it times out and then proceeds to execute the wrong sketch code without the proper USB core code. This will then show up in Windows as Unknown device.

The trick to fixing this is first restart (important step) your Arduino IDE software and make sure you select “Arduino Micro” under Tools->Boards. Make sure you select a basic sketch like Blink. The board may disappear from the Serial Port list but don’t worry. Then try to upload the sketch. During the build process (right after the compile process) you need to hit the reset button on the Micro again that should get the bootloader running just in time for the upload to proceed and hopefully restore the proper sketch code with the correct USB driver in it. You may need to retry this several times until you get the timing right.

1 Like

Sorry for the slight bit of thread necromancy but I just wanted to say that this works! Under device manager, I still get 1 "unknown device" but under com it shows the Arduino Micro. I don't remember what was the last driver I installed, etc, but I just followed the advice of hiduino and success!

The trick is right after it finishes saying "Compiling sketch" - instantly afterwards - you must hit the reset button quickly. Don't hold the reset button - just a real quick tap right at the right second. Then done! To upload another sketch (to confirm it is working), you must select the proper com port under Tools->Serial port. But then you are good to go.

Thanks again, I hope this thread helps someone else down the line.

I’m running into the same problem except that I never had a good spell, just started off on the wrong foot with the Micro. Following the instructions which hiduino posted still have not resolved the issue. I can press the reset button and load a sketch, ‘Blink’ for example blinks the LED attached to pin 13. Unfortunately the COM port is still missing from Tools–>Serial Port, and it appears as ‘USB IO Board’ in the device manager.

Details: Win7 64-bit, IDE 1.0.4 (tried 1.0.3 also). Using ‘Blink’. Tools–>Board is set to ‘Micro’. Still appears as ‘USB IO Board’ under the device manager.

After many attempts I tried setting Tools–>Board to ‘Leonardo’. This yields an entry of ‘Arduino Leonardo’ in the device manager instead of USB IO Board.

Could the driver installation process have gone wrong and picked up the wrong driver? Any other suggestions?

Update: I uninstalled the device in device manager. After plugging the Micro back in, it appeared as ‘Arduino Micro’ and driver installation failed. Some progress. When I follow the steps to update the driver, navigate to folder, etc, Windows claims that the drivers are not there. Diving in a specifying have disk and selecting the specific Arduino Micro driver causes a BSOD, oh joy. Ran into that one 5x.

The strange thing here is that I have no trouble at all on a Win7 32-bit machine. Everything works correctly. Looks like there is some sort of 64-bit driver compatibility issue.

Capture.PNG

i picked up a couple of the micros and i am having a similar problem. arduino ide :1.03 and 1.05 host OS: max OSX external hardware - four digital connections

it worked fine for a while on the first board. after a day or so though i get 'serial port already in use'. i also get a weird leonardo error. tried it on a second board (also a micro) and i get the same error message. previously i got a leonardo message so i changed the board time from 'micro' to 'leonardo' and it worked. BUT i get this weird USB keyboard setup menu when i plug in the micro!

so - my quick fix was to make sure console speed set correctly, and change board type from "micro" to "leonardo".

I came across this thread after searching for this exact problem. I followed the instructions provided by 'hiduino' and ended up finding success tweaking them slightly. Instead of hitting the reset button during the upload process I did the following: Don't have your micro plugged into a usb port. Have the arduino ide open with a simple bare minimum sketch, select the leonardo board (yes even if your using a micro). Press the reset button on your micro and hold, continue holding, and plug your board into a usb port. Continue holding the reset button and select upload the sketch. As soon as your ide window finishes compiling the sketch and begins the upload process release the reset button.

My results: The sketch loaded and my micro was continued to be recognized by the IDE program. Hiduino did a great job of explaining what was going on with the board. There are prob. several different ways to get your board recognized again this is simply the exact process I used to achieve my objective.

Hope this helps anyone who is still having difficulties, and thanks Hiduino for the explanation.

I also had this problem, but it was caused by a bad I2C connection. One of the I2C wires was pinched which provided a weak short to ground. (Actually the robot structure). This injected enough noise to mess with the micro and/or the USB driver. Some clues that differentiate this problem versus the others in this thread: 1. re-flashing with simple code such as Blink when in bootloader phase works, but when you put your application code back on, the problem resurfaces. 2. The problem only arises when you use the Wire library in your code. (which probably reconfigures those pins to be inputs).

So after some googling (and going forth and back to this page) my issue is very close to the one posted here, also the solution proposed by hiduino worked. But does this mean I ALWAYS have to hack-load the sketches? On the project I work, I wanted to switch from Uno to Micro but this issues is quite blocking.

Is there any nice solution so that my Micro appears with COM port in windows device manager?

Win 7 64 Arduino 1.0.6

FWIW: My Micro had a broken USB port. I never liked any USB port but this pico size socket on the Micro is scrap. When I bend down the plug with a little force or just bend it down through the breadboard and fix it in that position with a rubber the connection is fine. I noticed it after seeing the blue light flicker sometimes.

Tried a combination of a few things above, some got close to working but no avail. Had mine plugged into a hub, a decent one USB 3.0 and all and I suspect well-powered, but moving it to one of the system's direct USB port solved the problem for me.

Win7 x64, Arduino 1.6.8, re-flashed with Blink and "Ard/Gen Micro" as chip type, shows back up in device manager after bootloading as expected.

JPrime:
I came across this thread after searching for this exact problem. I followed the instructions provided by ‘hiduino’ and ended up finding success tweaking them slightly. Instead of hitting the reset button during the upload process I did the following:
Don’t have your micro plugged into a usb port. Have the arduino ide open with a simple bare minimum sketch, select the leonardo board (yes even if your using a micro). Press the reset button on your micro and hold, continue holding, and plug your board into a usb port. Continue holding the reset button and select upload the sketch. As soon as your ide window finishes compiling the sketch and begins the upload process release the reset button.

My results: The sketch loaded and my micro was continued to be recognized by the IDE program. Hiduino did a great job of explaining what was going on with the board. There are prob. several different ways to get your board recognized again this is simply the exact process I used to achieve my objective.

Hope this helps anyone who is still having difficulties, and thanks Hiduino for the explanation.

You saved my arduino <3

JPrime: I came across this thread after searching for this exact problem. I followed the instructions provided by 'hiduino' and ended up finding success tweaking them slightly. Instead of hitting the reset button during the upload process I did the following: Don't have your micro plugged into a usb port. Have the arduino ide open with a simple bare minimum sketch, select the leonardo board (yes even if your using a micro). Press the reset button on your micro and hold, continue holding, and plug your board into a usb port. Continue holding the reset button and select upload the sketch. As soon as your ide window finishes compiling the sketch and begins the upload process release the reset button.

My results: The sketch loaded and my micro was continued to be recognized by the IDE program. Hiduino did a great job of explaining what was going on with the board. There are prob. several different ways to get your board recognized again this is simply the exact process I used to achieve my objective.

Hope this helps anyone who is still having difficulties, and thanks Hiduino for the explanation.

You saved my leonardo , Thank you , God bless you

Thanks JPrime, worked with my Leonardo