Software for Microchip®
PICmicro® controllers

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
(another view).
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
FSbus.
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.

Temperature controlled PC case fanThis 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 orGPutils-0.13.7 orGPutils-0.14.1 orGPutils-0.14.2 orGPutils-1.0.0 or GPutils-1.1.0
to download an older version.

JAL V2 compiler version 2.4q3 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 27 September 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.

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 LEDsThe 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.

Intelligent quadrature encoders for 4 rotary encoders, version 1.0.5.To be able to use cheap mechanical rotary encoders, some
additional electronics is required.
A documentation
package contains the description of several of such circuits,
both analog and digital.
For example see the schematics of
a circuit equiped with a PICmicro to control 4 rotary encoders.
The software - hex files for PICmicros - and a PCB layout file
for the circuit above is in the download package (in left column).
This circuit is especially designed to connect rotary
encoders to FSbus for Flight Simulator.
A previous software version: 1.0.4..

PC-side should have set CTS output flow control enabled,
PC FiFo transmit load count may be set to 16 (max).

The program is written for a PIC16F628, but can be easily
adapted for another PICmicro, also of the PIC18Fxxx family.
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.

1-Hour Timer for UV-light and DarkroomThis 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.4TinyBld2 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:

Support software for the Wisp648 programmer for
eComStation, Linux and Windows, version 2.0.2XWisp2 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 onlineUsers 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:

Note: These are the chips of which the properties are provided in
the configuration files. Other chips may be added!New with this release:

Only Wisp648 programmer is supported with firmware version
1.28 or newer, 1.30 preferred.

Fixed several PIC configuration specifications.

Several other minor improvements.

XWisp2 for eComStation is available as a WarpIn archive
containing 2 packages: the executables and runtime files and
the sources, makefiles, etc..
It requires WarpIn being installed on your system.
See the NetLabs site for
the WarpIn package and documentation.
These two packages are also available as ZIP-archives.
The source package makes it possible for you to build your own
variant of Xwisp2.
Released under FreeBSD license, 9 September 2014.