(don’t skip to read the note below)
I recently purchased few AVR microcontrollers. I don’t know much about AVR since I am using it for first time. Any way, I have some experience on working with PIC and MSP430. To program AVR using USB, I came to know that USBASP is the best and cheap choice. But any way, I thought of making my own ISP programmer (both PC software and burning hardware) for AVR using my fav PIC (PIC16f877A) microcontroller just for getting familiarised with the process of loading the binary into the AVR flash.
From PC side, coding is done on python. In short words, the python script reads the hex file (intel hex format) and make some ascii conversion on it and then send it to the PIC16F877A line by line. Now by using some commands for isp programming, the PIC communicate with AVR and transfer the data to it via SPI. I have tested my programmer on atmega8, atmega16 and atmega32.
I did this just for learning some thing about the burning process, please don’t consider this seriously because this may have many bugs , I don’t know and I didn’t tested much. Also I am not interested to continue this because it will be time wasting as there are already many cheap and efficient avr programmers available now. So please don’t complain about bugs and don’t use this for any important purpose. For more Detail: My own AVR ISP programmer using PIC16f877a and python!