- Completely free and Open Source (including firmware)
- Programs PIC10-12-16-18-24, dsPIC30-33, EEPROMs type 24xxxx (I2C), 25xxx (SPI), 93xx6 (MicroWire), DS24xx (OneWire), 11xxx (UNIO), some ATMEL micros, communicates with generic I2C & SPI devices (see supported devices)
- Can work as ICD debugger
- USB 2.0 Full Speed interface, HID class (same as keyboards, mice, etc.)
- Self powered
- Doesn’t need drivers
- Built from easy to find components (estimated cost ~10€)
- Hardware generated timings for maximum speed and reliability (writes a 18F2550 in 15s, 8s under Linux)
- Doesn’t saturate your CPU and doesn’t suffer when other programs are running
- Open source control programs for Linux and Windows
- It’s not another PicKit clone
OpenProg is a C++ application written with Visual C++ 6 and MFC.
Using it is straightforward: just connect the programmer, start the application, select the device, load a hex file and read or write; works with XP, the V bloatware, 7.
On the “Device” tab it’s possible to modify some programming options, such as ID and calibration write, use of eeprom etc.; only settings compatible with the current device will be used.
graphical interface for Linux! It’s built using GTK libraries and it looks more or less like the other.
From version 0.7.10 it includes an ICD debugger, working more or less like pdb; in addition it supports coff files.
To use it under Windows it’s necessary to install the GTK Runtime Environment.
The author tried this programmer with a small number of devices (those I own plus some tested by other users) indicated in bold; the other devices are supported but not tested; however, considering that for every device family at least one has been verified, all of them should work without problems.
Please let me know if you verify operation with the untested devices.
Also contact me if you need other algorithms or code new ones by yourself.
LF series PICs are used exactly as the F ones;
Atmel AVR devices with varius suffixes are grouped together whenever the programming algorithm is exactly the same, eg. ATmega8 and ATmega8A;
EEPROM memories comprise all versions with VDDmax=5V, eg. 242LC56, 24AA256, etc.;
93x memories use 2 different algorithms, for the 93S series and for all the others, indicated with 93x (93xA have 8 bit organization).
For more detail: Open Programmer – USB programmer for PIC, EPROM, ATMEL, SPI