Tool
IMSProg
Qt desktop programmer that reads, writes, erases and verifies I2C, SPI and MicroWire EEPROMs, FeRAM, DataFlash and SPI NOR/NAND flash chips through low-cost CH341A, CH347T and FT232H USB programmers. It identifies SPI flash by JEDEC ID against an editable chip database, shows SFDP, status and security registers, scans NAND bad blocks, and keeps the chip image in a hex-editor buffer that can save or load parts of the image and import or export Intel HEX. Companion programs edit the chip database and update it from the author's web server.
- Targets
- Firmware
- Category
- Firmware tools
- Relationship
- Foundation tool
- Sources reviewed
Requirements & limits
- Latest release at review: v1.9.1, published 2026-09-04 with a Flatpak and a macOS arm64 build; the ChangeLog says it added FT232H v1.2 support. The reviewed main commit is 41 commits ahead, mostly macOS packaging and path fixes. README lists Debian, Fedora, openSUSE, AUR, ALT, ROSA and RED OS packages and an Ubuntu PPA; a Windows build is maintained separately by a third party.
- Builds with CMake, g++ or clang, Qt5 or Qt6 with the Linguist tools, libusb 1.0, libftdi, pkg-config and udev on Linux, where README says Debian before 11 and Ubuntu before 20.04 are unsupported, or with Homebrew packages and the Xcode command-line tools on macOS. build_all.sh compiles and installs the programmer, database editor and updater with the udev rules and chip database. CI builds Ubuntu 22.04, 24.04 and 26.04 DEB packages, a Fedora 44 RPM checked with rpmlint and a macOS 15 build; no automated tests are published.
- Needs one of the supported USB programmers and, per README, adapters for 93xxx MicroWire, 45xxx DataFlash, WSON-8 SPI NAND and 1.8 V chips. CH347 devices do not support MicroWire, and Verify and Check erase do not skip bad blocks on NAND chips. Images come from the user's own chips; the repository holds no firmware dumps, only its IMSProg.Dat chip database, which the updater downloads from the author's antenna-dvb-t2.ru site.
- GPL-3.0-or-later per README, with SNANDer-derived parts under GPL-2.0+, QHexEdit2 under LGPL-2.1 and CH347 code under BSD-1-Clause. IMSProg transfers chip contents only; analysing a dump needs other tools. No programmer or chip was used in this review.
About this entry
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · bigbigmdm/IMSProg · Revision a9c0a5d
- ChangeLog GitHub · bigbigmdm/IMSProg · Revision a9c0a5d
- build_all.sh GitHub · bigbigmdm/IMSProg · Revision a9c0a5d
- .github/workflows/build.yml GitHub · bigbigmdm/IMSProg · Revision a9c0a5d
- IMSProg_database_update/main.cpp GitHub · bigbigmdm/IMSProg · Revision a9c0a5d
- LICENSE GitHub · bigbigmdm/IMSProg · Revision a9c0a5d
- https://github.com/bigbigmdm/IMSProg/releases/tag/v1.9.1
More in Firmware and hardware
- rbasefind · Tool
- Aptio V UEFI Editor · Tool
- FirmLoader · Tool
- IFDA (IoT Firmware Deep Analysis) · Tool
- basefind2 · Tool
- JTAGulator · Tool