Hello everyone, I am stumped as to why my PCB will not work and I was hoping someone here on the forums would have some insight.
What I am trying to do is build a PCB that has socket for each of the different Atmel chips I typically use so that I can easily burn the boot loader onto them and program them without having to make the breadboard circuit every time. I decided the best way to do this was to embed an ATMega328 with a slightly modified version of Nick Gammon's Atmega_Board_Programmer code link here. The only changes I made were adding a tactile switch input to start the programming process, and an output to an LED to signify a success or failure. I uploaded the code to the embedded ATMega328 and tested that it worked on a breadboard before soldering the chip to the board. The problem is once the chip is soldered, it no longer functions correctly. I used my microscope to check for bridges between pins and could not find any, however it is possible that there is just a bridge under the chip somewhere.
I connected an AVR programmer to the ICSP pins on my board and it does not detect the imbedded microcontroller. However, it does detect an ATTiny85 and an ATMega328 when one is plugged in (Bottom-most sockets in image). I also tested the ATMega2560, and it was not detected. This led me to believe that the problem could have something to do with the distance of the embedded ATMega328 and the ATMega2560 to the 16 MHz crystal, but I'm not positive that's it. I also do not have any decoupling capacitors, which probably isn't helping the situation, however the fact that the ATTiny and ATMega communicate with the programmer lead me to believe that the capacitors are not the problem.
The pictures I included are the PCB file from KiCad, and the 3D rendering. The only two Atmel DIP footprints are the ATTiny85 and the topmost ATMega328. All other footprints match up with surface mount to DIP sockets I own. I'm almost positive all of the connections are correct, with one exception. The AVCC pin on the embedded ATMega. It is not connected in the PCB files, however I soldered a wire from the pin to the 5V line on the actual board. The only thing I can think of are a crystal placement issue, missing decoupling capacitors, a hidden solder bridge, or I overheated the embedded ATMega.
This is the third revision of the board due to silly problems such as mirroring the pins on the USB power input and getting the dimensions of my socket's footprints wrong, and all these PCB and Digikey orders are draining my bank account. If anyone has any insights as to what the problem may be, or what I can do better with a 50x100mm two layer board, I would really appreciate it.