The Ultimate Utility Meter — Part 1
In Part 2, we will delve into
the software, and I will lay
out a complete set of operation instructions, as well as a
few real-world examples.
Okay, we have a lot to
do, so let’s get started. I will
provide a parts list at the end
of the article with a complete
listing of all the components
I used to build the UUM.
Figure 3. The Dios microcontrollers are
the heart of the UUM.
Figure 4. One of the microcontrollers
controls this Crystalfontz graphic LCD.
Two Dios microcontrollers are at the heart of the UUM
(see Figure 3). These microcontrollers are connected via a
hardware universal asynchronous receiver/transmitter
(UART) in each chip, running at 115,200 baud. You don’t
need a programmer for these chips; just download the free
compiler from the Kronos Robotics website (www.
The first Dios is a 40-pin
microcontroller that controls the
graphic LCD shown in Figure 4.
This LCD has a 128 x 64 resolution and its own negative voltage
generator, so interfacing is very
straightforward. This Dios is also
connected to a hex keypad. This
assembly makes up the serial
graphic LCD module.
the Dios Utility Carrier. This carrier comes with lots of extra
headers that can be used for different applications. It even
comes with its own mounting hardware.
I chose to use the Dios for this project for various reasons, but the most important reason is the raw power of the
Dios. The Dios can run 130,000 to 200,000 high-level commands per second in the Basic language, and with inline
assembly, it can run 10,000,000 instructions per second.
Schematic 1. The schematic for a more personalized carrier board.
Note: You may also use the
To simplify construction, I
used a special carrier called a Dios
Universal LCD Carrier. This carrier
board is sold as a kit from Kronos
Robotics and features a built-in
regulator and PC interface, as well
as a header for the Crystalfontz
graphic LCD. You don’t have to
use the carrier, but it will make
hookup and assembly easier.
The second Dios is used as the
logic analyzer and signal generator.
It sends commands to the serial
graphic LCD to display all data, and
it receives data from the serial
graphics LCD when a key is hit on
the keypad. This assembly makes
up the utility controller module.
Again, I used a carrier to simplify the hookup. Here, we used