Open source TUI programmer suite powered by minipro.
MiniGecko wraps the minipro CLI in a polished terminal UI. It should work with any programmer that minipro
supports — TL866II+, T48, T56, T76, and others.
Early days. This is a personal tool that grew into something shareable. It works well for the author's use cases but is not battle-tested at scale. Bug reports and contributions are very welcome.
- IC selector with live search across minipro's full device database
- Device info panel — chip type, size, package, and all hardware flags decoded from minipro's XML database (erasable, chip ID, write-protect sequencing, programming interface, etc.)
- Operations filtered by chip type: read, write (with confirmation), verify, erase, blank check, compare, logic test, pin check
- Real-time progress bar streamed from minipro's stderr during long operations
- Action log with timestamps and colour-coded results
- UV EPROM awareness — chips that require UV erase (27C-series) are flagged in the UI; the Erase operation is disabled with an explanation
- Emulator mode (
MINIGECKO_EMULATE=1) for offline development without hardware
- Linux (tested on Ubuntu; other distros should work)
- Python >= 3.11
miniproonPATH- A supported programmer (TL866II+, T48, T56, T76, ...)
# Debian / Ubuntu
sudo apt install minipro
# From source
git clone https://gitlab.com/DavidGriffith/minipro
cd minipro && make && sudo make installgit clone https://github.com/ericTheEchidna/minigecko
cd minigecko
pip install -e ".[dev]"minigecko # launches the interactive TUI
minigecko tui # explicitMINIGECKO_EMULATE=1 minigeckominigecko/
├── core/
│ ├── minipro.py # minipro CLI bridge; transport is swappable
│ ├── device_db.py # parses infoic.xml + logicic.xml; decodes flags
│ └── emulator.py # fake transport for offline development
├── app.py # Textual TUI
└── __main__.py # Click CLI entry point
data/
└── test_pattern.bin # 32 KB address-pattern binary for write testing
The core layer is transport-swappable: when direct libminipro bindings
become available they can replace the subprocess bridge without touching
anything above core/minipro.py.
- Hex editor / diff view for read buffers
- Device auto-detect from chip ID
- Hardware hotplug via
udevinstead of polling timer -
libminiproPython bindings (direct USB, no subprocess) - Windows support (would require libminipro bindings or a port of minipro)
- in development: richer chip descriptions
MiniGecko started as a personal tool built while working on Forbin80 — a homebrew Z80 SBC. Sourcing cheap no-name 74-series logic and needing to program EEPROMs repeatedly made a reliable, open-source, TUI chip tool a practical necessity.
Ben Eater's videos were a direct inspiration for this project — his patient, thorough approach to explaining digital logic and homebrew computing is what got the author deep enough into this hobby to need a tool like MiniGecko in the first place. If you haven't watched his series on building an 8-bit computer from scratch or the 6502 project, you REALLY should.
This project was built with significant help from Claude Code (Anthropic's AI coding assistant). Claude wrote substantial portions of the code, helped debug hardware quirks, and co-authored most commits.
The architecture decisions, hardware domain knowledge, and direction are human — the implementation often wasn't. This is disclosed openly because we think that's the honest thing to do.
Found a bug or have a question? Open an issue.
See CONTRIBUTING.md for code contributions.
GPL-3.0-or-later. See LICENSE.
minipro itself is also GPL-3.0. The device databases (infoic.xml,
logicic.xml) are part of the minipro project and distributed under the
same license.