I came across Sanguino page [link] and RepRap page detailing about loading bootloader to Sanguino (Atmega16A) chip [link].
I experimented with breadboard and some Atmega16A chips.
I found it cumbersome to each time wire the whole circuit on breadboard. But at the same time using Arduino as ISP is lucrative.
I designed this harness to connect Arduino and Atmega16A chips and be ready for downloading programs to target chip in no time
Note 1: I have written this Ible with Arduino Uno and Atmega16A as my target chips.
Note 2: Please take care about Uno and the Atmega16 chip and double check all connections before powering up. These chips can easily get destroyed.
Step 1: Harness Circuit
In schematics, you can see harness wires originating from Arduino and their corresponding end-points at Atmega16A.
List of items needed for wire harness
1) Some wires
2) PCB pins
3) heat shrink tubing
5) 0.1 Micro ceramic capacitor
6) 1 K ohm resistor
Solder wires to PCB pins and use heat shrink tubing to insulate pins. Connect LEDs, 1K resistor and capacitor as per schematic.
In addition, you need to connect 16MHz crystal to pins 12 and 13 of Atmega16A. Also connect harness Vcc and GND pins to corresponding Atmega16 pins.
Step 2: Hex File
Step 3: Be Ready With Arduino Uno
Download program ArduinoISP to Arduino Uno
Step 4: Connect Uno to Target Chip
Step 5: Burn HEX File to Target Chip
Navigate to folder where HEX file is placed
Type command as follows and press Enter
avrdude -p m16 -P COM6 -c avrisp -b 9600 -U flash:w:test.hex
TX and RX LEDs on Arduino will blink
If everything goes fine, you should see writing action, reading action and finally something like this in command prompt window
avrdude.exe: verifying ...
avrdude.exe: 132 bytes of flash verified
avrdude.exe: safemode: Fuses OK
avrdude.exe done. Thank you.
Three LEDs in the harness will also blink and show status.
Note: Do not touch or try to remove any wire while programming is in progress. This will brick Arduino or the Atmega16 chip or both.