Programmers

All on one SLOW page
Serial Port
Parallel Port
Smart Programmers
Serial Loaders

Projects

ATmega8 Serial LCD
ATtiny2313 Serial LCD
ATtiny4313 Serial LCD
ATmega328 SIRC
ATtiny2313 SIRC
40-pin Dev Board
28-pin Dev Board
AVR PS/2 Keyboard
AVR MAX232 RTS/CTS
AVR Dual RS232 Ports

Minimal Circuits

ATmega16
ATmega32
ATmega644
ATmega1284
ATmega8515
ATmega8535
ATmega8
ATmega48
ATmega88
ATmega168
ATmega328
ATmega162
ATmega128
ATtiny13
ATtiny2313
ATtiny4313
ATtiny24
ATtiny84
ATtiny25
ATtiny45
ATtiny85

Other Stuff

ATtiny13 vs ATtiny85
ATmega8 vs ATmega88
ATmega16 vs ATmega164
ISP and SPI
MAX232 Arduino
A small FAQ
Hardware Info

Custom Parallel Port AVR ISP Programmer

Pin Diagram

LED driver transistor

Rules

  1. Inputs are green, and green dots may only be connected to other green dots.
  2. Outputs are red, and red dots may only be connected to red dots.
  3. Black dots are ground, and black dots may only be connected to other black dots.
  4. LED's must be driven by transistors or buffers.
  5. LED's must consume less than 20 mA total or the port will be overloaded.
  6. You must take care not to power too large a circuit from the port.

Notes

  1. The target microcontroller may provide it's own power.
  2. The target power supply voltage must be the same as that of the parallel port.
  3. The parallel port forms an SPI serial interface to the chip.

Example:

This example uses most of the signals. The only signal not used is 'buff', which is used to enable tri-state buffers. The only signals required are the ones on the ISP connector. The LED signals are completely optional.

Parallel port Atmel AVR ISP programmer schematic diagram

Add a transistor circuit for each of the LED's (up to four):

Parallel port Atmel AVR ISP programmer schematic diagram

Or use an open drain (or collector) buffer to drive the LED's:

Parallel port Atmel AVR ISP programmer schematic diagram

Add the ISP connector:

Parallel port Atmel AVR ISP programmer schematic diagram

Then create a programmer entry for avrdude in the avrdude.conf file:

	programmer
	id    = "avrpgmr";
	desc  = "AVRProgrammers Custom";
	type  = par;
	vcc   = 2,3,4;
	reset = 14;
	sck   = 16;
	mosi  = 17;
	miso  = 10;
	errled = 5;
	rdyled = 6;
	pgmled = 7;
	vfyled = 8;
	;