|List of Errata in Programming and Customizing PICmicro microcontrollers second
edition, by Mike Predko; McGraw-Hill, ISBN 0-07-136172-3.
The errata should really be on the site of Myke Predko. I sent my list to Myke in July 2002. According to Myke I got an early print of his book, and he confirmed it was a disaster.
In contrast to the promise on page XXII of the book, the Errata and Update section on the site of Myke does not list any of these. And my list may even be far from complete, since I did not read the whole book and got tired of making a note of every error I found!
|Christmas 2002 project My first complete PICmicro project:
a Christmas armature, with
"twinkeling" electric candles
The chassis is made of aluminum L-profile (30x30x2 mm) and the candles are made of 13 mm aluminum pipes. The structure is about 35 cm wide and 25 cm high, and assembled with two component glue.
The fittings (E10) and bulbs (14V, 3W) are obtained from an old christmas-tree string. The chassis is the common plus-pole for the candles. Care should be taken to ensure the pipes make contact with the chassis, for example with small parker screws underneath the chassis.
The schematic is very simple, basically a PIC16F628 using the internal oscillator and an ULN2003 as amplifier for the candles, and of course a power supply: 12VDC/1A wallwart and a 7805. The electronic components fit easily on a piece of vero-(strip)-board (you will notice the connector for ICS programming with Wisp628). The board can be mounted underneath the chassis. Since the ULN2003 is loaded practically to its limit I glued a heat sink on the body.
The control program is pretty simple, and may be an example of the use of timer interrupts. The source contains comments about how and why. The luminesce of the candles is regulated with PWM (bit banging) using Timer0, for each candle individually. Under control of Timer2 the PWM value of each candle is slowly changed, having the effect of fade-in and fade-out. The overall luminosity pattern can be changed with a push button, some alternative patterns are provided.
The source can be compiled with the (free demo-version of the) CC5X compiler.
Freeware, released 7 November 2002.
|Dimmers for a large amount of LEDS and for 12V halogen lamps. |
These dimmers are equiped with a PIC12F683, an N-channel MOSFET and a few other components. The 5V dimmer can control the brightness of many LEDs, for example when used as background lighting of control panels, such as the cockpit of a flight simulator. The 12V dimmer is aimed at the use of halogen lamps.
The package contains source-, hex- and make files, as well as the schematics of the 5V dimmer and the 12V dimmer. These dimmers use the same software, the source can be compiled with the (free demo-version of the) CC5X compiler.
Freeware, version 0.0.3, released 13 February 2007.
|Tester for 7-segment display units as used with FSbus used by many Flight Simulator cockpit builders, see
Main purpose is to check if all digits and segments of a display are connected and working correctly. Every segment is lit individually for about half a second to make it easy to determine which segment (if any) is not working properly. Common Anode or Cathode displays can be tested, selectable by jumper.
The tester can be equiped with different PICmicros: 16F818/9, 16F87/8, 16F628A or 16F648A (each with specific firmware).
The package contains pictures (JPG files) of schematics, as well as all source-, hex- and make-files. The readme and source files contain information about how and why and can be compiled with the (free demo-version of the) CC5X compiler.
Freeware, version 1.1.0, released 10 August 2007.
|PC case fan|
|Temperature controlled PC case fan |
This is a simple controller, equiped with a PIC12F683, an LM74 temperature sensor, an N-channel MOSFET and a few other components. It is designed to quiesce the cooling fan in a PC (the case fase) when the temperature in the inside does not require cooling. The fan starts rotating slowly when temperature rises above 30 degrees Celsius and rotation speed increases with temperature. At 55 degrees C and above it runs at full speed. When cooling down the rotational speed is gradually decreased until 30 degrees C when it runs at minimum speed. The fan stops turning when temperature has dropped below 25 degrees C.
The controller works fine with my 92 mm fan, but may need changes for other fans. In particular the power needed for minimum speed might need adaption to your specific fan.
Connect the controller to a standard diskette/harddisk connector of the PC power-supply. Mount it in a safe place where the air temperature of the inside of the PC case can be measured reliably.
The package contains source-, hex- and make files, as well as the schematics of the Fan controller. The source can be compiled with the (free demo-version of the) CC5X compiler.
Freeware, version 0.1.3, released 28 January 2007.
|GPutils 1.2.0 for eComStation. |
This is a complete distribution of GPutils (GPASM, GPLINK, GPLIB, GPDASM and some others) for eComStation (OS/2). All programs run in an eComStation commandline session, just like their Linux originals. The sources were compiled with Open Watcom C/C++ with a set of makefiles for Wmake. No changes were made to the sources. The makefiles are included in this distribution. The original sources were obtained from SourceForge.
Released 27 September 2013.
Click GPutils-0.13.6 or GPutils-0.13.7 or GPutils-0.14.1 or GPutils-0.14.2 or GPutils-1.0.0 or GPutils-1.1.0 to download an older version.
|JAL V2 compiler version 2.4q2 for eComStation. |
This version of the JALV2 compiler has been compiled with Open Watcom C/C++ 2.0 compiler and runs in an eComStation commandline session, just like its Linux and Windows sisters.
This is the second bug fix version of version 2.4q.
Released 23 January 2014.
Note: This archive contains only the eComStation executable "Jalv2ecs.exe" and some make files. The complete original JalV2 compiler can be obtained from the Homepage of JalV2.
A collection of JalV2 libraries is available at Jallib.
|JAL V2 compiler Include File generation project. Project for generating include files for PIC microcontrollers supported by the JAL V2 compiler. These files are shadows of the device files of Jallib.|
|PICmicro programming of LocoBuffer and LocoIO, version 0.8 LocoBuffer and LocoIO are PICmicro based devices designed by
by John Jabour.
Both devices are equiped with a PIC16F873.
Jisp is a JAVA application with which LocoBuffer devices can be programmed via a serial port, and LocoIO devices via a parallel port, without any additional hardware (such as a PICmicro programmer). It provides a Graphical User Interface, but is somewhat slow.
Requires Java 1.1.8 or higher with Swing and JavaComm.
For details of LocoBuffer and LocoIO see the Files section of the Loconet Hackers mailing list.
The source material is available.
Java, Freeware, released 15 October 2002.
|Battery powered Orientation Light with 2 white LEDs |
The circuit is very simple, basically a PIC16F683 using the internal oscillator, builtin ADC to read a potmeter and hardware PWM to control the brightness of the LEDs.
The control program is pretty simple as well, and may be an example of the use of an asynchronous timer while in sleep mode. The source contains comments about how and why.
The source can be compiled with the (free demo-version of the) CC5X compiler.
Freeware, released 03 December 2006.
|Quadrature encoder circuits for rotary encoders version 1.0.4. To be able to use cheap mechanical rotary encoders, some
additional electronics is required.
A document contains the description of several circuits, in
particular 1 equiped with a PICmicros to control 4 rotary
See here the schematics.
The software (hex files for PICmicros) and a PCB layout file are in a separate package.
The circuits are especially designed to connect rotary encoders to FSbus for Flight Simulator.
|Example of interrupt driven serial communications with a PICmicro equiped device as DCE.
Function: echo incoming datastream from DTE, featuring
The source can be compiled with the (free demo-version of) the CC5X compiler, or for a PIC of the PIC18Fxxx family with the CC8E compiler. Suggestion for testing your target device: Intellibox Terminal (IBterm).
Freeware, released 02 February 2003.
|One Hour Timer|
|1-Hour Timer for UV-light and Darkroom |
This timer is pimarily designed for making Printed Circuit Boards with photo-sensitive layer(s).
The exposure time can be selected from 1 second to 60 minutes. The timer uses a rotary encoder to select the lamp-on-period (forward and backward). The steps vary with the period: the longer the period the larger the number of seconds per step.
The actual switching of the (UV-)lamp is performed by a TRIAC. See here the complete schematics.
A 4-digit 7-segment LED display shows initially the selected exposure time in minutes and seconds. When the start-button has been hit the lamp switches on and the display counts down to zero and indicates the number of minutes and seconds to go. The last used period will become the default for next power-on.
Different PICmicros can be used for this timer and a HEX file is provided for each of these: 16F631, 677, 685, 687, 689, 690. The source is provided too and can be compiled with the (free demo-version of the) CC5X compiler. In addition some photographs of my timer and a Layout file for Abacom Sprint Layout 4.0 are provided to build your own timer.
Freeware, released 08 December 2007.
|TinyBld2: PC support program for the TinyBootloader for PICs
for eComStation(OS/2), Linux and Windows, version 0.4.4 |
TinyBld2 is a multi-platform alternative for the original program TinyBldWin of the author of TinyBootloader - Claudiu Chiculita - which is a Windows only program. TinyBld2 has a Command Line Interface (CLI) and can be used in batch scripts and called by other programs. This package contains executables for eComStation, Linux and Windows. Other platforms like Mac and FreeBSD need to compile from the source package.
Tinybld2 supports currently the 16F and 18F series of Microchip PICs It supports also the "Reset-by-RTS" feature for boards which have the RTS line of the serial port connected to MCLR in one way or the other. See the readme file for commandline syntax, options and other details.
New with this release:
FREEBSD license; version 0.4.4; released 22 Dec 2013.
|Support software for the Wisp648 programmer for
eComStation, Linux and Windows, version 2.0.2 |
XWisp2 is an alternative for XWisp by VOTI. Its purpose is to be able to use the Wisp648 programmer under eComStation, Linux, MacOS, FreeBSD and Windows without Python. This package contains executables for eComStation, Linux and Windows. MacOS and FreeBSD users will have to build an executable from the sources!
XWisp2 provides a commandline interface, very similar to XWisp with Python. It contains a large subset of the XWisp command set, and supports most features of Wisp648 firmware. See the online Users Guide and Command Reference for a more detailed description (the html file is included in the download package).
For information about the Wisp648 programmer see Wouters site.
The Wisp648 should be at firmware version 1.28 or newer.
XWisp2 supports the following 14-bits core PICmicros:
New with this release:
Released under FreeBSD license, 27 September 2013.
Click xwisp2-1.8.3 + Wisp628 1.10a, xwisp2-1.9.0 + Wisp628 1.10a, xwisp2-1.9.1 + Wisp628 1.11, xwisp2-1.9.2 + Wisp628 1.12, xwisp2-1.9.3 xwisp2-1.9.4 xwisp2-1.9.5 + Wisp648 1.23 xwisp2-1.9.6 + Wisp648 1.27 xwisp2-2.0.0 to download the executables package of a previous version.
|Support software for the Zero Pin bootLoader for PIC18Fxxx under eComStation, version 0.4 |
ZPL2 is a clone of ZPL by Wouter van Ooijen. Its purpose is to be able to use Wouters Zero Pin bootLoader for the PIC18Fxxx under eComStation. See also the arguments for XWisp2 above! A DOS version is available too.
ZPL2 has the same commandline interface as ZPL.py. For details of ZPL see the site of Circuit Cellar or maybe also Wouters site.
New with version 0.4:
Microchip, PIC and PICmicro are registered trademarks of Microchip
Technology Inc. in the U.S. and other countries.