Ja sam davno napravio K128 USB Programator:
http://kitsrus.com/pic.html
i sluzio me je dobro (sluzio, zato sada cesce koristim smd varijante kontrolera pa koristim ICD2) a dalje me sluzi za programiranje kontrolera u uredjajima koje sam radio na bazi kontrolera u DIP pakovanju. Inace me je par puta spasio bede kada sam trebao na terenu da promenim firmware u kontroleru.
Programirao sam 12F629, 12F675, 16F627, 16F628, 16F870, 16F872, 16F877 ali mislim da ni sa ostalim podrzanim ne bi trebalo da bude problema. Mozda novo izbaceni kontroleri jos ne moze da programira (zbog toga sto autor software-a ne saradjuje vise sa njima) ali po prici autora sprema se novi software koji ce podrzavati sve nove i one koje su u najavi.