Summary of Usbpicprog – A free and open source USB Microchip PIC programmer (Software and Hardware) for Linux, Windows e MAC
Usbpicprog is an open-source USB in-circuit programmer for many Microchip PIC families (PIC10F/12F/16F/18F/24F/32F) and I2C EEPROM 24xx. It uses a simple hardware design based on a PIC18F2550, MOSFETs, connectors, and passive parts. The project includes PCB schematics and Gerber files, firmware (bootloader plus usbpicprog programming code) built on the PicDem USB stack using Microchip C18, and cross-platform wxWidgets PC software for Linux, Windows, and macOS.Parts used in the Usbpicprog:
- PIC18F2550 microcontroller
- 4 MOSFETs
- ICSP connector (Microchip ICSP header)
- USB connector
- Passive components (resistors, capacitors, etc.)
- PCB
- Bootloader firmware (Microchip PicDem bootloader)
- usbpicprog firmware (programming algorithms)
- PC software (wxWidgets based application)
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 favourite 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.
Quick Solutions to Questions related to Usbpicprog:
- What PIC devices does Usbpicprog support?
It supports PIC10F, PIC12F, PIC16F, PIC18F, PIC24F, PIC32F families and I2C EEPROM 24xx. - What is the main microcontroller used in the Usbpicprog hardware?
The hardware is built around a PIC18F2550 microcontroller. - What are the main components of the Usbpicprog project?
The project includes hardware (PCB and components), firmware (bootloader and usbpicprog code), and PC software (wxWidgets application). - How is the firmware for the PIC18F2550 developed?
The code was written using Microchip C18 and based on the PicDem USB stack from Microchip. - Can the usbpicprog firmware be upgraded through the device itself?
Yes, after the bootloader is loaded once, the usbpicprog part of the firmware can be upgraded through the usbpicprog interface. - Which platforms does the PC software support?
The wxWidgets based PC application is known to work on Linux, Windows (XP or later), and macOS. - Are the PCB and schematic files available for review or modification?
Yes, the PCB files are available in Gerber format and the schematic is available as a PDF in the download section. - What USB framework does the firmware use?
The firmware uses the PicDem USB stack from Microchip as its USB framework.
Related projects
Pinguino Project: A PIC Microcontroller Based Arduino
This is a complete tutorial to make a PIC Microcontroller based Arduino. This is a complete tutorial to make PIC microcontroller based...
Audio, Sound & Radio · PIC18F2550LM386 based stereo audio amplifier with digital volume control using PIC18F2550
Due to its simplicity (requires minimum external components) and high availability, LM386 is very popular among hobbyists for use in low-voltage audio...
Meters & Test Instruments · PIC18F2550Harmonic Distortion Meter using PIC18F2550
The 3rd harmonic distortion meter has been designed for measuring the quality of AC supply. The meter is built with a PIC18F2550...
Communication & Interfacing · PIC18F4520CAN FD Node based on a PIC18 Microcontroller
The introduction sets the stage for an embedded systems project that involves developing a Embedded C CAN FD project using the MCP2517FD...
Communication & InterfacingLAN9662 Gigabit Switch: Optimized for Industrial Ethernet
Introduction It should come as little surprise therefore that one element of what is now more commonly referred to in some circles...
Communication & InterfacingPIC Microcontroller: Fundamentals & Applications for Students
Introduction Microcontrollers are the key components in the embedded systems market. A variety of embedded systems was formed and developed after the...