# Pro micro 3.3v no USB

**URL:** <https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518>\
**Category:** Arduino\
**Created:** [May 7, 2018, 7:27pm UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518 "2018-05-07T19:27:21Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tripleflix](https://avatars.discourse-cdn.com/v4/letter/t/f0a364/32.png) [@Tripleflix](https://community.sparkfun.com/u/Tripleflix)\
**Post date:** [May 7, 2018, 7:27pm UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518/1 "2018-05-07T19:27:21Z")

</div>

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…)

---

<div class="post-metadata">

**Author:** ![Tripleflix](https://avatars.discourse-cdn.com/v4/letter/t/f0a364/32.png) [@Tripleflix](https://community.sparkfun.com/u/Tripleflix)\
**Post date:** [May 10, 2018, 7:23pm UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518/2 "2018-05-10T19:23:16Z")

</div>

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…

---

<div class="post-metadata">

**Author:** ![Tripleflix](https://avatars.discourse-cdn.com/v4/letter/t/f0a364/32.png) [@Tripleflix](https://community.sparkfun.com/u/Tripleflix)\
**Post date:** [May 13, 2018, 9:25am UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518/3 "2018-05-13T09:25:32Z")

</div>

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 ☹

---

<div class="post-metadata">

**Author:** ![paulvha](https://avatars.discourse-cdn.com/v4/letter/p/65b543/32.png) [@paulvha](https://community.sparkfun.com/u/paulvha)\
**Post date:** [May 13, 2018, 11:38am UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518/4 "2018-05-13T11:38:26Z")

</div>

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](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

---

<div class="post-metadata">

**Author:** ![Tripleflix](https://avatars.discourse-cdn.com/v4/letter/t/f0a364/32.png) [@Tripleflix](https://community.sparkfun.com/u/Tripleflix)\
**Post date:** [May 13, 2018, 1:43pm UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518/5 "2018-05-13T13:43:42Z")

</div>

> 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](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…

---

<div class="post-metadata">

**Author:** ![paulvha](https://avatars.discourse-cdn.com/v4/letter/p/65b543/32.png) [@paulvha](https://community.sparkfun.com/u/paulvha)\
**Post date:** [May 13, 2018, 2:58pm UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518/6 "2018-05-13T14:58:55Z")

</div>

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](https://github.com/jknofe/caterina)

---

<div class="post-metadata">

**Author:** ![Tripleflix](https://avatars.discourse-cdn.com/v4/letter/t/f0a364/32.png) [@Tripleflix](https://community.sparkfun.com/u/Tripleflix)\
**Post date:** [May 13, 2018, 6:19pm UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518/7 "2018-05-13T18:19:43Z")

</div>

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:

```auto
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…?

---

<div class="post-metadata">

**Author:** ![paulvha](https://avatars.discourse-cdn.com/v4/letter/p/65b543/32.png) [@paulvha](https://community.sparkfun.com/u/paulvha)\
**Post date:** [May 14, 2018, 8:01am UTC](https://community.sparkfun.com/t/pro-micro-3-3v-no-usb/35518/8 "2018-05-14T08:01:02Z")

</div>

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.
