gPICp

GNU PIC programmer

Introduction

gnu PIC programmer (gPICp) is a free full-featured PIC programming environment. It consists of
This project differs from many other self-made programmers that the hardware is fully compliant to the Microchip specifications (including programmable Vpp and Vdd) and supports in-circuit programming and debugging.

Project aims

Microchip's PIC Microcontroller are very popular for amateur electronics. While open source assembler (http://gputils.sourceforge.net) and simulator (http://gpsim.sourceforge.net) are available, only expensive commercial programmers or very limited self-made PIC programmers are currently available.

The project aims are the development of a driver software (which should also support other programmer hardware) and the firmware and hardware of a fully featured self-made PIC programmer.

Current state

The hardware is quite mature and verified with two prototypes. The firmware is in beta state and needs more testing.
The driver software is in alpha state, which means it is working, but some fancy things could be added. Besides the own hardware, also the DECK programmer is supported.


Hardware

First, I would make clear that you must have a detailed knowlege and experiences in electronics to build your own programmer. You can easily damage your computer if connected to a buggy device.

For now only uncommented (but complete) circuit drawings are available:
Or download everything as zip archive.

Here are some photos from my programmer: (click to enlage)

gPICp gPICp open
gPICp internals gPICp PCB





This programmer needs a programmed PIC, obviously a chicken-and-egg situation. Perhaps you have a friend who has a programmer or as a work-around you can build a very simple programmer (connected to parallel-port). They contain only a few resistors and Co. Browse the web for this...

The schematics are distributed in the hope that they will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE


Software

Things are kept simple! The gui has a log area and three menus, where you can choose your programmer, the used PIC. Once you have choose these settings you can load a hex file and write it to the PIC's program, configuration and data memory.

screenshot


Download

Besides the gPICp software, you may need two other packages:
Both packages are available for many operating systems including Linux, Windows, MacOS X etc.

Source code is available here.

Binary:


MacOS X
Linux
Solaris
Windows
Java included JAVA jre JAVA jre JAVA jre
rxtx
rxtx-2.1
rxtx

rxtx
gPICp
gPiCp

[1]: not compiled by me
[2]: untested!

Free assembler and simulator for UNIX-like operating systems are available:


Documentation

not finished jet...

Installation

A brief installation instruction for UNIX and windows operating systems is available.

Usage

Start gPICp (java -jar gPICP<version>.jar or just a dubble click).
First select the programmer you are using and the port it is connected to, from the programmer menu. ('Dummy' writes all commands to stdout, only for debugging)

With file/open you can read an Intel hex file.

Use the commands from the device menu to perform the desired operation.


 

Legal notice

Copyright (C) 2003-2006 Adjan Kretz <kretza@bluewin.ch>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA