Atmega32u4 Invalid Device Signature

I hope I'm in the right forum here, if not please point me where I can move this topic to!

I designed a custom board using Atmega32u4. I'm now trying to burn the Bootloader and getting the following error below.

I already quadruple checked my connections and they are correct because I was able to flash Bootloader onto a Atmega328P and simply plugged the same cable to this Atmega32u4 board. I tried burning with an Uno at first and then with a USB ISP from amazon. Getting the same error. I even made two of the same boards thinking perhaps it's a component or soldering issue. Same error. I tried both on iMac and Windows 10.

I'm choosing "Arduino as ISP" and Board: Leonardo. As mentioned, I was able to burn an Atmega328P successfully with the Uno. And yes, I have a 10uF cap between reset and GND.

I've attached my board/schematic. Only issue I noticed is I forgot to connect one of the crystal's GND pads, but I jumped it later on.

Any help would be really appreciated as I'm at my wits end with this. I searched forums and tutorials for over a week. Thank you!

Arduino: 1.8.12 (Mac OS X), Board: "Arduino Leonardo"

/Users/shaischechter/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/Users/shaischechter/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega32u4 -cstk500v1 -P/dev/cu.usbmodem141401 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xcb:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/Users/shaischechter/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
         User configuration file is "/Users/shaischechter/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem141401
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000 (retrying)

Reading | Error while burning bootloader.
################################################## | 100% 0.02s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Are you sure that the atmega32u4 is not damaged ?

It's brand new from digikey. This is the exact one I bought: https://www.digikey.com/products/en?keywords=ATMEGA32U4-AU-ND

And as mentioned, I tried soldering two boards. I can't imagine that both boards got damaged same way that would cause this. Any other ideas? I really don't know what to do here to fix it and have the Bootloader uploaded.

could you post a jpg or png file of the diagram ? I recommend using the avrdude externally or use avrdude's GUI version (avrdudess) and using usbasp run this command to get the signatureavrdude -u -c usbasp -P usb -B 0.5 -p m32u4

Sorry which diagram are you referring to? The PCB schematic?

Yep

Here you go. I attached it. I also tried burning Bootloader by making a 3rd board and only attaching the crystal with 18pF on each side (didn't have 22pF) and it still wouldn't Burn Bootloader.

I was able to flash Bootloader onto a Atmega328P and simply plugged the same cable to this Atmega32u4 board.

Look at the ISP header on the Rapid Feeder. Your leads are not wired in a standard fashion for a 10 lead cable.

kprims:
Look at the ISP header on the Rapid Feeder. Your leads are not wired in a standard fashion for a 10 lead cable.

https://cdn.hackaday.io/images/6065901532707936157.png

Yes it's not standard, but that doesn't matter because I connect each one individually and quadruple checked it.

See attached image. I have found the problem. Top is imported crystal of same part # from Samcasys public library plugin and bottom crystal is the one on the board that I made footprint of. It seems I may have accidentally swapped the crystal/GND connections...