1

I have been working on getting an Atmega32u4 connected to USB. I lifted the connections from the Arduino Micro schematic for the preliminary schematic shown here. When I connect the chip to USB, the system (Ubuntu 18.04) does not appear to recognize it.

I was able to burn the Caterina-Micro bootloader via my Pololu USB AVR Programmer as well as through ArduinoISP to confirm that everything was uploaded correctly. The following is the output of avrdude using the pololu programmer:

$ avrdude -p m32u4 -P /dev/ttyACM0 -c avrispv2 -U flash:w:Caterina-Micro.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "Caterina-Micro.hex" avrdude: input file Caterina-Micro.hex auto detected as Intel Hex avrdude: writing flash (32730 bytes):

Writing | ################################################## | 100% 8.21s

avrdude: 32730 bytes of flash written avrdude: verifying flash memory against Caterina-Micro.hex: avrdude: load data flash data from input file Caterina-Micro.hex: avrdude: input file Caterina-Micro.hex auto detected as Intel Hex avrdude: input file Caterina-Micro.hex contains 32730 bytes avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 6.76s

avrdude: verifying ... avrdude: 32730 bytes of flash verified

avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)

avrdude done. Thank you.

Using a Saleae Logic Analyzer, I sniffed the following USB communications. It seems to me that the atmega is transmitting properly but not receiving any responses but I am not certain.

I confirmed that the USB cable in use was working by plugging it into an Arduino Micro that I have. System was able to identify Arduino Micro, Arduino Uno and pololu AVRisp.

I am hoping that there is an easily assignable cause to the issues that I am experiencing. If any addition information is required, please ask.

7
  • Your title mentions breadboard... how exactly are you building this circuit?
    – Majenko
    Aug 25 '20 at 15:58
  • Sorry for being vague on the build. Please find an image of the breadboard (dropbox.com/s/ljlww8ytaqym3ve/IMG_20200825_123859.jpg?dl=0). A sparkfun 44TQFP breakout was used for the atmega32u4.
    – barntaco
    Aug 25 '20 at 16:45
  • Ok. I thought it might be. A breadboard is not a conducive environment for usb. The timing has to be precise and the capacitance of the breadboard is probably skewing your crystal frequency.
    – Majenko
    Aug 25 '20 at 17:00
  • Also you should check dmesg for errors when you plug the USB in.
    – Majenko
    Aug 25 '20 at 17:46
  • Thank you for your suggestions and solutions. The following is the output of 'dmesg | grep -i usb' after plugging in the board: [1735217.833561] usb 2-1-port2: attempt power cycle [1735218.437472] usb 2-1.2: new full-speed USB device number 71 using ehci-pci [1735218.853479] usb 2-1.2: device not accepting address 71, error -32 [1735218.933476] usb 2-1.2: new full-speed USB device number 72 using ehci-pci [1735219.349481] usb 2-1.2: device not accepting address 72, error -32 [1735219.349551] usb 2-1-port2: unable to enumerate USB device
    – barntaco
    Aug 25 '20 at 17:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.