Usbpicprog is a USB in circuit programmer for Microchip PIC processors family PIC10F, PIC12F, PIC16F, PIC18F, PIC24F, PIC32F and I2C Eeprom 24xx. The hardware is as simple as possible, the current version only contains one PIC18F2550, 4 Mosfet, and besides the connectors a handful of passive components.
Components
Usbpicprog consists of three main components:
- Hardware – A PCB design which contains the necessary components to interface from the USB port to a Microchip ICSP (in circuit serial programming) header.
- Firmware– The software that runs on the processor on the PCB. It contains the USB framework, and high and low-level functions for PIC in circuit programming. The firmware can also be divided into two parts:
- The bootloader (Microchip Picdem bootloader) has to be loaded only once, after that, this part of the firmware can be upgraded through the usbpicprog interface.
- The Usbpicprog part of the firmware contains the currently programming algorithms for all the implemented PIC devices.
- PC software – A wxWidgets based (cross-platform) program to communicate with the Usbpicprog hardware / firmware. This program is known to function well on Linux, Windows (XP or later) and macOS X.
Hardware
Schematic – USB pic programmer – Usbpicprog
The hardware is built around a microchip PIC18F2550, this microcontroller has on board USB capabilities. The schematic and PCB have been designed in Kicad, an open-source EDA solution
The PCB files are available in Gerber format and the schematic in PDF in the download section so that you can open them with your favorite tool.
Firmware
The code for the PIC18F2550 has been written using Microchip C18. It was based on the PicDem USB stack from Microchip. The data is sent in blocks through interrupt read /write, and the programming functions are implemented in firmware.
PC Software
Usbpicprog is capable of opening .hex files from any compiler / toolchain. The PC program communicates to the usbpicprog hardware in order to burn the hex file into the target device. The application can be used within Linux, Windows and Mac.
Besides controlling the hardware of usbpicprog, also the PICDem FS USB bootloader (from Microchip) has been implemented in order to update usbpicprog’s own firmware. Of course, the application can be used to communicate with any PIC which has this bootloader installed.
The PC application uses the wxWidgets toolkit and libusb, these two libraries have been chosen for their cross-platform support.
The usbpicprog application has two interfaces, a (wxWidgets) GUI and a command line interface, in order to program a device from within any other program or IDE.
Chip list support, current version PCB (v0.3.2) and software (0.4.2):
PIC10F
PIC10F200, PIC10F202,PIC10F204, PIC10F206, PIC10F220, PIC10F222.
PIC12F
PIC12F508, PIC12F509, PIC12F609, PIC12F615, PIC12F617, 12HV609, 12HV615, PIC12F629, PIC12F635, PIC12F675, PIC12F683.
PIC16F
PIC16F1826, PIC16LF1826, PIC16F1827, PIC16LF1827, PIC16F1847, PIC16LF1847, PIC16F54, PIC16F57, PIC16F59, PIC16F610, PIC16HV610, PIC16F616, PIC16HV616, PIC16F627, PIC16F627A, PIC16F628, PIC16F628A, PIC16F630, PIC16F631, PIC16F636, PIC16F639, PIC16F648A, PIC16F676, PIC16F677, PIC16F684, PIC16F685, PIC16F687, PIC16F688, PIC16F689, PIC16F690, PIC16F716, PIC16F72, PIC16F73, PIC16F737, PIC16F74, PIC16F747, PIC16F76, PIC16F767, PIC16F77, PIC16F777, PIC16F785, PIC16HV785, PIC16F818, PIC16F819, PIC16F84A, PIC16F87, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16F88, PIC16F882, PIC16F883, PIC16F884, PIC16F886, PIC16F887, PIC16F913, PIC16F914, PIC16F916, PIC16F917, PIC16F946.
PIC18F
PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F13K22, PIC18LF13K22, PIC18F14K22, PIC18LF14K22, PIC18F2220, PIC18F2221, PIC18F2320, PIC18F2321, PIC18F23K22, PIC18LF23K22, PIC18F2331, PIC18F2410, PIC18F24J10, PIC18F24J11, PIC18F24J11, PIC18F2420, PIC18F24K22, PIC18LF24K22, PIC18F2423, PIC18F2431, PIC18F2439, PIC18F2450, PIC18F24J50, PIC18LF24J50, PIC18F2455, PIC18F2458, PIC18F2480, PIC18F2510, PIC18F25J10, PIC18F25J11, PIC18LF25J11, PIC18F2515, PIC18F2520, PIC18F25K22, PIC18LF25K22, PIC18F2523, PIC18F2525, PIC18F2539, PIC18F2550, PIC18F25J50, PIC18LF25J50, PIC18F2553, PIC18F2580, PIC18F2585, PIC18F2610, PIC18F26J11, PIC18LF26J11, PIC18F26J13, PIC18F2620, PIC18F26K22, PIC18LF26K22, PIC18F26J50, PIC18LF26J50, PIC18F26J53, PIC18F2680, PIC18F2682, PIC18F2685, PIC18F27J13, PIC18F27J53, PIC18F4220, PIC18F4221, PIC18F4320, PIC18F4321, PIC18F43K22, PIC18LF43K22, PIC18F4331, PIC18F4410, PIC18F44J10, PIC18F44J11, PIC18LF44J11, PIC18F4420, PIC18F44K22, PIC18LF44K22, PIC18F4423, PIC18F4431, PIC18F4439, PIC18F4450, PIC18F44J50, PIC18LF44J50, PIC18F4455, PIC18F4458, PIC18F4480, PIC18F4510, PIC18F45J10, PIC18F45J11, PIC18LF45J11, PIC18F4515, PIC18F4520, PIC18F45K22, PIC18LF45K22, PIC18F4523, PIC18F4525, PIC18F4539, PIC18F4550, PIC18F45J50, PIC18LF45J50, PIC18F4553, PIC18F4580, PIC18F4585, PIC18F4610, PIC18F46J11, PIC18LF46J11, PIC18F47J13, PIC18F4620, PIC18F46K22, PIC18LF46K22, PIC18F46J50, PIC18LF46J50, PIC18F46J53, PIC18F4680, PIC18F4682, PIC18F4685, PIC18F46J53, PIC18F65K22, PIC18F6525, PIC18F6527, PIC18F65K90, PIC18F6622, PIC18F66K22, PIC18F6621, PIC18F6627, PIC18F6628, PIC18F66J60, PIC18F66J65, PIC18F66K90, PIC18F67K22, PIC18F6722,PIC18F6723, PIC18F67J60, PIC18F67K90, PIC18F85K22, PIC18F8525, PIC18F8527, PIC18F85K90, PIC18F85J50, PIC18F8621, PIC18F8622, PIC18F86K22, PIC18F8627, PIC18F8628, PIC18F86J60, PIC18F86J65, PIC18F86K90, PIC18F87K22, PIC18F8722, PIC18F8723, PIC18F87J60, PIC18F87K90, PIC18F96J60, PIC18F96J65, PIC18F97J60.
PIC24F
PIC24F04KA200, PIC24F04KA201, PIC24F08KA101, PIC24F08KA102, PIC24FJ16GA002, PIC24FJ16GA004, PIC24F16KA101, PIC24F16KA102, PIC24FV16KA301, PIC24FV16KA302, PIC24FV16KA304, PIC24FJ32GA002, PIC24FJ32GB002, PIC24FJ32GA004, PIC24FJ32GB004, PIC24FJ32GA102, PIC24FJ32GA104, PIC24FV32KA301, PIC24FV32KA302, PIC24FV32KA304, PIC24FJ48GA002, PIC24FJ64GB002, PIC24FJ48GA004, PIC24FJ64GB004, PIC24FJ64GA002, PIC24FJ64GA004, PIC24FJ64GA006, PIC24FJ64GA008, PIC24FJ64GA010, PIC24FJ64GA102, PIC24FJ64GA104, PIC24FJ64GB106, PIC24FJ64GB108, PIC24FJ64GB110, PIC24FJ128GA006, PIC24FJ128GA008, PIC24FJ128GA010, PIC24FJ128GA106, PIC24FJ128GB106, PIC24FJ128GA108, PIC24FJ128GB108, PIC24FJ128GA110, PIC24FJ128GB110, PIC24FJ192GA106, PIC24FJ192GB106, PIC24FJ192GA108, PIC24FJ192GB108, PIC24FJ192GA110, PIC24FJ192GB110, PIC24FJ256GA106, PIC24FJ256GB106, PIC24FJ256GA108, PIC24FJ256GB108, PIC24FJ256GA110, PIC24FJ256GB110.
PIC30F
dsPIC30F1010, dsPIC30F2010, dsPIC30F2011, dsPIC30F2012, dsPIC30F2020, dsPIC30F2023, dsPIC30F3010, dsPIC30F3011, dsPIC30F3012, dsPIC30F3013, dsPIC30F3014, dsPIC30F4011, dsPIC30F4012, dsPIC30F4013, dsPIC30F5011, dsPIC30F5013, dsPIC30F5015, dsPIC30F5016, dsPIC30F6010A, dsPIC30F6010, dsPIC30F6011A, dsPIC30F6011, dsPIC30F6012A, dsPIC30F6012, dsPIC30F6013A, dsPIC30F6013, dsPIC30F6014A, dsPIC30F6014, dsPIC30F6015.
I2C Eeprom
24XX00, 24XX01, 24XX02, 24XX04, 24XX08, 24XX16, 24XX32, 24XX64, 24XX128, 24XX256, 24XX512, 24XX1025
Download files from the programmer Usbpicprog:
Download software for Linux 32 e 64 bits
Download software for Linux
Download software MAC an Windows 32 e 64 bits
Download software for Windows, Mac
Download the firmware for the PIC18F2550
Firmware PIC18F2550
Download the source code of the project
Download Source Code
Download Hardware design, PCB Layout and Diagrams Schematics
Download Schematics
hii admin, one question i have to ask about schematic that why we are using P1(con-5)?
I get a page not found error on downloading the window version
Nice Guide !, Thankz !<
Sorry to say that I get a page not found error on downloading the linux version
hii everyone chek this http://usbpicprog.org/ is the same content…