Coffee machines can vary widely from $10 to $10,000 trying to get many kinds of coffee just right. What is it that makes coffee bitter? Coffee
has many strange compounds such as: caffeine,
chlorogenic acid, caffeic acid, citric acid, malic acid, lactic
acid, pyruvic acid, acetic acid, hydroxymethylfurfural, 2-
methylfuran, furfuryl alcohol, trigonelline, peptides, the
proteins alicyclic ketones, and aromatic ketones. Whew!
(Sounds like the makings of a rap song.)
As a side note, distilled water makes coffee more
bitter; soft or hard water decreases the bitterness due to
the increase of dissolved solids. What does this all boil
down to (pun intended)? Coffee sitting on a hot plate for a
long time causes many of these compounds to combine
and increase the bitterness due to oxidation/reduction
potentials. So, here is a unique device that actually can
have more than one application.
It is simply an elapsed timer with a few bells and
whistles. There are no surface-mount components and it
can be put together in a couple of hours. Three alkaline C
batteries will power it for about a year. It is an ideal
project for the newbie because it will teach soldering
techniques and some microprocessor theory. As far as
tools, a drill press is helpful but not necessary.
Both the board files and schematic were made using
ExpressPCB’s free software
and are available at the
article link. The assembly
file for the microprocessor
is also there, along with a
“Hints and Tips” file which
will include any updates.
For those interested, a
complete kit along with a
microprocessor is available
from the Nuts & Volts
webstore. Both the LCD
and the microprocessor
run on 3. 3-5 volts DC
which makes it convenient
for using three C batteries.
The C batteries do add
some weight to the unit,
but the batteries should last
over a year as the unit only
draws about 0.8 mA when
running and 250 µA when
There is only one
switch that controls the
unit. The microcontroller determines how long the switch
has been held down. After five seconds, it resets the timer.
Once reset, a tap on the switch will start the timer. I also
added an automatic turn-off for after eight hours. It puts
the unit to sleep to draw minimum power.
The microcontroller runs at 4 MHz and (due to its
design) is divided by 4, making it produce 1 MHz pulses. I
used the Microchip PIC16F916’s interrupt for a timing
signal. Every four milliseconds, the microcontroller jumps to
the interrupt vector and counts the number of seconds,
minutes, and hours. I arbitrarily set the trip points for
“Fresh,” “Moderate,” “Stale,” and “Rotten” at one hour, two
hours, three hours, and four hours, respectively. I also
added a bi-colored red/green LED. If you’d like to use the
color yellow, simply alternate between red and green
There is not a great deal of code for this project; you
can view the GPS.ASM file at the article link by using
Notepad. If you want to change it, I have added
programming pins to the board. You can do your own
programming using a PICkit 3. This will allow you to
change the wording to anything you like.
LCD (Liquid Crystal
Let’s discuss the use of an LCD display in this project.
An LCD is similar to an LED display as it is multiplexed (see
November 2015 45
■ GPS coffee