Pro micro 3.3v no USB

Hi,

I have an issue with 2 of my Pro micro boards.

Both are the 3.3v 8MHZ version and somewhere along my coding way i did something that upset these baords.

They arent shown as USB devices anymore. I did try to reset them but shorting RST with ground, and this gives the unable to enumerate error in dmesg (macos 10.13.4, rasbian and another mac) I flashed new bootloader on the chips using the raspberry as ISP, this worked, cus i did get the blinky sketch working (the tx/rx one) but still no USB… did i mess up fuses? is something else broken… i really dont get it and am lost now trying to get the boards working again…

anyone got an idea what i can try next… (besides ditching then boards and get new ones…)

This gets even crazier. Today i tried to upload a sketch to a fresh known working board. after the flash the board stopped responding (and showing up as USB device)

Tried diffent USB cables and and, still no luck… Im beginning to think its a software issue on the bootloader side as sketched that get uploaded by SPI do work… but for USB i still keep getting the enumeration errors in dmesg…

I got 2 of the (close) boards working by uploading the 16MHZ bootloader on them, they are in fact 3.3v boards with a 16mhz crystal… how can i get the to work on 8MHZ again (so the boards dont bork out at 16MHZ with 3.3v) the only thing i could find was fuses that might need changes, but so far i unable to change fuses (avrdude just hangs)

Shame i got zero response so far :frowning:

I don’t have a Pro mIcro, but there are many remarks about the build-in USB. The Sparkfun bootloader source and Hex files are on https://github.com/sparkfun/SF32u4_boards. The 16Mhz setting is not really changed with the fuses. You can select the source (external) and DIV8, but that is nearly it as it relates to to the clock setting. Look at the Caterina.c source for more description. Try to use the Caterina-promicro8.hex file for your bootloader.

regards,

Paul

paulvha:
I don’t have a Pro mIcro, but there are many remarks about the build-in USB. The Sparkfun bootloader source and Hex files are on https://github.com/sparkfun/SF32u4_boards. The 16Mhz setting is not really changed with the fuses. You can select the source (external) and DIV8, but that is nearly it as it relates to to the clock setting. Look at the Caterina.c source for more description. Try to use the Caterina-promicro8.hex file for your bootloader.

regards,

Paul

I hae been doing this, but uploading the Caterina-promicro8.hex file to the board breaks it. (as it has a 16mhz crystal) i now contacted teh seller asking how this 8mhz board can have a 16mhz crystal…

understand. just trying to help. On this github it makes special reference to added LUFA (for USB) to the bootloader https://github.com/jknofe/caterina

I tried with bootloader, same issue.

the 16mhz version works, but the 8mhz one doesnt.

also doing the full burn bootloader cycle (with fuses) give me the following hang:

avrdude: verifying ...
avrdude: 32758 bytes of flash verified
avrdude: reading input file "0xfe"
avrdude: writing efuse (1 bytes):

Writing |                                                    | 0% 0.00s ***failed;
Writing | ################################################## | 100% 0.11s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xfe:
avrdude: load data efuse data from input file 0xfe:
avrdude: input file 0xfe contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xce != 0xfe
avrdude: verification error; content mismatch

avrdude: safemode: hfuse reads as D8
avrdude: safemode: efuse reads as CE
avrdude: safemode: efuse changed! Was fe, and is now ce
Would you like this fuse to be changed back? [y/n] y

avrdude hangs when y is chosen… any got an idea about that? or is this fuse even relevant…?

It is difficult if you don’t know what Mhz speed you really have. According to the program .txt the 16 mhz should have an efuse of 0xCB, Hfuse of OxD8 and Lfuse of 0xFF. If you have a good working board, you can also try to read the fuses with avrdude.