Usbpicprog – Free open source USB Microchip PIC programmer

Usbpicprog is an 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 mosfets, and besides the connectors a hand full 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 actual programming algorithms for all the implemented PIC devices.

PC software – A wxWidgets based (cross platform) application to communicate with the usbpicprog hardware / firmware. This application is known to function well on Linux, Windows (XP or later) and Macosx.

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 application 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 application or IDE.

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

You can adjust all of your cookie settings by navigating the tabs on the left hand side.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

disable

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.