NP25 Calculator

Nonpariel Physical (NP) is a standalone calculator microcode emulator. NP-25 executes microcodes for HP-21, HP-25C and HP-33C.

Similar projects worth following
This is a hardware realization of Eric Smith's Nonpareil microcode simulator.

The objective of the project is to re-create popular 70's RPN calculators such as the HP Woodstock and Spice series.

Another goal of this project is to have the design as simple as possible so that the project can be re-produced by the average electronic hobbyist.

A low power MSP430G2553 is used in this project. The DIP profile allows easy soldering. Only through-hole components are used. LED multiplexing is done w/ a 74hc164 shift register. LED modules are direct driven w/ pulsing to eliminate the need of current drivers.

LED modules are used to mimic the original 70's calculators and gives a retro look to the end product.

Application Notes

  • press-n-hold 1st row, 5th column (from top) for hp33C
  • press-n-hold 2nd row, 5th column for hp25C
  • press-n-hold 3nd row, 5th column for hp21
  • press-n-hold 4th row, 4th column for version info
  • press-n-hold 1st row, 4th column to show greetings
  • press-n-hold 1st row, 3rd column to edit greetings, use 0-9 to enter numbers and letters, Run/Stop to advance digit, Cls to abandon entry
  • press-n-hold Pgm/Run toggle button to edit default startup settings, use 'F' key to select rom, 'G' key to select speed, Pgm/Run will save setting and exit setup


  • 1 × MSP430G25x3 TI 16bit MCU w/ 16K Flash 512 byte RAM
  • 1 × 74HC164 TTL shift register
  • 3 × HP QDSP-6064 LED Module from Sparkfun 4 digit 7 segment led module
  • 32 × SMT Tactile Button 6x3mm May be substituted w/ through-hole buttons
  • 1 × CR2032 Battery Holder SMT type only

View all 9 components

  • ​October 2014, cc

    Chris Chung08/18/2015 at 13:15 0 comments

    • major code clean-up
    • includes power-on switchable roms for 21, 25C and 33C
    • allow defaults (rom and speed) be saved
    • add greeting message
    • rom_34c.h, rom for 34C is included for further development only, not emulated at this version

  • ​September 2014, cc

    Chris Chung08/18/2015 at 13:15 0 comments

    • this is a preview release upon request, project is not bugs free.
    • based on TI msp430g25x3 mcu, 16KB flash, 512B ram
    • based on work from Eric Smith's nonpariel
    • emualtes woodstock or spice core
    • this is a hobby project not suitable for any use.
    • please observe same GPL licensing terms as the original Nonpariel package
    • notice from orignal Nonpareil package

View all 2 project logs

  • 1
    Step 1

    Create PCB board from the Fritzing design file included in my github repository. You will need to install Fritzing and learn how to use it.

    Fabricate PCB yourself or order from a FAB house (export Gerber files from Fritzing).

    Acquire parts from the components list.

    Acquire a MSP430 MCU programmer. We need this to program the MCU. Easiest and least expensive way is to get a TI LaunchPad G2 and use it as a programmer.

    Download and install GCC compiler for MSP430. There are instructions on the web. You can also install Energia and use the GCC compiler in the bundle.

View all instructions

Enjoy this project?



Arduino Enigma wrote 05/25/2018 at 03:45 point

In this thread you say that the 9 digit bubble LED module was defective. Could you explain please? I am currently playing with a Russian 9 digit module that is a clone of the HP, but it is not very bright when a current limiting resistor is used.

Here is a video using 1K, it does not get much better going down to 560R


  Are you sure? yes | no

Chris Chung wrote 06/04/2018 at 12:27 point

For the 9 digit LED module, it was a bad seller providing defective product with missing + shorted segment / digit lines. I got denied refund / exchange and the seller not even acknowledge the problem. Also impossible to create a kit on non-guaranteed supply source, so I switched to the SparkFun module, which also eventually exhausted.

  Are you sure? yes | no

frank.groessel wrote 12/30/2016 at 15:34 point

Seems like the MCU and the LEDs are no longer up to date/out of production. Any recommendation on newer elements to use?

Thanks for the great project!

  Are you sure? yes | no

zakqwy wrote 08/19/2015 at 13:27 point

This is a beautiful project. Definitely one I'd love to build; I never spent much time with the old HP calculators but this might be an excuse to get into that world. Great work, @Chris Chung!

  Are you sure? yes | no

Hacker404 wrote 08/19/2015 at 07:59 point

+1000 for your choice of schematic editor. 

  Are you sure? yes | no

Chris Chung wrote 08/17/2015 at 14:42 point

This is a finished and mature project. I enter it here after someone advised me on the hackaday prize. The project was done in about 4 months for the 1st cut on last August. I published it on a hp forum and got requests for builds / kits. I had since been refined and we managed to deliver 50+ kits / units. I am not active in the creation of kits / units now. And you can find out more via the link.

The project is open sourced and the code (including the very simple ascii schematic, pcb files) are available in my github repository I can see now this project pages can be expanded to show more details which I will do.

The current design is very tight, in that I used a very entry level MCU to do everything. Even the shift register I need to use one wire for control. But bluetooth (<4.0) via uart is possible. I cannot understand it will be useful though.

As I said, this is a mature project and I don't see any need to expand it. Please feel free to clone it in github and play w/ it.

I also have this NP-41 project what is in a very early stage. It is also entered here in, may be you will also be interested.

/EDIT I forgot to mention that the core emulator is the work of Eric Smith, who wrote the superb Nonpareil simulator. This project is not possible w/o his GNU shared work.

  Are you sure? yes | no

RandyKC wrote 08/18/2015 at 01:11 point

Thank you for posting this. I wasn't aware of all the work you put into these little works of art. Posting this brings this to a broader audience. 

I just wish HP had as much love for the calculators they sold as we do. 

My thought on the bluetooth was to facilitate cuts and pastes between the calculator and a document on a paired computer or a way to create and store programs for up or download. 

  Are you sure? yes | no

RandyKC wrote 08/17/2015 at 13:37 point

I'm an old HP25c fanboy and still have my old HP25c even though it isn't working (original MOS logic fried when I tried to refurbish the charger/ battery pack years ago)

How long have you been working on this?

Will this be open source?

Any thoughts on adding bluetooth to the design?

Do you need any help?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates