Howto make BootICE (Compatible to A**** AVR JTAG*ICE)

  1. ATmega163 (or Atmega16, need bootloader fix!!)
  2. 7.3728 Crystal
  3. Standard UART Serial Driver (MAX232, etc)
  4. VREF (pin 29) to VCC
  5. ADC2 (pin35) to VCC
  6. PD3 pull-down resistor 4k7
  7. Connect some ATmega to your ICE
  8. TDO - PB6(pin12) to target TDO
  9. TDI - PB5(pin1) to target TDI
  10. TMS - PB1(pin41) to target TMS
  11. TCK - PB7(pin3) to target TCK
  12. PB3(pin43) to LED (other side of LED to VCC) this is "JTAG Activity"
  13. Program with bootice.rom see source bootice.bas (AVR Basic) use PonyProg (notice bootloader is for m163 only)
  14. Set Fuses: BOOTSZ, BOOTRST all programmed, Clock all non-programmed see PonyProg screenshot
  15. Connect your ATmega to COM port
  16. Start AVRStudio 4
  17. Launch AVRPROG
  18. Select "Program Files\Atmel\AVR Tools\JTAGICE\Upgrade.ebn" as Flash file
  19. Program Flash, close AVRPROG
  20. Program Fuses using PonyProg so that BOOTRST is not programmed see PonyProg screenshot
  21. In AVRStudio 4, Tools-JTAGICE you should see following screenshot
  22. Congratulations you have AVRStudio connected to JTAGICE!
  23. Go ahead and use your own JTAGICE !

This works folks! I made a mistake at the start having TDO at wrong pin but thanks to hints from friendly internet users who sent me a link to old version of JTAGICE datasheet this was fixed.

m16 Bootloader (seems to work, but readback fails) bas und rom

additional info about JTAG OCD and AVR JTAG Flash Programming