I have this problem ALL the time on TWO different Windows 7 machine, with two different Unos.

It works for a while - but if it's "interrupted" (like I unplug the Uno, then re-plug it in) - get gets into this funny state where, even though the Device Manager sees the Uno going aways and comming back (on the SAME COM port) - the IDE no longer sees it.

Even if I quit and restart the IDE, it STILL does not recognize it. Eventually, it does recognize it. (No idea when/why). Rebooting the machine seems to do this. I am *positive* that I am actually shutting down and restarting the IDE.

Any idea why this is happening - or better yet - how to get through it?

If an application (e.g. Serial Monitor) has a USB-serial port (e.g. your Uno) open and the USB-serial port is removed ("surprise removal" in USB vernacular), Windows gets rather testy. Usually, shutting down the application, disconnecting the USB device, then reconnecting the USB device clears the problem.

Hi..I had the exact same issue. The device manager showed the comports, but it did not appear in the arduino IDE.My situation was that I tried to read some data through Processing from an Arduino Uno and an Arduino Pro Mini. I was using a USB hub to read the data from both devices. There were couple of times the processing ran into Null Pointer Exceptions and some other errors while reading the data. After that I started getting the issue. Also sometimes the both devices didn't detect well when I used the hub.

Solutions : I disabled the comport for the Uno on the Device Manager. Then enabled it again and it worked ok. Also, using a hub did not work robustly for the two Arduino's. I used two different USB ports on my laptop and it worked well (but it worked well with one Arduino and other devices like mouse and keyboard on the USB hub)

Sometimes you get this error when you try to read the Serial Data from another program (like Processing in my case) and crashes. I think this is because the Serial Port is not released by that program when the error occurs. So try everything possible to make sure the port is released to run it again.