I have made a custom board based on Atmega2560 and W5500 to convert low speed RS422 data to ethernet data.
I have made multiple similar boards using same components in the past, but this time both of my sample PCBs are just not getting programmed.
I tried with two different USBasps and also tried using arduino as ISP and using Nick gammons board programmer ( which always used to work for me even if other things didn't)
I have been banging my head since morning and would appreciate if someone can spot any obvious error.
The board is not getting recognised at all, no invalid signature or similar errors.
The 5V input to arduino is OK. The 16MHz clock is not there, but as far as I understand it should come after fuses are programmed and USBasp should detect the chip without them.
I am stumped what to think right now.. Mostly because generally there is nothing more to programming the chip than getting all signals to the ICSP header.
There may or may not be a connection here. Sometimes Orcad will show a junction dot when no connection exists when you do a 4 way connection like that.
Thanks for the suggestion. I checked it on oscilloscope and reset was normally at 5V and the reset line was going low when the programming attempt initiated, but I will keep this in mind from future.
I found the probable cause after spending some time looking at the gerber. The symbol for the crystal was drawn incorrectly.
Although this is a obvious mistake so I am assuming fixing this will fix the issue, and I will try it on Monday, but I still do not understand that from what I had read the microcontroller should have been detected even without a crystal by the USBasp as it was a fresh IC (without bootloader).
If it has never been programmed before that is true since it will use the internal clock. If at some point in time the fuses were set to use the external crystal, then it will fail if there is no crystal