Introduction
PonyProgrammer is a software used for programming serial devices, it was developed by Claudio Lanconelli. 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.
There are many kinds of AVR programmers in market, most of these use the parallel port, a serial port (COM port), or the USB but they are very costly and hobbyist like me can not buy such a costly programmer so i decided to make a cheap AVR programmer. Being a electronics hobbyist I believe in DIY (do it yourself) so here I glad to tell you that my programmer can be built easily in very short amount of time and since there are only few parts, it is very cheap. This AVR programmer is called 'AVR ISP (In System Programmer) programmer'.
PonyProg first loads the.hex file into PC memory as follows: It first allocates a block of memory the size of the device's flash memory (ie 256K for the 2560/1). It then sets all of this 256k block to 0xFF. A new version of the serial device programmer PonyProg has been released. It comes with a good-looking Qt based interface. Here are some screenshots and tests. PonyProg is a reliable application designed for programmers involved in serial device development projects. Its popularity comes from the rich support for a wide range of EPROMs.
On the AVR microcontroller side there are two possibilities to program the AVR microcontroller, socket and in-circuit. A socket programmer provides a way to connect just a bare AVR microcontroller to the programmer and ISP programmers however connect to the AVR microcontroller while it is connected to the target circuit. So ISP allows programming of a AVR microcontroller in circuit, avoiding the need to constantly take it in and out of the programmer and the subsequent bending of pins.
Advantage
- This simple AVR Programmer will allow you to painlessly transfer hex programs to most ATMEL AVR microcontrollers without sacrificing your budget and time
- This AVR programmer is very cheap due to only few common parts are used.
- It is in-system programmer so can be used to conveniently program AVR microcontrollers without removing them from the target circuit.
- It can be built in very short amount of time.
- This AVR programmer is compatible with a popular PonyProg software that shows you a status bar of the programming progress.
Here you can find schematic, board layout and component layout of the my ' AVR ISP programmer'.
Schematic
Board Layout
Component Layout
Description of the in-system programmer
The programmer is quite simple and it is based on the SI-Prog from the author of PonyProg software. The Zener diodes D1, D2 with the resistors R1, R2 reduce the voltage from the ouput pins DTR, RTS on the serial port to around 5V which is suitable for microcontroller (MOSI, SCK). MISO signal is connected directly to the input CTS pin. The diode D3 with the resistor R3,R4 drive the NPN transistor Q1, which controls RESET signal. The AVR microcontrollers are in reset when the signal has low level. The resistor R5 works as a pull-up for reset signal. The resistor R3 helps to close the transistor Q1. The programmer has standard 6 pins header.
Download
You can find eagle schematic and board files in following image (see my another interesting post here to see hidden files).
2 Hidden Files |
How to program with PonyProg
Check my another post here in continuation with this post.
PonyProg is a free utility to manipulate/read/write e.g. I2C EEPROMs, Atmel, PIC chips. It supports only serial and parallel connections to PC.
Ponyprog Usb To Serial Port
When I would like to check eproms datas I tried this utility.
My old computer has parallel port, the only problem was, that I didn't have any hardware interface to connect eprom with pc, so I made my first interface in a solderable breadboard.
It was Easy I2C Bus interface by http://www.lancos.com.
I was very happy when I realized that it works well under linux, so I can read and modify my eproms.
But my laptop hasn't got parallel nor serial ports and I used it mostly at that time. So I read more about I2C and found that I shall reach eprom through i2c-dev, but I had to get USB interface for it. I tried to build I2CUSBtiny, unfortunately it hadn't worked, so I bought a CH341A USB I2C/Serial interface and finally I can reach eprom datas and I can make programs that access eprom through i2c-dev. ( see below I2C menu )
That's an idea whether or not I can modify the PonyProg to access eproms through i2c-dev + CH341A device.
I think I did it mostly but more tests needed.
Now I can test the read/write only with 2402,24256 eproms. I will get other chips to test with them too.
You need the original PonyProg 3.0.0 source and my patch to build the modified version. I built it at my old 32bit laptop and my newer 64bit computer too and worked with 2402 eprom device.
Now I'm testing with 8bit Atmel 24c02,Microchip 24lc08b and 16bit Atmel 24c256 and looks that I can read and write datas.
You can download the patch from here: patch.0.0.1.gz and my classes: tis.3.0.1.tgz
Ponyprog Usb To Serial Port Driver
PonyProg3.0
Tool to manipulate EEPROMs, PIC, AVR chips. (Linux,Windows,MacOS)
url: https://sourceforge.net/projects/ponyprog/files/PonyProg sources/3.0.0/
creator: Claudio Lanconelli website: http://www.lancos.com
My PonyProg modification for I2C-DEV
Addon for PonyProg. Version: 3.0.1 (Linux only)
Modifications for accessing eeproms through I2C-DEV lines.
Download links:
http://www.tothpal.eu/files/tis.patch.0.0.1.gz
http://www.tothpal.eu/files/tis.3.0.1.tgz
screenshot: http://www.tothpal.eu/images/hwprog/ponyprog_newsetup.jpg
creator: Tóthpál István website: http://www.tothpal.eu
WARNING!
This program can confuse your I2C bus, cause data loss and worse!
NO WARRANTY!
Do not use, if you are don't know exactly what you are doing!
Enter PonyProg source directory and unzip patch and my classes, then 'patch -p0 <patchfile'.
After a successful code building you have to check that i2c-dev and i2c-ch341a modules are loaded and PonyProg user has rights to access /dev/i2c-x line.
You can download PonyProg latest version from this link. I had to rewrite my patch for version 3.1, so you can download it from here: patch.3.1.1.gz and you need my classes too: tis.3.0.1.tgz
PonyProg3.1
Tool to manipulate EEPROMs, PIC, AVR chips. (Linux,Windows,MacOS)
url: https://github.com/lancos/ponyprog/tree/v3.1.0
creator: Claudio Lanconelli website: http://www.lancos.com

My PonyProg modification for I2C-DEV
Addon for PonyProg. Version: 3.1.1 (Linux only)
Modifications for accessing eeproms through I2C-DEV lines.
Download links:
http://www.tothpal.eu/files/tis.patch.3.1.1.gz
http://www.tothpal.eu/files/tis.3.0.1.tgz
screenshot: http://www.tothpal.eu/images/hwprog/ponyprog_newsetup31.jpg
creator: Tóthpál István website: http://www.tothpal.eu