Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
This PIC/EEPROM programmer is so simple and small it fits on a business card with
enough room left for assembly instructions...
Project:
Simple JDM2 style PIC ICSP programmer (on a business card).
* all through hole *
* less than 2USD worth of parts (in 1s and 2s!) *
* easy single sided construction at home (with 3 jumpers) *
* enough room left for assembly instructions *
* extra space on the back for even more business-cardy goodness *
* also programs/reads serial EEPROMS *
Description:
Anyone can build this simple programmer and learn about PIC microcontrollers. The JDM2
programmer is super simple (about 10 parts), but programs a huge variety of PICS and serial
EEPROMs. I've programmed everything from an 8 pin 12F629 to a new 18F4550 USB PIC with the
JDM2. This programmer has an ICSP interface, meaning it can program PICs and read EEPROMs
while they are attached to a circuit board. Start your hacking!
The PCB can be made single sided (with three jumper wires), but a two layer design makes assembly
even easier. All the traces are nice and fat for easy toner-transfer or photo-process at home.
The JDM2 design is quite old, the original JDM2 circuit can be found here:
http://www.jdm.homepage.dk/newpic.htm
This design stays true to the old schematic, but the diode numbering now starts at 1, rather than 2.
Skill level:
Easy/beginner.
Assembly time:
About an hour.
BOM:
Part Value
Description
C1
100uF
C2
22uF
D1
8.2V zener
D2
5.1V zener
D3,4,5,6 1N4148
Q1,2 BC547B
R1
10K
R2
1.5K
SV1
5 pin header
X1
DB9 female
electrolytic capacitor
tantalum capacitor
diode
diode
diode
transistor-npn
resistor
resistor
pin header (or female pin header, you choose)
serial connector
Assembly:
Start from the bottom and work up:
Don't forget to begin with the jumper wires if you are using a single sided PCB.
1)Solder the diodes and resistors. Be sure the black band on the diodes is oriented in the same direction
shown on the board/in the schematic.
2)Next, add the transistors.
3)Finish the board by soldering the tallest components: the capacitors, pin header, and DB9 socket.
Software:
The programmer will work with any programming software that supports the JDM2. I like WinPic800
[LINK:http://perso.wanadoo.es/siscobf/winpic800.htm ] because it can auto-detect many PICs.
WinPIC also deserves credit for the great technical support info
[LINK:http://www.qsl.net/dl4yhf/winpic/ ]. Both support the newest USB PICs (18F2/4455). ICProg
does many PICs, as well as EEPROMs, but has not been updated in awhile [http://www.ic-prog.com/ ].
Use:
[from my ICSP instructable here: http://www.instructables.com/id/E28ZH040N7ES175W6I/?
ALLSTEPS# ]
Understanding ICSP for PIC Microcontrollers
Programming microcontrollers isn't hard. Building a programmer makes a great first electronics
project. The goal of this section is to explain the simple 'In Circuit Serial Programming' method used
with Microchip PICs.
Why ICSP?
Programming a big DIP (through hole) chip is easy. Pop it into a socketed programmer, burn, and
return to the application circuit. Test and repeat.
Things get more difficult with smaller (surface mount) chips. There are no standard sockets for QFN,
SSOP, QFP, or even the large SOIC .300 packages. There are really expensive ($100s) clips that can
attach to, and program, these chips. A different clip is needed for each chip type and pin count you use.
There is an alternative. Its called ICSP.
ICSP means 'in circuit serial programmer(ing?)'. It is a way of programming a PIC while it is still
attached to the application circuit. Thats right, no more chip swapping.
So, why is ICSP a good thing?
1. There are no programming sockets for small package chips. Clips are expensive.
2. Its a pain to move chips in & out of the programmer during development. Impossible for surface
mount parts.
What is ICSP?
Five connections are needed to program a PIC while attached to an application circuit. I add a 5 pin
header to my circuit boards to make this connection quick and easy.
The basics of PIC programming.
Five connections are required to program a PIC. Power, ground, a programming voltage, clock, and
data.
+ (Vdd)/-(Vss) These are the power & ground connections (Vdd, Vss). Pretty standard. If you are using
a programmer with 'real' voltage levels (NOT a JDM2!), your application can run from its own power