Pages: [1]   Go Down
Author Topic: Arduino Micro COM jumping?  (Read 964 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I picked up an Arduino Micro from radioshack today and I'm having no luck with it so far.

I'm using windows vista. I installed the drivers just like I did for the Uno I have, and attempted to upload the blink example. As it was uploading I heard the USB disconnect sound, then the reconnect sound. The LED on the board was blinking, however the micro had moved from COM 5, to COM 6. I modified the blink example to blink different pins with leds hooked to them a few times, and each time I uploaded the sketch I would hear the usb disconnect and it would move to a different COM port. I went into control panel and tried to set it to COM 2. I choose COM 2 over the original COM 5, because COMs 5-8 (every COM it jumped to) were all "in use". I tried uploading a bigger sketch to see what would happen. I hooked up a gyroscope module and a full color LED, and used a simple program that would print the gyros sensor values to the serial monitor, and change the LED color based on the data. The device disconnected again and came back on COM 8. I opened the serial monitor, and nothing was printing. I hit the reset button on the micro and then it just vanished altogether. The disconnect sound played and nothing was available in the serial port menu until I restarted the computer and plugged the micro back in.

The sketch I uploaded didn't appear to be working either, as the LED didn't light up. Testing the sketch on my Uno proved the sketch worked as it's supposed to however. My Uno is still working fine, it stays put on COM 4 just like it's supposed to.

Does anyone have an idea of whats going on here, and how I can fix it?
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17253
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Well the arduino Micro board like the Leonardo board is a different kind of animal as far as it's USB driver and functions work. Can't say I understand it yet, but this from the product page may give you a hint of what is going on and why.

Quote

Automatic (Software) Reset and Bootloader Initiation
Rather than requiring a physical press of the reset button before an upload, the Micro is designed in a way that allows it to be reset by software running on a connected computer. The reset is triggered when the Micro's virtual (CDC) serial / COM port is opened at 1200 baud and then closed. When this happens, the processor will reset, breaking the USB connection to the computer (meaning that the virtual serial / COM port will disappear). After the processor resets, the bootloader starts, remaining active for about 8 seconds. The bootloader can also be initiated by pressing the reset button on the Micro. Note that when the board first powers up, it will jump straight to the user sketch, if present, rather than initiating the bootloader.
Because of the way the Micro handles reset it's best to let the Arduino software try to initiate the reset before uploading, especially if you are in the habit of pressing the reset button before uploading on other boards. If the software can't reset the board you can always start the bootloader by pressing the reset button on the board.

Lefty
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks Lefty that gives me an idea of whats going on,  but I'm still stumped on how to fix it. I will look up guides on Leonardo and see if I can find anything.
Logged

Wahiawa, Hawaii
Offline Offline
God Member
*****
Karma: 29
Posts: 582
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It is normal for the Micro and Leonardo to re-enumerate on the USB port during a reset.  It is because the USB function is being performed by the main processor.  When you reset the processor stops the USB function and runs the bootloader USB function as a different COM port.  After the bootloader exits to the sketch program the USB port has to re-enumerate again as part of the main sketch program.

You can try this tip from the Getting Stated page on the Arduino website.  See the third paragraph down.

http://arduino.cc/en/Guide/ArduinoLeonardoMicro#toc12

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for reply but that's not the case. Before my arduino unit showed on for ex. COM3, then after a while went to COM4 and it worked perfectly, but now it only shows as COM3, disappears and doesn't show again in the list of COM ports, even as an unidentified piece of hardware.
Logged

Wahiawa, Hawaii
Offline Offline
God Member
*****
Karma: 29
Posts: 582
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Since it is at least showing up as COM3, it appears the bootloader may still be working.  Once the bootloader exits it runs the main sketch.  However it could be the main sketch is bad and one of the main core functions is to run the USB code.  That could be why it is disappearing from the COM port list.

Which means that you may still be able to upload a new sketch to correct the problem.  Did you try the procedure to hold down the reset button until the upload message appears?

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I tried setting software to upload to COM3, pressing upload, then resetting it so it would upload the sketch while it is on COM3 before it dissapears, but it didn't help. Is it different than holding reset button?
Either way, I'll surely give it a try later, when I'm home.

I don't think it may help, still, can unsoldering everything connected be of any help?
Logged

Wahiawa, Hawaii
Offline Offline
God Member
*****
Karma: 29
Posts: 582
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


I don't think it may help, still, can unsoldering everything connected be of any help?


Do you mean you have other components soldered to the I/O pins?  I suppose there could be something interfering with the micro that prevents it from running correctly.  If so then yes it may help, but try the reset first.

Also, yes there is a difference in keeping down the reset until it is ready for the upload.  If you release the reset button too early then the bootloader could timeout before the actual upload begins.  One more thing, you should pick a known good sketch before trying, like Blink.

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

On my circuit I've got:
Midi socket, mono 3,5 jack socket, dc socket, some switches (toggle and a footswitch, total of 5 pullup_input), RGB led (common catode), 10kpot and everything is in aluminum enclosure.
But worked perfectly, until it stoped.

Before it stopped working I was just tweeking part of the program which changed functions used with switches. It worked on usb but when I pluged 9v dc (it used to run od dc with no problems) I had some issues. Last one of them was led turning on randomly and some tx, rx blinking.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Update: Holding down reset didn't helped.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Unsoldering and uploading blink (holding reset just like You instructed) helped. Now my computer sees arduino again. Many thanks!
Logged

Pages: [1]   Go Up
Jump to: