Toprammer is an Opensource software for the TOP2049 universal programmer. Command line and GUI (PySide (QT) based) tools are available.
It is written in Python, so it's potentially very portable. It's currently only tested on Linux, but it should run on everything that brings the "python-usb" module.
As all programming algorithm logic is implemented in software, it does not support all the devices that the original "Topwin" Windows software supports. However, support for new chips can be added, if needed. Due to the Opensource nature of the software, it's also possible to implement algorithms for chips that "Topwin" does not support.
The hardware and USB Protocol Reverse Engineering is mostly done. There are only a few not-so-important parts left. We know enough of the hardware and protocol to implement completely new programming algorithms.
Support for other "TOP" devices like the TOP2007, TOP3000 or TOP3100 is planned, but currently not implemented.
The following chips are supported:
- 27c16, 27c32, 27c64, 27c128, 27c256 27c512 EEPROM
- 74hc4094 (logic testing)
- Atmel AT89C2051
- Atmel AT89S51, AT89S52
- Atmel AtTiny13
- Atmel AtMega32
- Atmel AtMega8
- Atmel AtMega48, AtMega48P
- Atmel AtMega88, AtMega88P
- Atmel AtMega168, AtMega168P
- Atmel AtMega328, AtMega328P
- HM62256 SRAM (logic testing)
- M24c01, M24c02, M24c04, M24c08, M24c16 I2C EEPROM
- M2764A EPROM
- PIC10F200, PIC10F202,PIC10F204, PIC10F206, PIC10F220, PIC10F222, PIC10(L)F320, PIC10(L)F322
- PIC12F508, PIC12F629, PIC12F675, PIC12(L)F1822
- PIC16(L)F182x, PIC16LF190x, PIC16(L)F193x, PIC16(L)F84a, PIC16F59, PIC16F630, PIC16F676
- PIC12(L)F1501, PIC16(L)F1503, PIC16(L)F1507, PIC16(L)F1508, PIC16(L)F1509, PIC16(L)F1454, PIC16(L)F1455, PIC16(L)F1459
- PIC18F1220, PIC18F2320, PIC18F2321
- PIC24F04KA200, PIC24F04KA201
- PIC24F16KL402, PIC24F08KL402, PIC24F16KL401, PIC24F08KL401, PIC24F08KL302, PIC24F08KL301, PIC24F08KL201, PIC24F08KL200, PIC24F04KL101, PIC24F04KL100
The following chips have partial implementations, but are currently unsupported:
- Atmel AtTiny26
- Cypress M8C ISSP
- Winbond W29EE011 EEPROM
A generic (universal) device tester is also included in the GUI. With unitest pins on the programmer's ZIF socket can manually be toggled, read, set to a voltage or oscillator frequency. This is useful for testing chips and microcontroller programs.
The GUI can be invoked with the "toprammer-gui" command.
toprammer release 0.17
07 February 2017 / PGP signature
- Older toprammer releases can be found here.
Latest bleeding edge toprammer can be downloaded using the Git version control system as follows:
git clone https://git.bues.ch/git/toprammer.git
|or via http:||
git clone http://git.bues.ch/git/toprammer.git
|or via git:||
git clone git://git.bues.ch/toprammer.git
or by downloading the
toprammer snapshot archive.
To browse the Git repository online, go to the git web interface.
A mirror of the repository is available on GitHub, GitLab, Bitbucket and on NotABug.org.
If you want to contribute to toprammer, please read the contribution guidelines first.
If you find any bugs in toprammer or if you have any suggestion for new
features, we would like to hear from you.
Your help is greatly appreciated and will help to create better software and improve the overall experience for everybody. So don't hesitate to report anything that that limits your toprammer usage.
If you have got any code improvements or other improvements that should be merged into the project, please send such enhancements to the toprammer maintainer.
Please read the contribution guidelines first.
Thanks to Pavel Štemberk for his work on Microchip support and other parts of the software.