Skip to the content
PCBKitNew board
2 layers60 × 56.8 mmAVR Standalone Programmer, the printed circuit board in 3D

AVR Standalone Programmer

RandBeyy/Standalone_AVR_Programmer

A standalone, SD card based programmer for AVR microcontrollers. The device is built around an ATmega328P and programs a target without requiring a computer during normal use.

Size
60 × 56.8 mm
Copper layers
2
Thickness
1.09 mm
Parts
45
Nets
54
Pads
159
Tracks, vias
391, 59
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
30 Nov 2024
Updated
18 Oct 2026

Overview

AVR Standalone Programmer is an open-source printed circuit board by RandBeyy, from the RandBeyy/Standalone_AVR_Programmer repository on GitHub. It is a 2-layer board of 60 × 56.8 mm with 45 parts on 54 nets, routed with 391 tracks and 59 vias.

It is built around the ATMEGA328P-AU and 74LVC125APW. Its parts include 17 resistors, 12 capacitors, 6 connectors, 3 ICs and 2 switches. It belongs with the interfaces and adapters boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

Standalone AVR Programmer

A standalone, SD card based programmer for AVR microcontrollers. The device is built around an ATmega328P and programs a target without requiring a computer during normal use. A 20×4 I²C LCD and physical buttons provide a simple on-device interface for selecting firmware.

Standalone AVR programmer device

What it does

  • Reads Intel HEX firmware files from an SD card.
  • Lets you select a firmware file using the LCD and buttons.
  • Checks the HEX file before programming, including its records and checksums, and checks that its address range fits the target's flash.
  • Programs the target over ICSP, then reads the firmware back and verifies it against the selected file.
  • Identifies supported AVR targets by their device signature and uses the corresponding flash and page information.

The current firmware configuration enables SD card support and ICSP programming. The source also contains options for high-voltage serial and parallel programming, but these modes are disabled in the current configuration.

My contribution

This project is based on Nick Gammon's ATmega HEX uploader. I adapted it into a self-contained device by integrating a 20×4 I²C LCD and button-based interface, designing a custom PCB in KiCad, and adding an SD card workflow for selecting and programming firmware without a PC.

Hardware and software

  • Programmer MCU: ATmega328P, configured for a 16 MHz clock
  • Target interface: ICSP (current build configuration)
  • Firmware storage: SD card with Intel HEX files in the root directory
  • User interface: 20×4 I²C LCD and buttons
  • Firmware development: PlatformIO with the Arduino framework
  • PCB design: KiCad project files in PCB/

Building the firmware

Open the software directory as a PlatformIO project and build the ATmega328P environment. The project uses the LiquidCrystal_I2C library; the SD card support is provided by SdFat.

Place supported .HEX firmware files in the SD card's root directory. The device lists up to ten matching files for selection.

Parts

45
QtyValueFootprintReferences
5100nFCapacitor_SMD:C_0603_1608MetricC1, C3, C4, C7, C11
510uFCapacitor_SMD:C_0603_1608MetricC2, C8, C9, C10, C12
40RResistor_SMD:R_0603_1608MetricR10, R11, R12, R13
43.3kResistor_SMD:R_0603_1608MetricR1, R3, R4, R5
4MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
31kResistor_SMD:R_0603_1608MetricR2, R7, R8
3330RResistor_SMD:R_0603_1608MetricR14, R15, R16
210kResistor_SMD:R_0603_1608MetricR6, R9
222uFCapacitor_SMD:C_0805_2012MetricC5, C6
2Conn_01x04_SocketConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ3, J4
2SW_DPST_x2Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW1, SW2
1100Resistor_SMD:R_0603_1608MetricR17
116MhzCrystal:Crystal_SMD_5032-2Pin_5.0x3.2mmY2
174LVC125APW74LPV125apw:SOT402-1_NEXU1
1ATmega328P-APackage_QFP:TQFP-32_7x7mm_P0.8mmU2
1AVR-ISP-6Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ6
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1LD1117S33TR_SOT223Package_TO_SOT_SMD:SOT-223-3_TabPin2U3
1MSD-3-ACUI_MSD-3-A:CUI_MSD-3-AJ1
1USB_C_Receptacle_PowerOnly_6PConnector_USB:USB_C_Receptacle_GCT_USB4125-xx-x_6P_TopMnt_HorizontalJ5

Questions

How big is the AVR Standalone Programmer PCB?

It measures 60 × 56.8 mm and has 2 copper layers, 1.09 mm thick.

What parts does the AVR Standalone Programmer use?

45 parts, built around the ATMEGA328P-AU and 74LVC125APW. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the AVR Standalone Programmer KiCad files?

From the RandBeyy/Standalone_AVR_Programmer repository on GitHub, at the commit this page was made from: the board is PCB/AVR_Standalone_Programmer/AVR_Standalone_Programmer.kicad_pcb and its schematic PCB/AVR_Standalone_Programmer/AVR_Standalone_Programmer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the AVR Standalone Programmer design in my own project?

Its repository states no licence, so its author keeps all rights: ask RandBeyy before reusing the design.

Similar boards

  • 4 layers55 × 30 mmStitch candidate, the printed circuit board in 3D

    Stitch candidate

    EthanKahn08/example-pcb

    Design-stage RP2040 USB-C microSD reader: KiCad hardware, verification evidence, UART bring-up firmware, and assembly plan. Unbuilt and untested.

    68 parts
  • 2 layers81.3 × 55.9 mmL432KC, the printed circuit board in 3D

    L432KC

    grumat/glossy-msp430

    Glossy MSP430 - Embedded GDB Debugger for MSP430

    49 parts15GPL-2.0
  • 4 layers90 × 90 mmPCM1704, the printed circuit board in 3D

    PCM1704

    smileym4n-collab/Kicadprojects

    143 parts
  • 2 layers50.5 × 128.5 mmOpenThereminV45, the printed circuit board in 3D

    OpenThereminV45

    GaudiLabs/OpenThereminV4

    Open Source Theremin Instrument

    107 parts249GPL-3.0
  • 2 layers152 × 88 mmRFBitBangSMT, the printed circuit board in 3D

    RFBitBangSMT

    profdc9/RFBitBanger

    A QRP digital transceiver created from readily available parts for off-the-grid maintenance

    271 parts222
  • 2 layers50.2 × 31.2 mmMCU Datalogger, the printed circuit board in 3D

    MCU Datalogger

    futureshocked/KLP4e_MCU-Datalogger

    This is the repository for the "MCU Datalogger" project.

    31 parts138MIT