PonyProg is a serial device programmer (or, more precisely, its software part) that is able to read and write data in EEPROM memory chips and microcontrollers. In the overwhelming majority of cases it is used with a simple hardware programmer, such as the SI-Prog interface, which became popular because of its low price and simplicity. It supports I2C bus, Microwire and SPI EEPROMs, Atmel AVR and AT89S microcontrollers and Microchip PIC microcontrollers, and the programmer is connected to a computer via a serial (COM) or parallel port. It works with SI-Prog, AVR ISP (STK200/300), DT-006 AVR, EasyI2C and JDM/Ludipipo hardware interfaces.
The principle of PonyProg operation is based on reading, editing and writing the contents of a chip: it opens HEX, BIN, E2P, MOT and other files, writes and verifies them, erases chips and sets fuse and lock bits. It is often used to service EEPROMs in car stereos, TVs and old mobile phones. However, the scope of the programmer's application is not limited here. PonyProg is also popular with owners of inkjet printers. Many printer manufacturers put chips on cartridges that store the ink level, so a refilled cartridge is still reported as empty. With PonyProg and a suitable programmer the data in such a chip can be read, changed in the built-in hex editor and written back. The program is free and open source under the GPL, runs on Windows and Linux, and version 3 has a Qt-based interface translated into many languages. New 3.x releases are published on the project's GitHub page.
PonyProg lets users read, edit and write the contents of EEPROMs and microcontrollers with simple, low-cost programmer hardware.