Yes—you can program this board. You have two options wired to the ATmega1284P:
- JTAG for full debug via J1
- Target: U4 (ATmega1284P) JTAG pins are already connected.
- Typical tool: Atmel-ICE or compatible JTAG programmer/debugger.
- J1 pin map (from your schematic):
- 1 TCK → U4 PC2
- 5 TMS → U4 PC3
- 3 TDO → U4 PC4
- 9 TDI → U4 PC5
- 6 nSRST → U4 ~RESET
- 2/10 GND → GND
- 4 VREF → Target VCC sense (board 5 V rail)
- 7 VCC → Board 5 V rail (do not back-power unless your programmer supports/you intend to)
- AVR ISP (2×3) via J2
- For bootloading/flash programming (no on-chip debug).
- J2 pin map (as wired in your design; series protection resistors inline):
- 1 → U4 PB6 via R3
- 3 → U4 PB7 via R2
- 4 → U4 PB5 via R1
- 5 → U4 ~RESET
- 2 → VCC (target 5 V reference)
- 6 → GND
Power during programming
- The MCU VCC is on the 5 V rail (Net 1). You can power the board from its normal supply (for example the 12 V input at 12V / 12Vp through the regulators), or let your programmer power the target if it supports it. Ensure the programmer’s VTref matches your target voltage (5 V here), and avoid back-powering both ways at once.
Which should you use?
- Use JTAG on J1 if you want breakpoints, single-step, and full debug.
- Use ISP on J2 for quick firmware flashing/bootloader work.
If you want, I can also label the J2 pins on your silkscreen or add a keyed box header to make cable orientation fool-proof.