Galva-Wisp mark II, low cost ICSP PIC-programmer

Galvanic from PC isolated PIC programmer

The Wisp648 from is an In Circuit Serial Programmer to program a flash PIC which mostly can stay in your circuit.
No irritating doings like pulling the PIC out of the PCB, place it in the programmer, programming it, pull it out the programmer and place it back in the PCB, over and over again, it can stay in the circuit on your breadboard or PCB while programming the PIC.
It becomes risky when the PIC is connected direct to 230V main, like the wireless controlled (and trafo-less!) dimmer from this site, then it's better to program the PIC separate from the circuit.

The Galva-Wisp (mark II) PIC programmer.

Another solution to protect your PC is to isolate the Wisp648 programmer galvanic from the PC or to build the Galva-Wisp, that's the Wisp628 but galvanic separated by two dual-optocouplers.
The Galva-Wisp is expanded with a green power on LED, a red program LED and a pushbutton for the possibility to reset the programmed PIC manual.
By the way, the manual reset is only possible when MCLR is enabled. (CONFIG MCLRE_ON in PIC-Basic (= default))

The difference with Galva-Wisp MARK I is that MARK II has no MAX232 chip anymore.

The PIC which stays on the Galva-Wisp itself steers the Galva-Wisp and is not the PIC which must be programmed!

The Galva-Wisp takes his power from the target PIC circuit (where the PIC stays which has to be programmed) (5V/20mA) and the RS232 COM-port (+/- 9V...12V).
The PIC which must be programmed can stay on his own PCB (or breadboard) while programming it, see the pictures underneath.

Here the Galva-Wisp PIC programmer is connected directly into the COM-port from a laptop.
Ofcourse you can use also an extension cable (1:1) between the COM-port and the programmer.


If no COM port is present, then use an USB-serial adapter.

"Diodecable" with a separate shield on every wire.
To connect the programmer with the PIC which must
be programmed you can do it with wires but it is more easy
when using a DIL-clip.
Programming the PIC is then also possible when the PIC is
already soldered into a PCB (see pictures above this one).

The cable on the DIL-clip should not be longer than 1 metre, recommended is a cable with a shield on each wire (see picture).

All by Galva-Wisp / Wisp648 programmable PIC devices in numeric order
PIC's programmable by Galva-Wisp / Wisp648 (a selection)
Review connections some PIC devices
More info about In Circuit Serial Programming (ICSP)
Conrad have a DIL-clip in his assortment


The components: the reset push-button can leave if not used.

PCB 130101 Etch it by yourself (31mm x 53mm) (Etch manual on the Dutch section)
IC1 PIC16F648A - Download the HEX file on the bottom of this page
IC2,IC3 PC827 (of LTV827) (dual optocouplers)
LED1,LED2 Green and red LED, Ø3mm, low current type
T1 BC547 NPN transistor
T2 TIP120 NPN darlington transistor (see text)
D1,D2,D3,D4 BAT85 Schottky diode (if not available, then 1N4148)
D5 SB140 Schottky diode (or SB130, or 1N5819)
X1 Crystal 20MHz
R1,R2,R9...R12 1k
R3...R8 47Ω
R13 2k2
C1 1000µF / 6,3V or 10V (radial) (see text)
C2 100n, axial (comes under IC1, in the IC socket)
C3,C4 1µF (tantalium)
C5 22µF
C6,C7 22pF
S1 Reset push button (may left away)
Conn1 15-pole sub-D connector, male
Conn2 9-pole sub-D connector, female
IC-socket 18-pins, own choice


C2 is mounted on the inside of the IC socket under the PIC.
Pay attention for the wire connected on pin 7 from the 9-pole sub-D connector.


Beware that the 2 optocouplers (IC2 and IC3) are mounted with the indentation to each other.
The diode D5 must be a Schottky diode, for example type SB130, SB140 or 1N5819.
C2 is mounted in the IC-socket under the PIC.
The PIC must placed in a socket so that these from time to time can be replaced with new software so that the newest PIC types can be programmed.
Updating is possible by programming the update in another 16F648 first and then replace the PIC (IC1) with it.
You can re-program the "old" PIC and use it for another project, or better, keep it as a spare PIC.

Choose for C1 a radial low-voltage elco (6,3V or 10V), else it doesn't fit on the Galva-Wisp PCB.
The value 1000µF looks a little excessively big, but this has his reasons by programming smaller PIC's.

Smaller PIC's
Some PIC's (like 12Fxxx and 16F630/16F676) can configure their MCLR pin as input.
These chips will (in most cases) fail to get into programmingmode when the MCLR pin is indeed configured as input.
Thats why there is an additional circuit necessary when a small PIC must be programmed.

More info about programming smaller PIC's

Realize that the galvanic isolation is between programmer and PC and not between programmer and the circuit, so if you program a PIC which is connected to the mains (i.e. a dimmer), then parts of the programmer are also under life line!
Be sure what you're doing when you program PIC's which are connected to this dangerous voltage, the Galva-Wisp is pure for protection from your PC (also when programming with experimental circuits without high voltages).
Further is the Galva-Wisp the same as the good old Wisp628 from Voti.

The Wisp648 is the successor from the Wisp628.
For very extensive information about the Wisp PIC programmer, click here.

PC software

XWisp is written by Wouter van Ooijen.

XWisp screendump while it is programming a PIC.

The PIC from the Galva-Wisp (IC1) should have firmware version V1.30.
You can download this on the bottom of this page.

Download XWisp
Description XWisp coupling to Proton PIC Basic
More info about XWisp PC software


XWisp2  (third-party, with some interesting features, check his website)
The third program XWisp2 is a variant from XWisp.
With XWisp2 you can add PIC devices by your own and it runs also on Linux and eComStation.
XWisp2 is written by Rob Hamerling.

XWisp2w.exe is the Windows version (open it in a DOS box).

The PIC from the Galva-Wisp (IC1) should have firmware version V1.30.
You can download this on the bottom of this page.

Download XWisp2
Description XWisp2 install and coupling to Proton PIC Basic
More info about XWisp2 PC software


Diagram Galva-Wisp mark II

Schematic diagram from Galva-Wisp mark II.


The PIC which must be programmed (the target PIC) is connected to the 15-pole sub-D connector:
1. GND The Galva-Wisp takes his power from the circuit where also the PIC stays which has to be programmed.
2. +5V
3. PG clock Serial programming clock, mostly PORTB.6.
4. PG data Serial programming data, mostly PORTB.7.
5. Vpp / MCLR Program voltage (13V, generated by the Galva-Wisp itself fromout the 5V power) / Master CLeaR (Reset), active low.
6. PGM (LVP) Program (Optional Low Voltage Programming).
7. Asynch==>PIC Optional, these pins can be left unconnected or can be connected anyway you see fit for serial pass-trough. Pin 7 and 8 are the ones that match the PIC's build-in UART. (Not every PIC type have an UART)
8. Asynch<==PIC

*) Pin 7 is also used for steering the TIP120 when programming smaller PIC's.




HEX software (V1.30 firmware) for IC1 (16F648A)  For use with PC program BumbleBee, XWisp2 or (better choise:) XWisp
Download scheme as PDF file
PCB layout 130101 as PDF file
Datasheet PC827.pdf