PonyProg
serial device programmer

Online Forum

 

   Home
   Who am I?
   Projects
     PonyProg
     CARACA
     WebTherm
     MiniThreads
     FPGA


   PonyProg
     Introduction
     Features
     Screen shot
     Download
     HW Interface
     Forum


Last update
$Date: 2008/01/05 23:21:01 $

SourceForge Logo


 

 
  Introduction
 
If you are looking for a simple but powerful programmer you are right, it's here.
PonyProg is a serial device programmer software with a user friendly GUI framework available for Windows95/98/ME/NT/2000/XP and Intel Linux. Its purpose is reading and writing every serial device. At the moment it supports IC Bus, Microwire, SPI eeprom, the Atmel AVR and Microchip PIC micro.
SI-Prog is the programmer hardware interface for PonyProg.
With PonyProg and SI-Prog you can program Wafercard for SAT, eeprom within GSM, TV or CAR-RADIO. Furthermore it can be used as a low cost starter kit for PIC and AVR.

Support PonyProg Support This Project

PonyProg works also with other simple hardware interfaces like AVR ISP (STK200/300), JDM/Ludipipo, EasyI2C and DT-006 AVR (by Dontronics).

 

  Features
   
Support 24C01, 24C02, 24C04, 24C08, 24C16 IC Bus EEPROM
Support 24C32, 24C64, 24C65, 24C128, 24C256, 24C512 IC Bus EEPROM
Auto detect 24XX EEPROM capacity
Support 24C325 and 24C645 IC Bus EEPROM
Support Siemens SDE2516, SDE2526, SDA2546, SDA2586, SDA3546, SDA3586   EEPROM (as 24XX Auto)
Support AT17C65, AT17C128, AT17C256, AT17C512, AT17C010 IC Bus EEPROM
Support Siemens SDE2506 EEPROM
Detect the bank roll over capability of some old 24XX EEPROM
Support AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4434, AT90S8515, AT90S8535 Flash micro
Support AT90S2323, AT90S2343, AT90S2333, AT90S4433, AT90S4434, AT90S8535, AT90S8534
Auto detect AVR microcontroller type
Support the AVR microcontroller ATmega103, ATmega161, ATmega163, ATmega 323, ATmega128, ATmega8, ATmega16, ATmega64, ATmega32, ATmega162, ATmega169, ATmega8515, ATmega8535
Support the AVR ATmega44, 88, 168, 164, 324, 644, 640,1280, 1281, 2560, 2561 (untested)
Support the AVR AT90can32, 64, and 128 (untested)
Support the AVR ATtiny12, ATtiny15, ATtiny26, ATtiny2313
Support the AVR ATtiny13, 25, 45, 85, 261, 461, and 861 (untested)
Read ATtiny12 and ATtiny15 Oscillator Calibration Byte
Write lock bits to protect the AVR micro from reading
Write both the Flash and EEPROM memory of the AVR micro at once
Support the AT89S8252 and AT89S53 micro
Support 93C06, 93C46, 93C56, 93C57, 93C66, 93C76, 93C86 Microwire EEPROM (C and LC series, the CS serie is not supported yet)
Support 93C13 (as a 93C06) and 93C14 (as a 93C46) Microwire EEPROM
Access microwire eeproms in either 8 and 16 bit organization
Improved support PIC 16C84/16F84 micro
Support PIC 16F873/874/876/877 and PIC 16F84A micro
Support PIC 16F873A/874A/876A/877A and PIC 16F627/628 micro (untested)
Support PIC 12C508/509 micro
Support PIC 12C671/672 micro (untested)
Support 25010, 25020, 25040 SPI EEPROM
Support 25080, 25160, 25320, 25640, 25128, 25256 Big SPI EEPROM
Support 25642 and 95640 Big SPI EEPROM
Support NVM3060 eeprom
Support MDA2061/MDA2062 eeprom
Support X2444/X2445 eeprom
Support S24H30 (untested)
Read/Write Intel hex format file as well as raw binary file
Read/Write Motorola S-record format file
Read/Write CSM format file
Features a custom EP format file to store the EEPROM characteristics, an editable comment and memory content all together with CRC
Enhanced buffer edit, text and hexadecimal
Work with Windows95/98/ME and WindowsNT/2000/XP and Linux*
Reload file button
Fill buffer command
Security bits editing for AVR, AT89S and PIC
Serial number programming
Script files for batch programming
Improved speed with WinNT/2000/XP with a driver for direct I/O.

*Not all interfaces are supported in every operating system, for more informations look at the documentation.

New untested devices may not work. I'm waiting for the samples to test them.

 

   
  Screen dump
   

 

  Download page
 

Download PonyProg for Windows9x/ME/NT/2000/XP & Linux

You may also find useful the PonyProg2000 online documentation.

 

 TODO

 

New GUI probably based on wxWidgets and USB support.

Any contribution are welcome!

 

 
  Hardware interfaces
 
PonyProg now works with several hardware interfaces. Choose the one you prefer and try it.

 

SI Prog (Serial port Interface for PonyProg)

The official PonyProg hardware interface. It works with all devices supported by PonyProg. Look here to buy it.

SI Prog schematics
SI Prog kit


AVR ISP (STK200/300) parallel port interface

The best way to perform AVR ISP programming. It works even in low voltage systems (3V). To select it choose "AVR ISP I/O" or "AVR ISP API" from the Options - Setup menu and the parallel checkbox.
You can connect directly to the target system (ISP) through the 10 pin connector, alternatively you can connect a PonyProg adapter card for AVR, AT89S, SPI eeproms, microwire eeproms and feed external power to the device.
"AVR ISP API" on Linux version need the parport, parport_pc and ppdev kernel modules.
On Windows2000/XP you have to select "AVR ISP I/O" and use a standard PC LPT port.
Note that this interface doesn't support ICBus devices, use the SI-Prog or EasyI2CBus interface instead.

The STK200/300 official dongle is provided by Kanda.

Some people suggest me improvements to the original STK200 dongle. For the discussion look here

Here are the improved schematics.

AVR ISP with STK200/300 pinout (connect it to STK200/300 eva board)
Click here to enlarge

 

AVR ISP with SI-Prog pinout (connect it to SI-Prog AVR adapter boards)
Click here to enlarge


Ludipipo and JDM interface

PonyProg support ludipipo and JDM interface to program PIC16x84. To select it choose "JDM I/O" from the Options - Setup menu and the serial checkbox. If you use Linux or experiment problems select "JDM API".

JDM schematics

How to connect 24Cxx eeproms to JDM programmer:


Easy IC Bus interface

To select it choose "Easy I2CBus" from the Options - Setup menu and the parallel checkbox.
"AVR ISP API" on Linux version need the parport, parport_pc and ppdev kernel modules.
On Windows2000/XP you have to select "AVR ISP I/O" and use a standard PC LPT port.

Click here to enlarge