Electronic Hobbyists Corner

Home
Site Information
Contact Details

Projects
Technical Articles
Reference Section
Component Tutorials

Site Map
Links
Programmer Hardware
Wisp628 PIC Programmer Wisp628 PIC Programmer
Tree Programmer Hardware - Construction, schematics and testing.
Tree Development Software - Console tools, Windows IDE.
Tree Author's Website - Wouter van Ooijen's Wisp628 page.



Parts List
Schematic
Modifications
Testing



Parts List:
It should be mentioned that the author offers a kit set with all the required components and a PCB. I'm not sure if it is available to those of us in New Zealand, but I can't see why not....

This is what you need to build the programmer with my modifications:
  • 6x 470Ω 1% resistors.
  • 1x 330Ω 1% resistor.
  • 3x 1KΩ 1% resistors.
  • 4x 10KΩ 1% resistors.
  • 1x 0.1µF disc ceramic capacitor.
  • 4x 1µF electrolytic capacitors. (25V or more)
  • 2x 22µF electrolytic capacitors.
  • 1x 47µF electrolytic capacitor.
  • 1x 470µF electrolytic capacitor.
  • 1x 1N400x 1A power diode.
  • 3x General purpose silicon diodes. (I used 1N4148)
  • 1x LED for debugging.
  • 1x 20MHz parallel cut crystal.
  • 1x NPN bipolar transistor. (most standard 100mA types will do, I used a BC549)
  • 1x 78L05 100mA 5V voltage regulator.
  • 1x MAX232 line driver or substitute.
  • 1x PIC16F628 programmed with firmware.
  • 1x Prototyping PCB. (I used DSE H-5603, anything with 400 holes or more should be fine.)
  • 1x DC power jack which suits your needs.

The PIC16F628 used in the programmer needs to be programmed with the firmware provided by the author before it is in the circuit. The firmware can be downloaded from the author's website. PMB Electronics will usually program a PICmicro you are purchasing before send it out.

It's a good idea to install the PIC16F628 in an IC socket to make firmware upgrades easier.

These parts are what I used for housing and connection to the outside world. I imagine most people would prefer to design there own housing and dongles, so these parts may not be what you need.
  • 1x ABS enclosure (90x55x32mm)
  • 4x 10mm insulated spacers for mounting PCB
  • 1x 9-Pin Female D-SUB with back-shell.
  • 1x 15-Pin Female D-SUB, panel mount.
  • 1x 15-Pin Male D-SUB with back-shell.
  • 1x 16-Pin DIL IC clip (see photographs)

Schematic:


Wisp628 PIC Programmer Schematic
Click to view image alone


Modifications:
The above schematic is similar to the one found on the author's website with a few key differences. These modifications are by no means for the best, but they did help my programmer to function more reliably.

The most obvious change is probably the addition of a voltage regulator and DC power socket. I used this when developing the programming module of Wisp628 IDE, but it can also be used to power the target circuit through the programmer. If this sounds like a good idea to you, I suggest using a 7805 regulator rather than the 78L05.

The capacitors in the charge pump are larger than in the original design. I found that 1µF and 22µF resulted in a slightly low Vpp output, but this may not be typical of all constructions. I have increased them to 22µF and 47µF.

I have added an LED between Vcc and pin 6 on the 15-pin D-SUB. This LED should briefly flash twice when the programmer is powered on, and is a good indication the the programmer itself is working.

The capacitors on the crystal are meant to be 20pF, but it turned out that 10pF was more stable with the crystal I used. I recommend trying 20pF first.

I have also added pull-ups on the programming lines (PGD and PGC) and the LVP line. (not shown in the above schematic) If the target has been configured to set the /MCLR pin as an input, the Wisp628 programmer may not be able to program the chip. I found the pull ups at least allowed my to erase the target chip. Don't ask me how, I don't understand it myself....

The final PCB with the modifications is pictured below.


Completed PCB
Click for a larger image


My choice of housing was a small black ABS plastic enclosure slightly larger than the PCB itself. Rather than mounting a 9-pin D-SUB on the box for connection to a serial port, I created a "dongle" which connects both the serial port and the target circuit to the 15-pin D-SUB used in the original design. This can be seen in the two images below.


Assembled PCB in enclosure
Click for a larger image


The final product:


Complete unit with dongle
Click for a larger image


Testing:
Once you have built the programmer, it needs to be tested. The first and most simple test is the connect an LED (and current limiting resistor) between Vcc and pin 6 of the 15-pin D-SUB, if you didn't include it on the PCB. When power is applied this LED should flash twice. If it doesn't, then go back over the circuit and triple check everything.

A few obvious things which could have gone wrong:
  • The connections between the PIC16F628 and the 15-pin D-SUB are incorrect.
  • The test LED isn't connected to the correct point in the circuit. (pin 6 and Vcc)
  • The capacitors on the crystal are not appropriate. You need a oscilloscope to check this.
  • The power is not connected correctly or is not close enough to 5V.

A FAQ can be found on the author's website, make sure you read it.

If it's still not working then check the circuit again. The smallest mistake or bad solder joint can stop it working completely.

Once the circuit passes the LED test, it's time to try and program a PIC. Make all the required connections to the target circuit are made and go to the Development Software page for details on using the various software available.

Application example:


Programmer application example
Click for a larger image




If you have any comments or questions please don't hesitate to contact me.

Return To Top Last Updated: 13/02/2007 Home Page