Hi there! I'm having some trouble with burning the bootloader onto an ATmega2560 chip on a custom PCB. I am using an Arduino Uno as the programmer and have a custom PCB with the ATmega2560 soldered.
I've tried Nick Gammon's bootloader programmer as well as ArduinoISP in the Arduino IDE.
The PCB just has the MCU, 5 decoupling capacitor to the VCC/AVCC pins, a 10k pull-up on the RESET line as well as a 16MHz crystal connected to XTAL with a 22pF capacitor connected to each lead of the crystal. The ICSP pins are being fed directly into a 2x3 header which I have connected with the programming Arduino. I have soldered together two identical boards and tested on both to eliminate any potential issues with the components or board.
I have used an oscilloscope to check all the pins on the board being programmed. MOSI, SCK, Reset all changes while MISO is consistently at 0V. I have checked the TDI, TMS and TCK pins on the MCU and they are all high.
Nick Gammon's board detecting script was able to detect the MCU on one of the boards during one upload but could not detect the MCU after running the bootloader programmer script. On the other board, I was able to set the fuse bits on the other board using avrdude in the command line but ran into invalid device signature after trying to flash the bootloader.
I'm understanding that there is a variety of different sources for the problem, from avrdude writing at too high of a frequency to ArduinoISP not being able to handle the additional memory on the 2560. Apologies for the long post, I just wanted to list all the testing I've conducted to arrive at my current point. I'm looking for any sort of solution/clarification on the state of my ATmega2560 chips. Are they bricked? Is it a PCB design issue? Is it a fuse bit or programming setting that I failed to setup properly?
Have you checked the continuity on the MISO line? Sometimes jumper wires are defective, or get damaged with use so that they no longer conduct electricity.
I've tripled checked the jumper wires, they're fine. I've also checked the header and traces on my PCB with an oscilloscope, there is no data being transmitted on the MISO line.