minipro is an open-source, command-line utility used to program, read, erase, and verify a wide range of EEPROM, Flash, EPROM, SRAM, GAL, and logic devices using supported universal programmers such as the T48, TL866II Plus, and compatible models.
It is widely used in Linux, macOS, and Windows environments, especially for retrocomputing, firmware development, and electronics prototyping.
| Programmer | Notes |
|---|---|
| T48 | Full support (recommended) |
| TL866II Plus | Full support |
| TL866A / CS | Limited / legacy support |
- Parallel EEPROM (e.g., AT28C256)
- Flash memory (29xxx series)
- EPROM (27xxx series)
- SRAM (read/verify only)
- GAL16V8 / GAL22V10
- PAL devices (limited)
- Some microcontrollers (device-dependent)
- Logic IC testing (selected models)
sudo apt install miniproor from source:
git clone https://github.com/vdudouyt/minipro.git
make
sudo make install- Install via MSYS2 or prebuilt binaries
- Requires libusb driver (WinUSB)
minipro [options]Common options:
| Option | Description |
|---|---|
-p <device> |
Select target device |
-r <file> |
Read device to file |
-w <file> |
Write file to device |
-e |
Erase device |
-v |
Verify contents |
-I |
Device information |
-l |
List supported devices |
minipro -lminipro -p AT28C256 -Iminipro -p AT28C256 -r rom_dump.binminipro -p AT28C256 -w rom.binminipro -p AT28C256 -v rom.binminipro -p AT28C256 -w monitor.bin- Software Data Protection is handled automatically
- Write cycle delays are internally managed
- Verification performed after programming
minipro -p SST39SF040 -e -w firmware.bin- Erase step required for Flash devices
- Sector erase handled automatically
minipro -p 27C256 -r eprom.bin- UV erase required before reprogramming
- minipro verifies blank state before write
minipro -p GAL22V10 -w logic.jed- Uses JEDEC files
- Supports read, write, and verify
- Fuse maps viewable via
-I
| Message | Meaning |
|---|---|
Device not found |
Incorrect device selection |
Verification failed |
Data mismatch |
Chip protected |
Write protection enabled |
Overcurrent detected |
Insertion or wiring error |
- Always confirm device orientation in ZIF socket
- Use correct device identifier (
-p) - Do not hot-insert chips during operation
- Use adapters for PLCC, SOP, TSOP packages
- Assemble ROM image
- Program EEPROM using minipro + T48
- Verify contents
- Install chip in SBC
- Test system boot
- Not all devices are supported
- Some microcontrollers require proprietary tools
- In-circuit programming (ISP) not supported
- https://gitlab.com/DavidGriffith/minipro
- https://www.hadex.cz/spec/m545b.pdf
- https://github.com/mikeroyal/Firmware-Guide
- https://mike42.me/blog/2021-08-a-first-look-at-programmable-logic
- https://retrocomputingforum.com/