1
\$\begingroup\$

I've built a custom board with an Atmega32u4, like the Arduino Pro Micro from Sparkfun.

The circuit seems ok, but when I plug the board to a pc, the usb device isn't recognize (doesn't even pop the "Installing device driver software" bubble).

I'm missing something? Doesn't the Atmega32 ship with a base firmware installed?

update:

The problem is: using only the internal oscillator, should the MCU be recognized as an USB device when plugged to a computer? If not, what is needed to do that?

\$\endgroup\$
1
  • \$\begingroup\$ Ignacio Vazquez-Abrams, I've thought that having an internal resonator, and having a default USB bootloader, the chip would be programmable from an USB right from the factory settings. experience will teach a lot of things... obviously. \$\endgroup\$
    – Madarco
    Commented Sep 5, 2014 at 8:35

2 Answers 2

3
\$\begingroup\$

From the DFU bootloader datasheet:

The 8bits mega AVR with USB interface devices are factory configured with a USB bootloader located in the on-chip flash boot section of the controller.

This USB bootloader allows to perform In-System Programming from an USB host controller without removing the part from the system or without a pre-programmed application, and without any external programming interface.

The part itself should include a bootloader. Verify that the circuit is configured as per section 21, "USB controller", in the Atmega16U4/32U4 datasheet and that the fuses are programmed for external crystal operation as well as BOOTRST for booting into the bootloader instead of the code at 0x0000.

\$\endgroup\$
2
  • \$\begingroup\$ Thanks, but what is the factory settings of the Boot Reset Fuse (BOOTRST)? I thought that I could set it with the Flip utility from Atmel, but I first need the board to be recognized as an USB device by the computer \$\endgroup\$
    – Madarco
    Commented Sep 5, 2014 at 8:54
  • \$\begingroup\$ @Madarco: Chicken-and-egg problem. You can't use the Flip utility unless the bootloader is already running at reset. But if it is already running, then you don't need to change the fuse! \$\endgroup\$
    – Dave Tweed
    Commented Sep 5, 2014 at 11:11
1
\$\begingroup\$

Yes, the ATmega32U4 comes with a USB DFU bootloader installed. Have you read the bootloader documentation and do you understand the different ways that the bootloader can be activated? Do you understand that this bootloader is not compatible with the Arduino bootloader? (See this page.)

Based on my own preliminary skim of this document, it looks like it may have been a mistake to leave out the ICSP connections, because it seems you need to change at least a configuration fuse or two in order to be able to activate the bootloader on an otherwise-blank chip.

\$\endgroup\$
3
  • \$\begingroup\$ Have you read the Atmega32u4 datasheet? Do you know the different meaning of the term "USB Bootloader" (used in the datasheet) from the "Arduino Bootloader" (used elsewhere, not in this question)? \$\endgroup\$
    – Madarco
    Commented Sep 5, 2014 at 8:33
  • \$\begingroup\$ Yes, it's obvious that I understand these things, but it still isn't clear that you do. I was just trying to get a better idea of what your background is, so that I could give you an answer that you would be able to use. But if you're just going to give me attitude, I can go answer other questions instead. \$\endgroup\$
    – Dave Tweed
    Commented Sep 5, 2014 at 11:18
  • \$\begingroup\$ It was a legit question since you confused the "USB bootloader" with "Arduino bootloader". I've updated the question for clarity: the board isn't recognized by windows, so can be a problem on the fuses, resonator config or USB bootloader. (other than the mcu burned while soldering). Probably having the ICSP connections would have helped. \$\endgroup\$
    – Madarco
    Commented Sep 5, 2014 at 16:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.