A standalone PIC programmer based on a ESP8266. Upload a hex file over wifi to program newer PICs with LVP capabilities.
Well, I now reached another milestone. I added a web interface to it, so now I can remotely upload and flash the PIC chip via the ESP.
After a day worth of document reading, hacking and debugging code I can now read/set the fuse bits and also flash and dump the code memory of the PIC. This with the PIC hex code hardcoded into a string array in the esppic software.
Even if I could flash and read back the code successfully my PIC test firmware did't work - the pic looked completely dead. I spend an hour debugging the esp code and focused on the fuse/config settings, but no joy. Then I realised that my pic test code was broken. I didn't use the LAT register for toggling the port for the flashing LED. Doh! I'm really too experienced to spend that long time on a beginners mistake like that. ^__^
So now I basically just have to patch in the webserver code so code can be uploaded over wifi instead of being hardcoded. Ans also make the code support more than just the 16F1705 of course.
I put the codes up at my github - https://github.com/SmallRoomLabs/esppic
I think that the RAM in the ESP8266 will be enough to handle up to 16KW devices, for bigger devices I might have to upgrade to the ESP32.... Or maybe I can upload the hex directly to a file onto the SPIFFS file system. Then I can handle hex files bigger than what the largest PIC requires.
But for the time being I'm happy with just hardcoded support for the 8Kword 16F1705 device.
I have hooked up the ESP and the PIC with a LED on a solderless breadboard. Time to start coding - this shouldn't be too hard. The Microchip LVP protocol is rather simple and have decent docs.