I normally boot strap a UNO to place boot loaders on new chips and thereafter upload to stand alone setups using FTDI. I've never had a problem doing this however I have one pesky Mega 328P that won't take a sketch no matter what I do. I was tempted to just chuck it and move on but I'd like to know why this is happening.
I can put a boot loader on the chip no problem bootstrapping a Uno (Ive done it with both 8 and 16Mhz clock signals) and I can read whats on it the same way.
When I check the chip using Gammon's Fuse Calculator sketch I get the following;
Atmega fuse calculator.
Written by Nick Gammon.
Version 1.10
Compiled on Mar 31 2020 at 12:00:58 with Arduino IDE 10809.
Attempting to enter programming mode ...
Entered programming mode OK.
Signature = 0x1E 0x95 0x0F
Processor = ATmega328P
Flash memory size = 32768
LFuse = 0xFF
HFuse = 0xDE
EFuse = 0xFD
Lock byte = 0xEF
Clock calibration = 0x9A
External Reset Disable.................. [ ]
Debug Wire Enable....................... [ ]
Enable Serial (ICSP) Programming........ [X]
Watchdog Timer Always On................ [ ]
Preserve EEPROM through chip erase...... [ ]
Boot into bootloader.................... [X]
Divide clock by 8....................... [ ]
Clock output............................ [ ]
Bootloader size: 512 bytes.
Start-up time: SUT0: [ ] SUT1: [ ] (see datasheet)
Clock source: low-power crystal.
Brownout detection at: 2.7V.
(Bootloader memory starts at 7E00 for 512 bytes which I believe is correct.)
MD5 sum of bootloader = FB F4 9B 7B 59 73 7F 65 E8 D0 F8 A5 08 12 E7 9F
Bootloader name: optiboot_atmega328
(The MD5 sum matches the optiboot_atmega328.hex info)
I can't upload a sketch to it installed in a Uno or in a known good stand alone circuit using FTDI. Avrdude (AVRISP mkII) returns - not in sync: resp=0x75
So basically I can communicate with it but can't upload to it. I'm stumped.
Any ideas on whats going on here?