Monthly Archives: Mei 2010

Ponyprog Circuit for AVR & PIC16F84


Free Auto Backlink

All resistors are 1/4W.The circuit is powered by 9…15V DC or AC. When In Circuit Programming (ISP) connectors are used, is possible the programmer to be powered from targets power source. Diodes D2 and D6 protect the regulator LM7805, when targets power is used.

‘ XTAL JUMP ‘ is used to cut XTAL when the AVR has internal RC oscillator enabled.

‘FAMILY JUMP’ is used to select which ATMELs family to program, AVR series (ATtinyXX, AT90SXXXX, ATmegaXXX) or 8051 series (AT89Sxxxx).

PIC JUMP is used to switch between Microchips PIC and ATMEL microcontrollers. With jumper ON only PIC can be programmed, while OFF can program ATMELs microcontrollers. If you dont need to program PICs, you can leave their board area unsoldered. The PCB has been designed so that DIP sockets or ZIF sockets can be used. Because of its cost, it is recommended that only one ZIF is used combined with some pin-arrays to switch between the four different places.

The board must be connected to a PC COM port through a 9 pin to pin cable and work with the below application:

‘PonyProg2000 – Serial Device Programmer

Copyright (C) 1997-2001 by Claudio Lanconelli


Download last version of PonyProg2000 at the address: ‘.

Supported microcontrollers are:

ATMELs AVR series

ATtiny12, ATtiny15, AT90S1200, AT90S1200A, AT90S2233, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, ATmega8, ATmega16, ATmega161, ATmega163, ATmega323, ATMELs 8051 series, AT89S53, AT89S8252


PIC16x83, PIC16x84, PIC16F84A

And some other programmable ICs (memories, microcontrollers) which Ponyprog support but need a board adapter to be programmed through ISP connectors. For more information see Claudio Lanconelli site .


PlayPIC-PIC16F84A Microcontroller


Free Auto Backlink

– S1 switches the board on and off. When on, the indicator led LED9 is lit.
– S2 resets the microcontroller.
– S8 switches the LCD display on and off
– S9 switches the eight individual leds AND the 7-segment display on and off.

– Push buttons S3 to S6 correspond to RA0-RA3 inputs. They are enabled or disabled by the SW2 dip switch.

– The SW1 dip switch enables or disables the following features :

1. Connects RB0 (used as output) to LED1.
2. Connects RB0 (used as interrupt input) to S7.
3. Enables the debouncing circuit for interrupt switch S7.
4. Connects RB0 (used as output) to the buzzer.

This dip switch must be either 1000 or 0100 or 0110 or 0001.

– The 7-segment display is always connected to the individual leds. Its seven segments correspond to LED2 to LED8 (RB1 to RB7) and the decimal dot to LED1 (RB0). This correspondence enables the 7-segment display to work together with the interrupt switch S7, which is connected to RB0.

– JP4 is an 6-screw external input connector for RA0-RA4. When used, the corresponding input switches S3-S6 must be turned off by SW2. Last screw is ground.
– JP2 is a 14 pin test terminal. A voltmeter or logic analyzer can be connected any time to monitor the signal traffic in the circuit. Last pin is ground.
– JP1 is the ICP header. When in-circuit-programming is performed, the board must be OFF (by S1), as well as the LCD (by S8) and leds (by S9).
– JP3 is a 14-pin connector for the LCD module. Contrast can be adjusted by trimmer R21.

– The board can be powered either by a 9V battery or a 6-12 V power supply.

PDF versions of the schematic and PCB are included. The board has been sucessfully build and it is depicted on the following
photos :




JP2 – S3 � JP4


JP2 – S4 � JP4


JP2 – S5 – JP4


JP2 – S6 – JP4


JP2 – JP4




JP2 � LED1 � 7 Seg (dp) � S7 Debounce – Buzzer


JP2 � LED2� 7 Seg (a) � LCD RS


JP2 � LED3� 7 Seg (b) � LCD R/W


JP2 � LED4� 7 Seg (c) � LCD E


JP2 � LED5� 7 Seg (d) � LCD DB4


JP2 � LED6� 7 Seg (e) � LCD DB5


JP2 � LED7� 7 Seg (f) � LCD DB6


JP2 � LED8� 7 Seg (g) � LCD DB7