pro micro - confirm it is recoverable

Go To Last Post
20 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Got three pro micro clones. Two are fine and the third one started behaving in usual manner: seen by Windows as COM5, will not take sketch, changes COM state, Rx, Tx led's change state, not recignized by Windows and IDE anymore.

In short I've tried all 'solution' I could find on the net, reset, copy .hex file from good one and so far no stable result.

'Tools' I have in my disposal are: AVRISP MKII programmer, Atmel Studio 7.0, W10, Linux. 

Is it possible just with this kind of programmer and Atmel to draw a conclusion board is bad?

Few times I've managed to re-flash the board using programmer and Studio, all checked good but as soon as connected to Windows it goes back to 'normal bad'.

 

When board is left disconnected for 15 minutes or more it will change state of LEDs. Every time something is done to the board, connected to programmer, or whatever, Rx, Lx LEDs change state:

  -Both Rx, Tx LEDs are off

  -Tx is on   

  -Both Rx, Tx LEDs are on

 

Clones are cheap but there should be a method we can use and confirm board is bad as it can happen with other boards. 

 

Board was connected only few times and then did not work properly again. Board was connected to a few different computers with Linux and W10. Noted (with good one) that if I connect board to Linux

and then back to W10, board is seen as COM8 but when sketch is uploaded, it changes back to 'normal' COM5.

 

Everything I have is tested with two good pro micro clones and one that is bad, so there is no issue with programmer, cables, test procedure, software.

 

I have pages and pages of recorded screens etc but the point here is what is the minimum hardware/software that we can use to confirm board is good or bad? 

 

Or is there a 'step-by-step' basic test?

 

thanks

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Welcome to the Forum.

 

You might provide a link to the Pro Micro so we can see what your specific boards are.

 

With the MkII and Studio 7 you have all that you need to check  out the micro.

 

Power the board up, hook up the AVR ISP mkII and Studio.

 

If the board has a 6-pin ISP header that makes it easy, otherwise you will have to jerry rig the connections or make a cable of sorts.

 

Set the ISP speed as slow as it will go in Studio.

 

Try to read the micro's Signature.

 

Report back if that is successful.

 

If it is, then life is looking up.

 

JC 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

gmartic wrote:
pro micro clones

As  DocJC says, show what you have!

Where did you get them? Post a link.

 

Are they nominally all the same -all  from the same source, bought at the same time?

 

Clones of this?

 

Note that micro USB connectors like that are notoriously flimsy - so check carefully that it's still fully attached & all connections are good & intact ...

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I wonder how much you value your own time? It seems to me you can get a Pro Micro:

 

https://www.ebay.co.uk/itm/Pro-Micro-ATmega32U4-5V-16MHz-Micro-USB-Board-Module-ATmega328-Arduino-Leonardo/174186180798?hash=item288e4e30be:m:mz2pko9QK673hORahDLYNEw

 

for about £1.40, that is about $2 (well OK, and some postage!)

 

Surely that buys about 10 minutes of your time? If you can't fix it in that time just buy a replacement!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
well OK, and some (sic!) postage!

The postage is £3.99 - so nearly three times the cost of the board!!

 

surprise surprise

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

First example I could find :-(

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

And that's "economy" delivery surprise - so probably just a 2nd class stamp on the smallest jiffy bag.

 

Sadly common.

 

sad

 

Probably the only money they make is on the postage!

 

EDIT

 

But, anyhow, back to your point - that's probably still only half an hour of anyone's time!

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Wed. Feb 12, 2020 - 09:24 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Go get the Arduino IDE, connect your MkII to the pro-micro and power it up.

Choose Tools/Boards/Leonardo

Choose Tools/Programmer/AVRISPMKII

Burn bootloader

 

Verify your board now works, if not toss it!

 

Jim

Welcome to AVRFreaks!

edit: sorry had nano on the brain!

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
get $5 free gold/silver https://www.onegold.com/join/713...

 

 

 

 

Last Edited: Wed. Feb 12, 2020 - 02:40 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow! Really didn't expect any answers or comments this quickly, thanks to all!

 

Boards I've got is from here (KeeYees):

 

https://www.amazon.ca/gp/product/B07WPCLF8Y/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1

 

So it is, I'd say, SparkFun pro micro copy. Exactly the same except board is recognized as Leonardo and it runs on Leonardo bootloader.

 

Some of the comments were about the value of time. First, have to say, that KeeYees send a replacement in three days. Mean time I've ordered original Arduino micro, and additional two clones from China that will arrive in about few months :). 

Going back to time ... it all depends. I do not make any money with AVR, long time ago played a bit with PIC, got Arduino kit for a present and it sat there few years until I've felt I need it. Then I've transferred to micro as it has ability to control keyboard and mouse.

But I see value in trying to understand why this happened as it may happen again. And to have a way to tell - take a hammer and smash it, get another one.

 

I think I did all that was suggested so far here, with Studio and a Programmer. Before I've got programmer, I've tried using UNO as a programmer, using AVRDUDE but the problem was always COM port.

With a programmer I've found that I had to do things in certain order: connect programmer to USB, start Studio, select Programmer, click Apply, connect target, Read target voltage (external power to target, both battery set to Raw, and 5V wall adapter to raw), then read "Device Signature". Sometimes in the process Studio loses connection to the programmer and I have to restart it (studio).

 

Reading signature would not be always successful. Sometimes works with default 125 kHz, sometimes had to go to low ISP clock. Sometimes device signature is wrong, sometimes is right (ox 1E9587). 

 

Sometimes I can erase chip, sometimes not. Sometimes can copy .hex file (bootloader + empty program, from a good board - exported from Arduino IDE). Few times I've managed to check all on the board, signature, Device information, Memories, Fuses, Lock bits. But then as soon as it is connected via USB to a system, goes back to it's crazy state. 

 

Sometimes board would read Fuse bit slightly different that other good board, but still usable. Ie Extended 0xF3 (isntead of 0xCB ), High 0xD8 (OK ), Low 0xFF (OK).

 

At this time, board looks dead. Only power LED is on. System does not see it (it would before), and cannot read anything with a programmer.

 

Almost like processor is dead internally (can it be dead externally :)) and flash would not hold up. Are those guys that sensitive even with a proper use? 

 

So unless another idea from here pops up I'll consider it is dead.

 

thanks again 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Did you check the USB connector?

 

An intermittent (loose) connection could explain your observation of things "sometimes" working and "sometimes" not ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You have access to MOSI, MISO, SCLK & RST on the header pins...hook it up to your ISP2 & try reprogramming...you can at least, try reading the fuses & checking them..perhaps you screwed up your bootloader. If so, it must be put back into original condition. 

If the ISP won't work, nothing will (other than perhaps a shot of HV programming....not worth it).

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gmartic wrote:
Boards I've got is from here (KeeYees):
double that price from Arduino with more than several distributors in Canada; has an AVR ICSP connector.

gmartic wrote:
Are those guys that sensitive even with a proper use?
No

USB Vbus can be too noisy and/or unstable (wall wart, inadequate current from hub or PC's hub); board's voltage regulator (USB Vbus to 3.3V) might create an acceptable AVR VCC.

AVR should respond to an external clock signal on XTAL1 or XTAL2 given VCC and ICSP.

 


Arduino Micro | Arduino Official Store

https://store.arduino.cc/usa/distributors#distributor-group-4

Pololu - 5.10. Using the clock output to revive AVRs via Pololu USB AVR Programmer v2.1

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The 'thing' here is that I have another two working pro micro clone boards. When I test them, there are no issues at all (yet :)). True is that not all USB cables are good. I've tested five that I had around and only three were 'good' or were not making any issues. Also I've mentioned that I've tested bad board using Wall wart (used for router so I'd say is good) and using set of batteries as well.

 

One of the first things when I've got programmer is to copy bootloader and empty program binary. I've Used Arduino IDE, selected Leonardo and option 'export compiled binary'. IDE exports bootloader only and bootloader+sketch. I have to assume that exported hex file is good. I did not try reading from good board in Studio using programmer and copying back to bad one, but I may (asuming that Arduino export is not good).

 

In regards to USB I am using ... it is extension from back of PC and I know that it will not be good enough to run external USB HDD (like passport) but with low power devices (assume AVRISP is one-did not check) has no issues. But I think I've tested using USB connection without extension, direct on PC but may try doing it again. I've seen somewhere that some claim USB hub is better?

 

So ... now we are saying that with normal use board cannot be broken (except for maybe bootloader but that is just a flash) and some suggesting, trash it? 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Programming the exported hex file does not set the fuses if they are not set correctly, so use burn bootloader, that sets the fuses and loads the bootloader too.

If it is flaky after that, then it is defective or has a bad solder connection some place.

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
get $5 free gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gmartic wrote:
(asuming that Arduino export is not good)
assuming the board is a clone :

ArduinoCore-avr/bootloaders/caterina at master · arduino/ArduinoCore-avr · GitHub

gmartic wrote:
(assume AVRISP is one-did not check)
kinda

USB | AVRISP mkII

ten micro-farads is the max on USB Vbus at the device; AVR NVM programming is peaky start with some DC current during a page erase then write.

gmartic wrote:
I've seen somewhere that some claim USB hub is better?
Depends on compatibility between USB HCI, USB hub, and USB device.

Windows has a USB DDK to evaluate all.

Microsoft USB Test Tool (MUTT) devices | Microsoft Docs

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ki0bk

" ...use burn bootloader, that sets the fuses and loads the bootloader too ..."

 

That was also attempted, but the problem always was COM port. Cannot use Avrdude without specifying what COM port is. And my board lost its COM. As explained COM is virutal and created by bootloader so bootloader is sure not good but no way I could fix it.

 

On the other hand, fuses can be checked and set in Studio. I think I understand fuses, what they do but could not figure out (yet) where exactly are they stored? Bootloader is on one end of flash, program is on the other end of flash but not sure where the fuses are? Does it matter? Probably not but still ...

 

And end of this story: my board is now definitely dead. Device signature cannot be read anymore regardless of ISP setting.

 

Using good board with programmer I have is "flawless", so hardware, cables, voltages and anything else has to be excluded as a part of possible problem.

 

I've also checked board under microscope and was not able to see any suspicious solder points - which is still not a 100% guaranteed.

 

At this point, use of time really is an issue and no point in trying more. Thanks again for all the people trying to provide some input.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gmartic wrote:
That was also attempted, but the problem always was COM port. Cannot use Avrdude without specifying what COM port is. And my board lost its COM. As explained COM is virutal and created by bootloader so bootloader is sure not good but no way I could fix it.

No you set your programmer to use your AVRISP mkII, or any other supported ISP programmer,(Tools/Programmer)

then burn bootloader using ISP!

 

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
get $5 free gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gmartic wrote:
And end of this story: my board is now definitely dead. Device signature cannot be read anymore regardless of ISP setting.

Ok then, never mind.

 

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
get $5 free gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Stop goofing around with the Leonardo Pro Micro and use a Nano (with a CH340 USB-serial interface chip on-board) instead.  They are far more reliable and cheaper as well.  The Nano has the same < BASIC > capacities as the Leo Pro Micro.    I remember endlessly losing the COM port when using the Pro Micro, and twisting my brain and searching the web listings for help.  Then I said F' it and switched to the Nano.   Just a simple Mega328P and a dedicated USB chip;  no problems anymore.  Life is too short to play games with unusual AVRs.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I can tell, Nano cannot use keyboard and mouse library and that is what I need. Unless I am wrong? But thanks for a suggestion.