This has been driving me absolutely insane for the past couple days. I soldered together an Atmega644P standalone circuit, and also added a CH340G usb to serial converter as well with all the necessary components. But for the life of me, I simply can't get sketches onto the chip. I checked my wiring countless times in multiple places with a multimeter, checked if I was using the correct bootloader, updated my boards manager, etc. I think I tried everything under the sun. All my google search links are purple as well. I programmed MightyCore on the 644P with my Bus Pirate, and I'm pretty sure the fuse bits and lock bits were properly set. But just in case, I bootloaded it with an Arduino UNO as the ISP but it still didn't work. All of my errors have been stk500_getSync() errors, which as many of y'all know greatly narrows down my problem. I've attached a schematic of an Arduino Nano which I followed pretty much exactly to make my board, except I replaced the 328P for a 644P. I also didn't include RX/TX LEDs yet and also didn't put any diodes in since I couldn't find any. I also attached photos of my board.
Here are a few notable quirks. Pay attention here as these might give you some clues to narrow down the problem.
I DID get it to work twice, although I'm not sure how. It successfully downloaded and ran a simple blink sketch through the CH340G usb to serial circuit, but when I tried programming it again (literally just clicked "Upload" again with no changes to the circuit or program) it didn't work again. Sometimes, it would look like it was working but suddenly stop in the middle of the programming process and throw the good ol' classic STK500 getsync() error.
I can program the 644P through the ISP header with my bus pirate. Everything works fine if I program it that way, but I really want to get the USB-serial part of my circuit working since that's kinda the highlight of my project.
I tried multiple 644Ps as well as an Atmega16. None of them worked. Again, they all worked when the sketch was loaded via the ISP header with my Bus Pirate, but never when I tried uploading through the USB port.
There's like a 5-second delay when booting up for the first time. When running a simple blink sketch, the program always starts 5 seconds after I apply power to the circuit. Not sure if that's supposed to happen. Weirdly enough, if I disconnect the 10k ohm pull-up resistor I have on the reset line(upper-left of the back of my circuit), the boot delay goes down to about 3 seconds.
I connected a USB to Serial converter I had laying around to my ATmega644p board. I know it works because I've used it many times before. It did not work as well, meaning my problem likely lies in the 644, not the CH340G.
I will update this thread with any more discoveries or things I may have forgotten to write in the first place. I'm a novice hobbyist so maybe I just forgot something really simple but it's driving me insane and I'm just desperate to get my circuit working.
Any help is greatly appreciated. Thanks y'all!