Enter RPN

Voyager Self-Tests
Login

Voyager Self-Tests

Old-Style Test Modes

Classic HP Voyager series calculators had four built-in test modes. With the calculator off, hold down one of the four basic operator keys, then tap the ON key. An HP 12c Platinum doesn’t start work until you release the operator key, but all other family members including the many other versions of the HP-12C will enter these modes immediately.

÷ (Keyboard Test)

This finicky mode requires the user to press each key exactly once, in a specific order: left-to-right, top-to-bottom, pressing the Enter key twice where it spans the third and fourth rows. I recommend doing this with the calculator on a table, and using one finger only. Yes, I’m aware that the calculator was designed to be held in both hands and used with both thumbs, but in this case it increases the chance that the test fails with Error 9 for an unenlightening reason.

One glaring reason this test might fail for no good reason is that you have one of the later-production machines with faster CPUs, because the nature of the test does not allow the firmware to discern “key could not be pressed” from “user’s finger is moving as fast as said user can manage given their physical limitations, so hold your damn horses, you stupid, impatient machine.” If I seem slightly salty about this issue, it is because any failure to meet the test’s requirements is diagnosed with that same unhelpful Error 9, which the manuals claim mean the calculator needs to be sent back to HP for service, when all that may be happening is pure pilot error.

This symptom is worst on the initial ARM-based designs such as the HP-12C 30th Anniversary Edition, where the implementors’ failure to scale the inter-key timeout in accord with the increase in processor speed means the timeout is a mere 2 seconds. HP ameliorated this problem in the ARMv2 redesign by doubling the timeout, which Moravia then redoubled in the 2022 “Euro” variant.

As a result of all of the above, I can recommend this test only if you do not have the option of doing the new-style test, as on a 1980s production unit.

× (One-Time Self-Check)

If successful, it turns all LCD segments on, an especially valuable bonus test since one of the symptoms you can get during this test is that the blinking running indicator won’t light up fully on certain models, as on the 1991 Brazilian HP-12C I have here. Having all segments turn on at the end reassured me that static displays were perfectly reliable; only rapid on-off was a problem with that particular LCD.

This also serves as a built-in benchmark, since timing it gives a rough indication of how fast the CPU runs. The newest units can run this in under a second, while the original ones take about 25 seconds.

- (Reset)

Clear all memory, reset all modes to factory state.

Beware: All your programs go bye-bye, too!

+ (Continuous Self-Check)

Same as the × mode, but instead of terminating with a success indication — all LCD segments on — it checks for keyboard input at the end of each iteration, and then if nothing was pressed, restarts the test sequence. It will loop indefinitely, as long as there is power and it does not diagnose a run-time error.

Besides being a reliable way to run the battery down ASAP, this is meant as a stress test. I find it especially helpful when checking the performance of the battery under load without removing it from the machine. Electrochemical power cells are weird, making unloaded tests nearly useless.

Beware that a test iteration takes nearly half a minute on the original-production hardware, and that it doesn’t check for input mid-cycle. Depending on the model in question and where it happened to be in its test cycle, a keypress can terminate the test anywhere from immediately to a full cycle later.

New-Style Test Menu

The various limitations in the tests above prompted HP to add an improved set of tests to the original 12c Platinum in 2003. As far as I am aware, they remain in all current production 12-series units, but it is worth noting that HP removed them at last in a later release of the HP 15c Collector’s Edition firmware.

With the calculator off, hold g and Enter, then tap ON and release the other keys. This will give you a menu of options offering rough parallels of the old tests, but organized differently and adding new facilities.

The items on offer vary, but this official HP guide hits the meat of the bell curve. What follows are my elaborations on that document.

1.L (LCD Test)

This shows what used to appear after a successful old-style self-check: all LCD segments on.

2.C (Self-Check)

This is the most broadly useful option on the menu; it is likely what one means when referencing the built-in self-check.

Depending on the speed of the CPU in the test unit, it may complete so quickly you never even see the running indicator appear, but the slowest Platinums take about 17 seconds to run this. (Details) Beware that the run time on this check does not match that of the old-style self-check. I believe this is because it runs directly on the silicon, whereas the old one is the original Nut self-check code running on the emulated CPU.

The first-generation HP 12c Platinum had no other tests, but…

3.K (Keyboard Test)

…starting with the Ver 02 units in 2005, HP added this confusingly-named test,1 wherein each key you press makes a certain group of LCD segments disappear. When they’re all gone, you have pressed each key at least once.

And there much rejoicing, because this design solves all of the problems listed above for the old-style keyboard test: you may press the keys in any order, as many times as you like, and at your own pace. The bogus distinction between “Enter in row 3” vs “Enter in row 4” goes away. No more “Error 9” just because you aren't quick enough for the CPU running unchanged firmware with old timeout counters, or because you had the audacity to press a key twice. Huzzah!

4.CPu (CPU Speed Report)

This did not appear until later units in the Platinum line, and it still isn’t on the classic HP-12C line as of 2025. All it does is report the current running speed of the CPU in Hz, rendered “hZ” in the 7-segment LCD font.

All Platinums I have on hand that offer this give a value around 4 MHz, but I have heard that later-production units may show a value in the 8 MHz region.

4 (15c Collector’s Edition Easter Egg)

There is a hidden 4 menu on the 15cCE that offers a choice between the classic 15c memory layout, an improved version that doubles the available memory at a cost to compatibility, and a bonus HP-16C mode.

License

This work is © 2025 by Warren Young and is licensed under CC BY-NC-SA 4.0


  1. ^ I see you are now wondering why the menu item for the Keyboard test is marked H, yes? You have but to ask yourself how else one would render a K on a 7-segment LCD. Ah, yes, you only thought that was an H…