AVR_ISP_Programmer C
Architecture unaware library that tries to program AVR devices by ISP.
AVR ISP Programmer
Program AVR chips from almost any microcontroller. This library bit-bangs the ISP protocol in plain C, so the only thing tying it to your hardware is a thin port layer you write yourself. Born for the cramped ATmega48, it now also runs on the ESP32-S2.
What it is made of
- One header-only C library implementing the AVR ISP serial programming protocol by bit-bang.
- A thin port layer โ eight functions for reset, SCK, MOSI, MISO and microsecond delay โ that you fill in per target.
- Routines for chip erase, flash page load, EEPROM, fuse bits and lock bits.
- Proven on ATmega48 (programmer) and ESP32-S2 (programmer); targets ATmega48.
How it works
Bring your own IO layer. Once you wire up reset, SCK, MOSI, MISO and a delay function, the library takes over: it enters serial programming mode by pulsing reset and sending `0xAC 0x53`, then verifies the echo. Every SPI byte is clocked out manually, MSB first. The higher-level functions map directly onto AVR's serial programming instructions, covering erase, flash, EEPROM, fuses and lock bits, with ready/busy polling keeping writes in step with the target's own timing.
License: Apache License 2.0
- avr
- avr-isp
- avr-programming
- esp32