Parallel port serial programming driver


Building a microprocessor based programmer, is certainly a funny thing to do, but before you can use it, you need to put your code inside the flash memory of this processor. In other words you need a programmer.

This can be done with limited features and limited ressources by using the parallel port of the pc, using serial programming and using an AVR that do not need extra supplies.

This driver can solve some problems. But do not expect to solve all programming issues with it. You will need to build a programmer !!!.

The serpp driver

The serpp driver is a part of pgrm. it emulates the Serial Peripheral Interface SPI on some pins of pc parallel port and follows the serial programming protocol described on each Atmel AVR processor datasheet, just to load a program in the flash memory of the connected processor. Even more, you can program the eeprom, read the eeprom, program the fuse bits, read the fuse bits, program the lock bits, read the lock bits, read the device signature, erase the chip, and read calibration byte(s).

The usefull signals are MOSI, MISO, SCK and reset. The serpp driver emulates a clock signal connected to XTAL1. This connection is only necessary when the device is programmed to use external clock.

Note: the atmega8, on the Schematics, is not part of the story. It is there only to show the connections to the parallel port. When using another device, you should connect the same pins functions, but this do not imply the same pins number.

The transistor is only there to indicate to pgrm if the processor is powered or not.

Anti Features or Limitations

How to use

After connecting and powering your device, Select Serial-pp in the User Setup of pgrm, if not already selected and use pgrm as usually.


There is no download here, the driver is included in pgrm software. See pgrm programmer