Power Consumption Statistics for the HP-28 Scientific Calculator


----------------------------------------------------------------
Robert Peraino
Scott Hutchinson

January 18, 1990
----------------------------------------------------------------



After many months of wondering, Scott and I finally decided to perform
the laborius task of calculating the current drain of the HP-28 scientific
calculator. These measurements are as accurate as our budgets and equipment
would allow. The equipment consisted of an HP-28, a fresh set of batteries,
and a digital multimeter. These numbers are being posted for the benefit of
others who might find this information interesting, and even useful in the
planning of applications.
No single number can represent the power consumption of the HP-28; the
current drain is so low, small changes in the state of the calculator can
change the current drain dramatically. For example, pressing a key spikes
the drain. With this in mind, we set out to measure the current drain of
the common states as well as singular components of the calculator. All of
the following current readings are in micro-amps (uAMPS). To keep all numbers
accurate with respect to each other, all values were measured at the normal
speed setting (with the exception of the operating speed measurements) and
the display contrast set to minimum (with the exception of the display
drain measurements). With current drains as low as these, one can expect to
see some slight variation in readings from one machine and set of batteries
to another. In other words, if you take these measurements yourself in an
effort to duplicate the experiment, we would not be surprised if the readings
vary by a few percent. We believe these numbers to be accurate, with nominal
variance.


Standard Modes
--------------

Off - 13.5 uAMPS
"Storage mode"- 106.2
On/idle - 446.0
On/running - 2412.0

The calculator has a "storage mode" which can be achieved by pressing
ON/ATTN, ENTER, and BACKSPACE simultaneously. The calculator will beep and
shut off. The usefulness of this storage mode is questionable, since the
current drain is actually over seven times higher than when the calculator
is in the OFF state! The current theory is best explained by Preston Brown
of Hewlett Packard, in a posting to the net in reply to a query sent by me:

You're right, it does draw higher current; its basically a bug in the
hardware. The storage mode or "Coma" mode was designed for factory
checking of the leakage currents of the ICs (a very good measure of
IC reliability) and as a mode the calculators could be shipped in to
increase the shelf life of the batteries. The only problem is that
a pin on one of the ICs is left in a high current state. It shouldn't
cause any problems with your calculator only you can't use it as a low
current state.

This, of course, makes the "storage mode" useless and just an oddity
with which you can impress friends and neighbors. The above numbers are
interesting in that we can see that turning the '28 on draws 33 times more
power than when it was off, running a program draws over 5 times more power
than when it was idle, and running a program draws over 178 times more power
than when it is off. This tells us we should leave the '28 off for maximum
efficiency!


Operating Speeds
----------------

As just about everyone knows by now, the '28 has 16 operating speeds,
of which 7 is the default. Each speed uses more current than the previous one.
Since altering the operating speed is done solely to alter execution speed,
power measurements were taken while running a program. Below is a table of
the 16 speed settings and their current drain in micro-amps.

Running uAMPS
Speed
--------------
0 1633
1 1634
2 1699
3 1849
4 1995
5 2137
6 2270
7 2399
8 2523
9 2642
10 2753
11 2861
12 2965
13 3066
14 3161
15 3255


And a rough graph of the current drain:

3300| o
3200| o
u 3100| o
| 3000| o
A 2900| o
M 2800|
P 2700| o
S 2600| o
2500| o
2400| o
2300| o
2200|
2100| o
2000| o Current drain at operating speeds
1900|
1800| o
1700| o
1600|o...o
+---------------------------------------------------------------------
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S P E E D

We can see that the current drain is almost a linear scale as the
operating speed increases. But will we see a linear increase in speed? The
questions is, what do we get for our money, as the power requirements go up?
To answer this, we used a simple program; << 1 100 START NEXT >> to act as
a standard benchmark. As the speed goes up, the execution time should come
down. Here is a table of the execution times at each speed;

Running Seconds
Speed
----------------
0 2.2593
1 2.2551
2 1.5370
3 1.1171
4 .8773
5 .7211
6 .6112
7 .5304
8 .4672
9 .4187
10 .3787
11 .3447
12 .3174
13 .2933
14 .2725
15 .2544


And the corresponding graph:



2.3|o...o
2.2| .
2.1| .
2.0| .
1.9| .
S 1.8| .
e 1.7| .
c 1.6| .
o 1.5| o
n 1.4| .
d 1.3| .
s 1.2| . Execution time at operating speeds
1.1| o
1.0| .
.9| o
.8| .
.7| o
.6| o
.5| o .
.4| o . _
.3| o o .
.2| o
+---------------------------------------------------------------------
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S P E E D


We can see that the reduction in execution time is far from a straight
line. This is significant, for although the increase of power consumption
as speed goes up is relatively constant, the decrease in execution time is
not. When you study the above graph you will notice that the optimal
operating speed is 7, the HP default.


The Screen
----------

The screen power requirements vary slightly depending on the contrast
setting. At minimum contrast, the screen draws 243 uAMPS. At maximum contrast
the screen draws 333 uAMPS. If you are running a long program/calculation,
you may wish to disable the screen to save power.


Saving Power
------------

A few people have asked how much power can be saved if the operating speed
were set to 0, and the display were turned off. We can now calculate this.
From the above power chart, we see that speed 7 draws 2399 uAMPS and speed
0 draws 1633. Combined with disabling the display at minimum contrast, this
is a savings of (2399-1633)+243 = 1009, or about 42% of the normal operating
current.
You may wonder why anyone would want to do this, since operating speed
would be three times slower. One application written by Bob (but not yet
released) is an alarm system for the hp28s called CRON. If you need to use
your 28s for an alarm system, or to run programs at a set time/date, then you
can use CRON. CRON allows you to set repeating or one-time alarms. CRON
accomplishes this by constantly checking the date, time, and setting of
all alarms. Obviously, CRON does not need to run at full power. When CRON
is in "sleep" mode, the display is turned off, and the speed is set
to 0, saving 42% of normal operating power. When it is time to take
action on an alarm, CRON enables the display and restores the speed to 7.
This is a perfect application for reduced operating power.


The Beeper
----------

The beeper draws differing amounts of power depending on the frequency
generated. Obviously, economy usually is not a consideration in determining
which frequencies to generate in any given application. Other factors
usually dictate this. These figures are presented purely for informational
purposes.

Frequency Current
Hz uAMPS
-------------------
100 13
500 76
900 137
1300 193
1700 245
2100 316
2500 354
2900 402
3300 441
3700 493
4100 541
4500 636
4900 638
5300 744
5700 739
6100 744
6500 3248

One point of interest is the power consumption at 6500 Hz. For some
reason, at around 6500, power consumption goes way up.


Infrared LED
------------

The final subject of interest is the LED. This device is the most
costly part of the system, drawing a whopping 13000 uAMPS. If your batteries
are extremely low, use of this device could be the difference between life
and death for your precious data.


Caring for your power source
----------------------------

Short of modifying the hardware of your 28s, there is no easy way to
get data into the calculator except the keyboard. This should serve as good
incentive to make sure that what goes into your machine stays there. Programs
that run unattended for long periods of time should have a way to monitor
the power situation so that the program can be suspended should a low power
situation occur. One example presented here is a "fuel gauge" type program,
written by Bob.

BAT
[19CE]

<< 100 0 1 5
START
#FF08h PEEK #Fh AND +
NEXT
B->R 75 / 100 * IP -
>>

This program responds with a number representing a percentage of power
left in the batteries. With relatively new batteries, BAT will return 100.
Battery life as measured by BAT is NOT a linear scale. BAT will most likely
return 100 for most of the battery life and only start to drop off near the
end of battery life. BAT can, though, be used as an early warning system,
and should be incorporated into programs which may run for long periods
unattended.