> You've hit upon a fundamental paradox if your goal is to create a USB PIC > programmer using a PIC. To create the programmer, you have to program the > PIC. But in order to program the PIC, you need a programmer. And if you g= et > a programmer, then there's no real need to build a programmer. Well... well... i took this circuitous (pun intended) route ;-) Way back in 2007, i made a clone of PicKit. I now use the fsusb + bootloader to update the firmware and the process NOW= is trivial. Q: Ok, How did you get the bootloader in ?=20 A: I used another 8051 based board i had made before. a PC "software" i wrote would stream the PIC-hex bootloader bytes over UAR= T to the 8051.The custom firmware i wrote on 8051 would bit-bang the data t= o PIC on its MOSI/MISO lines. The bootloader is the standard pickit bootloa= der Microchip provides for PIC18F2455. Q: Ok now how did you get the 8051 firmware into 8051 ? A: Using parallel port of PC. (remember the clunky ol parallel port that us= ed to be in PC circa 1990's ?) I wrote a program to "byte"-bang the 8051-hex data over parallel port. the= good old AT89C51 can be programmed in parallel mode. This 8051-hex was the PIC "programmer" which worked quite well. finally i decided that i have had enough fun and got around to do somethin= g useful than writing bootloaders to load bootloaders ;-) Q: are you a member of some fringe lunatic group ? A: Heck no ! it was quite a bit of fun as i got things working by doing eve= ry single thing that need to get a chip working; myself (as opposed to usin= g a programmer which will magically program the firmware). If you need to show results to your boss/yourself, use a programmer. Time taken: more than 1 year. Circa 2011: i can now program another PIC using my PicKit clone :-) . but o= nly time i use this scheme is to program a bootloader or if bootloader goes= kaput. -Mahesh --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .