From Wikipedia, the free encyclopedia
Jump to: navigation, search
HP-12C programmable calculator.jpg
Type Programmable Financial
Manufacturer Hewlett-Packard
Introduced 1981
Cost ca. USD 70,-
Entry mode Classical RPN (4 stack level)
Display type LCD seven-segment display
Display size 10 digits
Processor Nut core (HP 1LF5 / HP 1LM2 / HP 1LQ9 / HP 1RR2 / Agilent/Marvell 2AF1[1]) / ARM7TDMI core (Atmel AT91SAM7L128[1]) / ARM Cortex-M4 core (Atmel ATSAM4LC2CA[2])
Programming language(s) keystroke programmable (fully merged)
Memory register 7…20 (R0R9/CF0CF9, R.0R.9/CF10CF19) + 5 (n, i, PV, PMT, FV/CF20) + 5 (X, Y, Z, T, LAST X)[3]
Program steps 8…99[3]
Power supply 4.5 V (3x LR44) or 3 V (1x or 2x CR2032) depending on model
Power consumption 0.25 mW
Weight 113 g
Dimensions 128 × 79 × 15 mm

The HP-12C is a financial calculator made by Hewlett-Packard (HP) and its successor HP Inc. as part of the HP Voyager series.


The HP-12C is HP's longest and best-selling product, in continual production since its introduction in 1981. Due to its simple operation for key financial calculations, the calculator long ago became the de facto standard among financial professionals.[4] Its popularity has endured despite the fact that even a relatively simple, but iterative, process such as amortizing the interest over the life of a loan – a calculation which modern spreadsheets can complete almost instantly – can take over a minute with the HP-12C. The 1977 October edition of the HP Journal contains an article by Roy Martin, the inventor of the simple method of operation used in HP financial calculators, which describes, in detail, the mathematics and functionality built by William Kahan (from UC Berkeley) and Roy Martin that is still in use today.[5]

Later HP financial calculators are many times as fast with more functions, but none have been as successful. The HP-12C's programming mode is very intuitive[citation needed] and works like a macro operation on a computer. Basically, the keys one would press in the calculating mode to arrive at a solution are entered in the programming mode along with logical operators (if, and, etc.) if applicable to the solution. After the programming is complete, the macro will run in the computation mode to save the user steps and improve accuracy. There are 99 lines of programmable memory on the HP-12C.



There were at least eight hardware revisions of the HP-12C since 1981 (including one special issue). Over its lifespan, the proprietary silicon on sapphire HP Nut (originally the 1LF5, then 1LM2)[1] processor's technology has been redesigned to integrate all the circuitry into a single chip (first the 1LQ9, then 1RR2)[1] and to refresh the manufacturing process (as the foundry could no longer manufacture the necessary chips, having moved on to making higher-density chips). However, HP's market research found in the late 1980s that users did not trust results obtained too quickly and so the CPU speed was never improved from the original 884 kHz, but the speed could be increased by a user modification.[6] In the late 1990s, the CPU was changed to a 3 V process (Agilent 2AF1-0001,[1] later a Marvell 2AF1-0002[7]) and the battery was therefore changed to a single CR2032 cell replacing the three LR44 cells previously used (F1637A).

In 2008, HP modified the design to use an Atmel AT91SAM7L128[1][8][9][10][11] processor with ARM7TDMI core running a software emulator of the previous Nut processor, written by Cyrille de Brébisson, in order to execute an image of the former Nut-based firmware in it. This has brought advanced possibilities such as flashing new firmware, not previously possible. HP also released a software development kit (SDK), making it possible to make new and custom operating systems.[12][13] The calculator ran 60-90 times faster on most benchmark operations. This version (F2230A) was colloquially known as the "HP-12C+", although HP did not market it as a different product. In contrast to the preceding revision, it supported two parallel CR2032 cells, of which only one was necessary to run the calculator.

Based on the same processor, a limited HP 12c 30th Anniversary Edition (NW258AA) was introduced in 2011.[14] Only 40,000 of this model were made.

The internal hardware of the HP-12C changed again in 2015, when the design switched to use an Atmel ATSAM4LC2CA-AU processor with ARM Cortex-M4 core.[2] The calculator's part number and physical appearance didn't change except for a "Rev 2" plate on the bottom side.[2] It continues to use two parallel CR2032 cells.[2] The firmware reports a 2015 build date.[2] Serial numbers starting with "PHA", "9CJ", "7CD", or "3CD" rule out the older model variant.[2] The 2×3-pin flash port now uses the USB protocol instead of a TTL serial protocol;[2] in addition to this, the calculator's circuit board features an unpopulated mount for a Micro-USB connector.[2]

The HP-12C is one of only four calculators permissible in the Chartered Financial Analyst exams, the others being its sister, the HP 12c Platinum, and the Texas Instruments BA II Plus and BA II Plus Professional.

Often referred to as a tool for "Old-ie Time-ies," critics of the HP-12C claim its early 1980s technology and style are antiquated. Proponents, however, are quick to note that the HP-12C continues to be both the de jure and de facto standard of high finance.[15]

HP 12c Platinum / Prestige[edit]

HP 12c Platinum / Prestige
Type Programmable Financial
Manufacturer Hewlett-Packard
Introduced 2003
Cost ca. USD 60,-
Entry mode Classical RPN (4 stack level), Algebraic
Display type LCD seven-segment display
Display size 10 digits
Processor 6502 core (SPLB20D2[1] / 6502 core (GPLB31A[1])
Programming language(s) keystroke programmable (fully merged)
Memory register original 12c Platinum model: 7…20 (R0R9/CF0CF9, R.0R.9/CF10CF19) + 5 (n, i, PV, PMT, FV/CF20) + 10 (CF21CF30) + 5 (X, Y, Z, T, LAST X);[16] later 12c Platinum variants: 7…20 (R0R9/CF0CF9, R.0R.9/CF10CF19) + 5 (n, i, PV, PMT, FV/CF20) + 60 (CF21CF80) + 5 (X, Y, Z, T, LAST X)
Program steps 8…400
Power supply 3 V (1x or 2x CR2032) depending on model

The HP 12c Platinum is similar in appearance and functionality to the 12C, and is designed to mimic the 12C whilst extending its capabilities in various aspects. The calculator was introduced in 2003, is visibly distinguished by its silver-colored upper half as opposed to the gold-colored plate on the original 12c. There are five variants of the HP 12c Platinum (including two special issues).

The 12c Platinum has a faster processor (originally a Sunplus SPLB20D2[1][17] with 6502 core), larger memory (for up to 30 registers[16] and 400 program steps) and more built-in functions. It allows input to be entered in algebraic mode as well as in 4-level classical RPN. The calculator's particular implementation of RPN exhibits an unusual behaviour of the CHS key different from that of the 12C and other classical RPN calculators.[18]

The first HP 12c Platinum version (F2231A) did not have parentheses, which often led to awkward key sequences to solve problems in algebraic mode. Since 2005, newer versions (F2232A) of the HP 12c Platinum have parentheses on the blue-shifted functions of the STO and RCL keys. They also support undo and backspace and provide memory for up to 80 registers. The firmware changes increased the ROM size beyond the capabilities of the original processor, so it was replaced by the Generalplus GPLB31A (still with 6502 core),[19] which is also faster.[20] It was manufactured by Kinpo Electronics.

Also based on the GPLB31A, the HP 12c Prestige (F2233A)[21] features a gold-colored plate like the original 12C, but is otherwise like the second HP 12c Platinum model.

In 2006, Hewlett Packard released a limited edition of the 12c Platinum to commemorate the 25th anniversary of the original 12C's introduction. The HP 12c Platinum 25th Anniversary Edition also has the parentheses feature and features the GPLB31A processor as well.

The latest revision of the 12c Platinum was introduced in 2010 (apparently still with product code F2232A). Like in the later revisions of the 12C, it features two parallel rather than only one CR2032 cells, but it continues to be based on the GPLB31A processor.

Bugs and problems[edit]

By design, the HP-12C rounds up the number of payments to the next integer, which produces meaningless results when calculating fractional periods. Consequently, solving for n returns a value that is mathematically incorrect vis-a-vis the standard annuity formula and different from the value returned by other financial calculators, Excel, etc.[22]


The Aurora FN1000 calculator in clamshell design was closely inspired by the HP-12C in 2003. Capitalizing on the limited availability of the HP 12c Platinum 25th Anniversary Edition, Victor Technology released the Victor V12 in 2007 which was a budget priced clone of the HP 12c Platinum edition. It is also available as BrtC FC-12 in Brazil. The 2010 Compucessory CCS28956[23] aka Compucessory 28956,[24] a clamshell design, is another clone of the HP 12c Platinum, but with added margin calculation functions (COST, SELL, MGN). The Truly SC123 in 2015 closely resembles the HP 12c Platinum as well, but in a vertical case layout.

In 2012, SwissMicros (aka RPN-Calc) introduced a miniature clone named DM12CC approximating the size of a ID-1 credit card (88 mm × 59 mm × 7 mm). It closely emulates the functionality of the original HP-12C by running the original ROM image in an emulator on an ARM Cortex-M0-based NXP LPC1114 processor. Newer DM12 models since 2013 feature a better keyboard and more RAM (LPC1115). A DM12 Silver Edition in a titanium case is available as well.[25]

In February 2016, SwissMicros introduced the DM12L, a version of the calculator about the same size as the original HP-12C. Deviating from the HP original, these calculators feature a dot-matrix display, switchable fonts and clock speeds, and they come with a USB serial interface to exchange data with a PC etc. for backup purposes (and possibly to communicate with applications like PC-based HP-12C emulators) or to update the firmware.


  1. ^ a b c d e f g h i "HP Voyager Calculator Variants". brouhaha.com. 
  2. ^ a b c d e f g h http://www.hpmuseum.org/forum/thread-5171-post-46001.html
  3. ^ a b Hewlett Packard HP-12C User's Guide (PDF) (4 ed.). San Diego, CA, USA: Hewlett-Packard Company. 2005-07-29 [1981]. HP part-number 0012C-90001. Retrieved 2015-11-28. 
  4. ^ For example, Goldman Sachs issues HP-12Cs to the members of each new incoming class of its analysts and associates.
  5. ^ Roy E. Martin: Printing Financial Calculator Sets New Standards for Accuracy and Capability, HP Journal, October 1977 (29), pp. 22–28; (PDF).
  6. ^ "HP Voyager Calculator Speedup". brouhaha.com. Archived from the original on 12 July 2009. 
  7. ^ http://www.hpmuseum.org/forum/thread-5142.html
  8. ^ http://media.digikey.com/pdf/PCNs/Atmel/RE133101_AT91SAM7Lxx_Obs.pdf
  9. ^ http://media.digikey.com/pdf/PCNs/Atmel/RE133101_AT91SAM7Lxxx_Retract.pdf
  10. ^ http://media.digikey.com/pdf/PCNs/Atmel/SE133406A_Obs.pdf
  11. ^ http://media.digikey.com/pdf/PCNs/Atmel/RE150402.pdf
  12. ^ http://www.hpmuseum.org/forum/thread-1899-post-16911.html#pid16911
  13. ^ http://www.wiki4hp.com/doku.php?id=12c:repurposing_project
  14. ^ HP Limited Edition Calculator
  15. ^ Kristina Peterson (4 May 2011). "Wall Street's Cult Calculator Turns 30". WSJ. Archived from the original on May 5, 2011. 
  16. ^ a b Hidalgo, Jordi (2004-06-09). "Impressions of the HP 12C Platinum" (PDF). Datafile (2 revised ed.). 22 (3). Retrieved 2015-11-28. 
  17. ^ http://w3.sunplus.com.tw/products/lcdcontroller/splb.htm
  18. ^ "HP 12C Platinum CHS bug?". hpmuseum.org. 
  19. ^ "HP Voyager Calculator Variants". 
  20. ^ "Generalplus GPLB31A datasheet" (PDF). 
  21. ^ "HP Brasil - Calculadoras - Calculadora financeira HP 12c Prestige". hp.com. 
  22. ^ http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv005.cgi?read=8418
  23. ^ http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv019.cgi?read=170657
  24. ^ http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv020.cgi?read=202981
  25. ^ "SwissMicros.com". Retrieved 2013-06-29. 

Further reading[edit]

External links[edit]