The cheap ones basically big-bang either the parallel port of the PC, or the RTS and CTS lines of the serial port. The serial version from Sparkfun (I have one) cannot be used through a USB -> RS232 converter, for instance.

The AVRISPmkII that Digikey sells is probably the best one to have - it seems to cover all of them, and does a nice job of it as well. Plus, it has an ATmega128 onboard, and the onboard FLASH can be upgraded from AVR Studio. Instead of depending on fragile hardware interfaces on the PC, it does the bit-twiddling from an AVR onboard.

"bit banging" is the technique of using a single digital pin to create a serial signal by switching it on and off rather than have it done in hardware by a UART or similar hardware.you can make microcontrollers do serial communications from any old I/O pin this way.likewise you can make a PC parallel port do the same.

it's more processor intensive. you actually have to run a program to switch your pins on and off rather than just give the hardware the desired value to output and letting that hardware module handle the encoding.

depending on how it's programmed it can also be less accurate. imagine you are bit banging a serial RS232 value and the processor is called to handle an interupt half way through. you will get obvious timing problems.

In this day and age I consider any thing bit banged to be sloppy hardware decisions.On a low end Project some times it is an absolute must. But at my internship this summer,they wanted me to code some bit banged i2c, so they could have redundancy on a satalite.I came up with a timer based solution, but it looked ugly. I couldn't understand why ther weren'tjust going to order the chip that had two i2c hardware modules on it....seemed like the hard wareselection crew got lazy and said "We don't want to change we'll make the software guys handle it."Not always the best choice though.....</rant>

i wont have to build the circuit to get this programmer to work will I? i have the programmer made and have some 1k ohm resistors on pins 1 and 2. i should just be able to plug the wires in accordingly to my atmega8 chip on the $50 robot and it would work through pony prog correct? This question is to do with the previos post from dunk.