|
|
PICmicro MCUs Supported by the El Cheapo:
|
![]() |
Download: |
This project was begun as a response to the need for a simple and inexpensive PIC16F84 Programmer. The circuit shown here can be built in an hour or so using parts that are commonly available. The software that runs the programmer is written to copy a .hex file into the PICMicro directly with very few options. In terms of speed, the programming operation takes two or three times longer than the fastest programming algorithms out there, but it is very reliable.
The time to program a PIC16F627 with 1K of code should be about 15 seconds.
Programming and Customizing PICmicro® Microcontrollers comes with an El Cheapo programmer PCB to allow you to very easily build your own Programmer quite easily. The circuit used on the PCB is a bit different than the current homebuild circuit, but the software will work on both circuits.
To make it easier for people to work with the El Cheapo programmer, I have decided to combine software to control the homebuilt version with the PCB that comes with Programming and Customizing PICmicro® Microcontrollers. With version 0.80, I have changed the design of the programmer to use a 74LS05 instead of some discrete transistors and resistors to provide the interface. This updated interface should be more reliable and should work on every parallel port built.
I am no longer supporting an MS-DOS command line version of the software. The reason for this was to keep the number of hardware versions that were supported to a minimum. Due to the obsolence of the 2N2106A and the difficulty some people have with procuring the 2N7000, I will only be supporting the home build circuitry shown below. The Windows interface software has a graphical interface to help you test and debug your programmer before you attempt to start programming parts.
Future planned upgrades includes being able to see/control configuration fuses as well as program PIC18C/Fxx2 part numbers.
The circuit used for the homebuilt El Cheapo is:
The homebuild circuit is at a later version than the one used for the PCB provided with Programming and Customizing PICmicro® Microcontrollers. This circuit is a result of working through the problems people have had with their programmers and unique PC/printer combinations. This circuit should work with every parallel port available on PCs (if yours doesn't, I would really like to hear from you).
The Bill of Material for the home built El Cheapo is:
| Part | Description |
|---|---|
| U1 | 78L08 +8 Volt Regulator |
| U2 | Programming socket for PICmicro. Note that this socket and the pin connections will be different depending on the PICmicro MCU that you want to program. |
| U3 | 74LS05 Hex Inverter with Open Collector Outputs |
| Q1 | 2N3906 PNP Bipolar Transistor |
| CR1 | 5.1 Volt, 1/2 Watt Zener Diode |
| CR2 | 1N914 or any small-signal Silicon diode |
| CR3 | LED - Any color |
| R1 | 180 Ohm, 1 Watt Resistor |
| R2 - R8 | 10K, 1/4 Watt Resistors |
| R9 | 2.2K, 1/4 Watt Resistor |
| C1 | 10 uF, 35 Volt Electrolytic Capacitor |
| C2 - C3 | 0.01 uF Capacitor (Any Type) |
| J1 | Power Connector (2.5 mm Power Plug recommended) |
| J2 | DB-25 FEMALE Connector or 36 Pin Centronics Female Connector |
| Misc. | Prototyping Card, Wire, Solder, 15+ Volt AC/DC Power Supply with 2.5 mm Power Plug Output |
My Prototype was built on a piece of FR4 prototyping board using "point to point" wiring.
Also with this circuit, you will require a 14+ Volt AC/DC Power Supply ("Wall Wart") and a DB-25 Male to DB-25 Male "Parallel Transfer" or "Switchbox" Cable.
The most common mistakes made by people building the circuit are:
The power supply circuit built into the El Cheapo is actually quite elegant and inexpensive. Both the 78L12 and 5.1 Volt Zener are current limited to 100 mA and 50 mA, respectively, which allows for "hot plug/unplug" of the PICmicro MCU without the need for switches.
You should use a DB-25 Male to Male "Parallel Transfer Cable". Cables designed for serial connections often do not have all the conductors wired between the two ends. Serial and parallel cables require different pins, which will not allow the El Cheapo to work. Note that "Laplink" cables will no work at all with this circuit.
There are no plans currently to change the PCB that comes with Programming and Customizing PICmicro® Microcontrollers, but I will keep updating the software to work with new parts as well as modifying the circuit to make it as reliable as possible. When the book was originally published, the El Cheapo PCB that came with the book has reference designators that do not match the reference designators that were listed in the book. To help you through the transition, I have updated the El Cheapo Windows Interface and have provided a new Bill of Material that uses the reference designators that are present on the PCB.
The corrected Bill of Materials for the book version of El Cheapo is:
| Part | Description/Comments |
|---|---|
| U1 | 78L12 +12 Volt, 100 mA Linear Voltage Regulator |
| U2 | 18 Pin 0.300" DIP Socket. 18 Pin "ZIF" Socket Recommended |
| U3 | 14 Pin 0.300" DIP Socket. 18 Pin "ZIF" Socket Recommended |
| P28 | 14 Pin 0.100" Socket Strip. This is one half of a 28 Pin DIP Socket cut down as described in the Text |
| P40 | 40 Pin 0.600" DIP Socket. This is a 40 Pin DIP Socket cut down as described in the Text |
| Q1 | 2N7000 N-Channel MOSFET Transistor |
| Q2 | 2N3906 PNP Bipolar Transistor |
| CR1 | 5.1 Volt, 1/2 Watt Zener Diode |
| CR2 - CR4 | 1N914 Small Signal Silicon Diode. Any Small Signal Silicon Diode can be used for this application |
| CR5 | Deleted - See Comments Below |
| R1 | 220W, 1/2 Watt Resistor. Note that this resistor is rated at 1/2 Watt |
| R2, R6 | 1 K, 1/4 Watt Resistors. 10K Marked on the PCB - the Programmer works best with this value for the two Resistors |
| R3 - R4 | Deleted - See Comments |
| R5 | 10K, 1/4 Watt Resistor |
| C1 | 10 uF, 35 Volt Electrolytic Capacitor |
| C2, C4 | 0.1 uF, 16 Volt Tantalum Capacitors |
| C3 | Deleted - See Comments |
| J1 | 2.5 mm PCB Mount Power Socket. CUI Stack Part Number PH-202B (Digi-Key Part Number CP-202B-ND) |
| J2 | 25 Pin Female 90 Degree PCB Mount D-Shell Connector. Note - Male Connector CANNOT be used |
| N/A | Four Rubberized "Feet" for PCB. This is Optional, but Recommended to avoid the El Cheapo from scratching table |
| Parallel Cable | 6'/10' 25 Pin D-Shell Male to Male "Parallel Transfer Cable". May be labled "Interlink" |
| Power Supply | 14+ Volt, 300+ mA AC/DC ("Wall Wart") Power Supply with 2.5 mm Power Plug output |
| Miscellaneous | PICmicro® microcontrollers, Controlling PC, EPROM Eraser |
| Tools | Digital Multi-Meter, Soldering Iron, Solder, Clippers, Needle Nose Pliers, Flat Bladed Screwdriver, Magnifying Glass |
DIY Electronics has made a kit of parts available for the PCB El Cheapo (this is kit number "161"). This kit is very inexpensive (less than six dollars), but ordering one from DIY Electronics in Hong Kong will more than triple this price. There are a number of retailers around the world that has the kit available. You should be able to find this information with a Google search.
To install the new El Cheapo Windows Interface software, follow the steps listed below:
http://support.microsoft.com/support/kb/articles/Q235/4/20.ASP
These are the Application Run Time Utilities and will update the needed DLLs to the latest level before the application is loaded (and avoid the overwrite messages and errors).