Dual PIC Production Programmer

Your PICP Programmer is the most economical Production Programmer

Built up boards and Bare PCB's are available as a service to users.


  • 3 Level VCC for Production Quality Programming
  • 14 bit and 12Bit PIC's
  • Program Flash, Eprom & OTP Parts
  • Program program, data, config, and ID memory direct from hex file
  • Program All parts In-Circuit using the Serial ICP connectors
  • Program 2 independent pieces of target hardware In-Circuit, eg for developing a master-slave system
  • Program 18 Pin DIP devices using on-board socket. 8, 28, 40 pin footprints also on PCB
  • LVP (low voltage programming) option available
  • Header for Microchips ICD cable can be fitted

Buy It Now!

Contents Home

back to contents Home

About the PICP

Full Production Program & Verify In-Circuit

The PIC programmer board described here was originally based on the program written by David Tait. The hardware is more sophisticated, but appears very similar to the software. Our thanks to David for graciously providing the original software. You are welcome to use our circuit or buy a built up unit.

Download the latest s/w version from Sourceforge.

Buy It Now!

Why Use This Programmer Hardware?

We developed this programmer to provide Full Production Program & Verify In-Circuit for our own master-slave telemetry product .

If you are an electronics manufacturer who need to program and customise PIC devices in-circuit, ie after they have been soldered on the PCB, then there are very few products available. Furthermore, since in-system programming needs to be adapted for the products design, you will probably the source code to customise it, or build it into an ATE system.

Alternatively you are developing a Master-Slave or Dual-uP product. You need to be able to different download code into 2 different PIC's easily. You need the Dual-Programmer capability.

Buy It Now!

Our ICSP header

The boards use an AMP (tyco) 8 pin MicroMatch header. We put this header on all boards we make, so it is easy to reprogram the PIC's

Desc AMP# Farnell# RS#
PCB Female-on-board 7-215079-8 148-593  
Cable Male-on-wire 7-215083-8 149-070  
# VPP Versions LVP Versions
7   RB4/LVP

Buy It Now!

Drawings: Circuit and PCB Overlay

Circuit Diagram (PDF 99k) PCB Overlay (PDF52k)

PDF of All Drawings

Old Version 2 Hardware

Circuit Diagram (PDF 71k) PCB Overlay (PDF37k)

Circuit Diagram (PNG96dpi 7k)PCB Overlay (PNG96dpi 40k)

Mods to fit 8 pin socket to Rev2 boards

Old Version 1 Hardware

Old version Circuit Diagram (GIF96dpi 14k)Circuit Diagram (GIF150dpi 28k)Old Version PCB Overlay (GIF 8k)Zip File (Documentation and Hi-Res Drawings)

Currently the software supports most programming Flash and EProm, 12 and 14 bit, ICP devices.

If you want to save yourself the trouble of building it, we supply the programmer fully built and tested with a running 16C84 fitted for approx USD49 (less bundled with the B.Lo.C language)

Buy It Now!

back to contents Home

Using Serial In-Circuit Programming

The PIC16C84 part is supported by our low-cost PICP in-circuit programmer. This programmer has the hardware to support all ICP parts, flash EEProm and Eprom. The program is Open Source. This programmer supports multiple voltage levels so it is a true Production Programmer. The PICPROG is not restricted to In-Circuit Programming, but has a socket for programming 18 pin dip parts, an RS232 port, and can even run simple demo programs (examples supplied) on the programmer board!

Block diagram of ICP setup PIC's and ICP

Older PIC's, ie all 5X parts cannot be serial ICP'd. They require many connection points to the circuit to do a parallel program. All later parts (16CXX, 12C5XX) can be serial ICP'd. This means that you may need only 4 connections to the board to program them. The 16C84 part is EEProm. It can be repeatedly programmed and re-programmed in-circuit. This is a thing of beauty during development. It uses a slightly different algorithm from that used by the OTP/EPROM parts, and, obviously they cannot be re- programmed without UV erasing them, although this does not necessarily mean removing them.

Buy It Now!

back to contents Home

You will probably be using ICP for one of the following reasons

Designing for ICP just requires a small amount of forethought and has many benefits

back to contents

Key Design Factors:

ICP requires access to PB6,7, RST, and gnd

RST will have +13V applied during programming, and will also be pulled low to force reset. Your reset circuit must accept this.

As RST will have +13 applied, there may be a current path through pullup resistors, to VDD. In micropower circuits this could raise VDD above correct levels.

PB7 is a data I/O and PB6 is a clock during programming. Normally the programmer will use open collector drivers and pull up resistors. Your external hardware should not interfere with these. These pins can be used as outputs, the processor is reset before and during programming. However they may load the programmer.

An ideal use is for I2C expansion. As long as care is taken in the programmer software to avoid START and STOP conditions, the I2C devices will remain idle, and have no effect on programming. A bonus, is that the programmer can readily be used to initialise I2C ram,clocks, eeprom etc, as well as an ATE function for all.

Production programming to the specification requires that the device is verified at the max and min VCC values for that device. If you decide that this is necessary, then your programming header will require access to VCC, and some method of adjusting it. This can be a diode in VCC so that it can be externally supplied during programming. Other methods include putting the whole board inside and external regulator loop, so that the voltage can be adjusted downwards to get VCC min.

With OTP parts the programming algorithm could be adjusted to give greater overprogramming.

The PIC's use a simple system where the program counter is reset by holding _reset low, and incremented by programming commands. Any clock pulses that arrive between RST going high, and programming mode being entered, move the program counter, and the data reads/programs in the wrong place.

This is seldom a concern using the internal crystal oscillator modes. The crystal oscillator is slow to start anyway. The PWRTE (power up timer) can perform a similar function when the circuit is powered up by the programmer.

However when you are using RC oscillators, or external crystal oscillator modules, which are always running, then you can have problems.

(this note was written years ago about the C84, and incorrectly identifies the problem above)... The PIC16C84 can be ICP'd in any of its crystal/ceralock resonator modes. The oscillator is disabled and does not run during programming. During programming the oscillator input goes low. This appears to be necessary. Unfortunately if you use an RC mode there is a pullup resistor. This either has to be taken low or open during programming, or a circuit provided to pull the CLK input low during programming. (try a shorting link to gnd on the programming header). This can be a frustrating trap when a PIC16C84 is inadvertently programmed into RC mode, and subsequently cannot be reprogrammed.

Buy It Now!

back to contents Home

You will have a programmed and working PIC Micro in 5 Minutes


You need 1 cable:

Your PIC programmer is shipped with a 16C84 already installed, and programmed with a test. It should flash its LED and emit a test message at power on.back to contents

Demo Program

A precompiled demo program is on the disk ready to go. It program sends acsiiz strings from the ee-prom data memory area.

The program prints a string at power up and prompts you to enter a character. When you enter a char, it responds, and flashes LED2. While it is waiting, it flashes LED1

The file DEMO.B is the B.LO.C. source code for the program. STRINGS.S shows how EE-Prom data memory is initialised.

PP.EXE is the programmer software

TERM84.EXE allows you to run the demo, turn the demo board on and off, and reset the processor

back to contents

Make it Happen !

Install the PIC16C84, if is not already fitted

Connect the printer port to LPT1

Connect the serial port to COM1

BE IN DOS. Completely exit WINDOWS.....make your life easy

PROG.BAT     Program the PIC!
TERM.BAT           Run the terminal. See the PIC working! Reset the PIC and turn the power
on and off (If you are using COM2, use the file TERM2 instead)

Now Try the BLOC DEMO below

back to contents Home

(this is the text of our Ad)

5 Minute PIC Kit

C-Language, Compiler, Emulator, Useful Demo Code

PIC16C84 Demo Board and Programmer

Dual In-Circuit Programmer for PIC16C84 / 71

The new BLOC-Start kit brings together everything you need to start developing applications for Microchips PIC micros today. You will have a running PIC in 5 Minutes

Fast & Easy : EE-Prom Micro emulates 16C5X parts easily

Fast & Easy : Programs Micro In-Circuit (or in programmer)

Fast & Easy : SMD development practical. (smd sockets unavailable)

Fast & Easy : EE-Prom Micros are Economical


Comes with Compiler, Assembler, Simulator, demos, help files, PIC16C84

Production quality programmer (ie verify at 3 voltages)

On board programming socket & demo circuit w/rs232 and leds

RS232 interface for sending debug messages to pc.

Dual In-circuit Programmer hardware.

reset button on PC for Target systems

PIC 1671 compatible hardware

operation from plug-pack or 9V battery

BLOC Start Kit: Compiler and Programmer $ (contact us)

back to contents Home

Your BLOC Start disc comes complete with:

back to contents

Contact Us

back to contents Home