Build Your Own HP41C

There was a time when engineers carried slide rules. Then there was a time when we all carried calculators. Sure, calculators are still around, but you are more likely to use your phone. If you really need serious number crunching, you’ll turn to a full computer. But there was that awkward time when calculators were very important and computers were very expensive that calculators tried to be what we needed from full-blown computers. The HP41C was probably the pinnacle of that trend. If you’ve ever had one, you know that is a marvel of the day’s technology with alphanumeric capabilities and four plug in ports for more memory or ROMs. It really was a little hand-held computer. Didn’t have one? Don’t worry, you can now build your own. In fact, the HP emulator will also act like an HP15C or 16C, if you prefer.

You can see the device in action in the video below. As you might expect, this version uses a through-hole ATMEGA328 and even at 8 MHz, the emulation is faster than the original calculator. The machine also has over double the memory the original calculator had along with a real-time clock built-in. The display is also backlit, something we all wanted in the original.

What we really liked, though, was the 3D printed cases you can download for the calculators. You can see that in the video, too. We were a little sad that the kit is in an HP15-C like landscape orientation unlike the HP41’s portrait format. Then again, the schematics are there so maybe someone will lay out a nice HP41-specific board.

Of course, HP calculators used RPN, but if you grew up with a slide rule that’s fine. For everyone else, it is usually a bit of a learning curve. Also, as great as the HP41C was, it didn’t have binary or hex or even octal math unless you used “synthetic programming” and though we imagine the emulators used can handle synthetic programming (sort of assembly language for the HP41C) it was never fun to work on non-decimal problems with this machine. Still, what a great calculator and it is fun to see it reborn in modern form.

We’ve seen another fake HP41C that we think is using the same emulation software but required SMD soldering. We wonder if the KIM Uno or 1802UNO could be made to run on the same hardware? Seems like it would.

41 thoughts on “Build Your Own HP41C

  1. Ah the good old days, that was a great calculator back in early 1980’s was so impressed with it when studying electrons part time at Western Australian Institute of Technology I ended up striking a deal to buy wholesale, sold them all around campus – though hrrm never advertised to my students when I taught Macro-11. Most of the peripherals pretty good though pricey for the time.

    Have a program on Win 7 which emulates it fairly well with same graphics, even button press animation – occasionally though makes a very minor display calculation error on Fix 3 display.

    Looking around for an android app version as good as the windows one which I could configure for multiple scripts, the programming notion very easy to use – though no means to pull up files equivalent to rom lake.

    Nice article, will look into it, thanks for posting :-)

  2. It’s remarkable the original 41C ticked along at 14 kHz, and drew less than 1 mA while idle, less than 10 mA running.
    Mine still does, 41 years after I bought it (for about 1 month of pay! *cough*).

    1. LoL nice one, 41 anniversay use of a 41C (calculator or conundrum or celebration etc) only 14Khz, yikes I thought it 10 times that, have a real oldie one of the first batteries leaked, minor board damage – maybe Xmas project revive it :sigh:

      Wonder if the guts can be pulled out, retain the LCD or add an electronic ink display & run emulator on ESP 32

    2. Ha! Thanks for noting that auspicious date. I also still use – daily – my HP41C that was a graduation present from my father. I ended up getting the whole HP-IL kit. Tape drive, printer, and a ton of plug in modules. Even one of my lab bench DMMs has HP-IL. Alas they’re all tucked away somewhere while my calculator (which has had to have some repairs along the way to the flex circuit inside) just uses the time module today.

      Also, IIRC, there was a module that would enable hex calculations. But it was pretty awkward to use.

      1. Dan, there are several modules that can do the hex calculations.  The latest I’m aware of is Håkan Thörngren’s Ladybug module which gives the 41 a new customizable binary integer mode, with most HP-16C capabilities, and stack items up to 64-bit (the last 8 bits being kept in a buffer).  It does arithmetic, bitwise, and logical operations in bases 2, 8, 10, and 16.  I just use what’s in the Advantage module, to convert hex to decimal or vice-versa and do boolean functions on them, limited to 32-bit.

    3. Yeesh, I never even noticed the date coincidence.

      My 41C predated the CV, so I got the quad memory, xfun and time modules, and the card reader. HP-IL looked cool, especially the HP-IL GPIB interface, but I couldn’t justify the cost.

      I never got the famous PPC module either, but I did do an awful lot of synthetic programming on it.

      I doubt the simulation here is faithful enough to support synthetic programming.

    4. I overclocked mine 30 years ago, replaced one of the capacitors in the clock circuit so it now runs about 35% faster which seems to be the upper limit for stable operation without further modifications. It does draw somewhat more amps, but I’ve replaced the batteries with LiPo’s so it’s not a worry.

      You can get it to go even faster by increasing the voltage of the battery-pack, 1-3 volts seems to be just fine but any higher and things starts to get warm plus you increase the risk of old components just giving up the smoke.

      1. my old 41c ran at 2.25x normal, used a reed switch to allow the mag card reader to work. used 2 caps to alter oscillator, died a few years ago after 35+ years of constant use.

      1. 32 nm? Utter fantasy. The 41C is from an age when DIP ruled. SMT was essentially unknown. BGAs didn’t exist. FPGAs didn’t exist.

        Though I don’t know what the feature size was specifically on the Coconut(etc.) or later Saturn processors, process technology then was in the 3-10 micron range. 3000 nm.

    1. Oh no! There goes all my gift card budget. I still have my old one and I use it pretty frequently but that looks awesome and you wouldn’t have to be as afraid of damaging it.

    2. SM also sell the DM41x which can load ROM files… and has a few nice user interface improvements.

      And there are open source projects going on to develop new firmware for the DM42, such as the C43 project I am participating in – which builds on the earlier WP43 project – and is very advanced already, very nice user interface, programmers’ functions, very extensive mathematical and statistics functions, etcetera. Swissmicros runs a forum where you can follow the developments, download betas etcetera.

  3. Neat project!

    Still use my 15C and 16C . Never went out of ‘fashion’ here. Much easier to use than a ‘screen’ style calculator on computer or phone. Also at home have the 12C in the upstairs area for general purpose calculations that come up now and then. I actually like the form factor of the these over the 41 style myself. As for RPN, RPN is the only way that really makes sense…. So it goes…

    1. Indeedee do dee, may the forth be with you.

      Fwiw. My first experience with Forth, which prepared me well for RPN, was a nice piece of software on a nucleonic ore flow gauge measuring (mostly) realtime iron ore flow mass pre grading screens written initially by Dav Gibson Pretron Electronics.

      Used a Pace-16 by NS, paper tape 2708 aprons, with an 8 deep stack 16 bit fixed point computational shell all written in assembler ie the code all subroutine calls to the complicated equation to assess mass flow in tonnes per second from differential attenuation of beta particles (Cs137 upgraded to Co60) through a falling magnetite ore curtain with scintillation counters each end exactly one meter vertical separation – nice formula to get absorption to mass flow !
      Calibration an issue with a work around for transience via a Kalman filter written by Indesa Rajasingham who visited Mt Newman mining circa 1978-9 to interface his filter and my code to a Foxboro controller. Site visits with Peter Moore under management by Ray Stubbs. Some great experiences, all started off by the tech school having a program to introduce students to industry – lucky I did well in programming, paid really well too…

  4. I love that! My colleague and I had the exact same idea once but we wanted to build a replacement for the HP-16C.

    I still have my unfinished prototype somewhere. But in the end I didn’t have the time to finish the project, so nothing ever came of it.

    I am all the more pleased that someone else has now addressed it!

  5. Computer screen calculators never made very good calculators, and handheld calculators never made very good computers.

    Artificially reproducing the hand held format on a screen was next to pointless – if you tried using a mouse on them, it’s too slow; and if you’re using keyboard only, why not just use Matlab or Excel or something?

    Similarly, handhelds that try to hard don’t make very effective calculators. Sure, the functions are there, but half the keyboard is tied up with programming oriented buttons, or worse, arrow keys to navigate some cramped low-res menu system.

    I’d love to see a handheld calculator that focuses on quick, ‘throw away’ calculations. I don’t care one jot for run/stop or single-step, or up/down keys, but I’d love to have e^X, lnX, 10^X, and logX all on their own one-tap buttons. Good support for complex numbers. Base conversions.

    1. If you’re feeling rich, the TI-nspire series calculators have the buttons your after, along with a handy algebra+calculus solver. That said, the NumWorks calculator is a more open platform if you can give up the 10^x button.

    2. @justsayin said: “Computer screen calculators never made very good calculators…”

      I disagree. I use “Free42 [1]: An HP-42S Calculator Simulator” all the time on my laptop, desktop, and Android phone. I find it to be very useful; even more so than the original device. But to be fair I am quite experienced at programming HP calculators, I started with the HP-67 [2] way back in 1976.

      Free42 is indeed free (PayPal donations accepted), open-source [3], and cross-platform (Android, iOS, Linux, macOS, and Windows). While Free42 simulates the HP-42S so well you can still use the original HP-42S manual [4], there is a lot of added functionality as well. Give it a try.

      * References:

      1. Free42: An HP-42S Calculator Simulator

      https://thomasokken.com/free42/

      2. HP-67/-97

      https://en.wikipedia.org/wiki/HP-67%2F-97

      3. Free42 Source

      https://github.com/thomasokken/free42

      4. The Original HP-42S Owner’s Manual

      https://literature.hpcalc.org/community/hp42s-om-en.pdf

      1. 2021-11-26, Free42 v3.0.7

        A couple of notes about Free42 and Windows:

        1. In Windows, Free42 is a stand-alone/portable application. To install Free42 unzip the downloaded .zip archive into a folder anywhere and double-click Free42Decimal.exe file to run it. You can ignore the Free42Binary.exe file, the difference between the two files is explained in the README.txt file contained in the .zip download archive. To uninstall Free42 delete the install folder. To upgrade Free42 delete the old files in the install folder and unzip the new downloaded .zip archive into the same folder.

        2. In Windows if Free42 won’t start, the solution is very likely explained in the README.txt file contained in the download .zip :

        “If Free42 does not run as is, you will also need to download and install the Visual C++ Redistributable for Visual Studio 2015 / 2017 / 2019. You can download this package from:

        https://www.microsoft.com/en-us/download/details.aspx?id=48145

        (Get the file vc_redist.x86.exe, even if you are runnin a 64-bit system.)”

      2. Free42 is a thing of beauty. My trusty old 42s sits in the cupboard nowadays, quietly not chewing away watch batteries, whilst the emulator on the phone does a great job. And the windows & mac versions are great, too, because after getting your head into RPN and the way of navigating around the 42 there was nothing worse than having to fumble your way through the native calculator apps.

    1. @rthrthrth said: “this screen can display graphics? not only emglish chars?”

      No, the HP-15C, HP-16C, and HP-41C series are by themselves character-only calculators. However, the HP-41C series [1] could do some basic graphing via the accompanying HP-82143A thermal printer/plotter [2]. But there were issues with the 82143A, see [2] for more.

      * References:

      1. HP-41C

      https://en.wikipedia.org/wiki/HP-41C

      2. HP-82143A thermal printer/plotter

      https://en.wikipedia.org/wiki/HP-41C#82143A_thermal_printer/plotter

      1. The HP82162A seems to be a slight improvement over the ‘143A.  It’s the same size and looks about the same.  It can do bar codes, which makes sense since there was the HP82153A bar-code reader for the ’41.  I have a ‘162 which I bought used, cheap, on eBay, many years after it was discontinued; but I don’t have a manual for it.  It works, but I’ve always done my printing on the ThinkJet or going through the HPIL-to-RS232 or HPIL-to-parallel interface converter to conventional Epson dot-matrix impact printers.  I just bought another one a few months ago, brand new, to replace a couple of older ones that were going to cost at least as much to repair as a new one cost to buy.  Epson recognizes there’s still a need for these, and they still make and sell a dozen models of them, and they all use the ESC/P control codes which you could also use to do graphics from a ’41, although it would be extreeeeeeemly slow.  Without resorting to graphics mode however, you can still print the full Code Page 437 character set (see https://en.wikipedia.org/wiki/Code_page_437) which includes the box-drawing characters and many of the Greek and other special characters we use in engineering.

  6. If you want a new physical HP RPN scientific calculator you can still buy the HP-35S [1] for around sixty bucks [2]. Excerpting from [1]:

    ‘The HP 35s (F2215A) is a Hewlett-Packard non-graphing programmable scientific calculator. Although it is a successor to the HP 33s, it was introduced to commemorate the 35th anniversary of the HP-35, Hewlett-Packard’s first pocket calculator (and the world’s first pocket scientific calculator). HP also released a limited production anniversary edition with shiny black overlay and engraving “Celebrating 35 years”.’

    The HP-35S was supposed to be a limited edition, but brand new devices have been on the market for quite a while. I do not know if they are newly manufactured or new-old-stock though. HP does still manufacture calculators today, the HP-12C financial calculator is one example.

    * References:

    1. HP-35S

    https://en.wikipedia.org/wiki/HP_35s

    2. HP-35S Programmable Scientific Calculator $61.95 USD

    https://www.amazon.com/HP-Programmable-Scientific-Calculator-14-Digit/dp/B004A0XHH4

    1. The 35S is nice, it has the “feel” of the classic HP calculator keys. Not cheap, but a lot less than a SwissMicros.

      I guess I’m just old, but I’m not sure how anyone can get used to using a touch screen for numeric input . With a good physical keyboard, you don’t end up even having to look at the device while transferring numbers, just punch them in and take a glance when done to see if it looks right… you can focus on the values/calculation instead. Same problem with touchscreen-based interfaces on a car, not a great thing when you should be paying attention to more important things.

  7. Hi everybody
    I builded such a calculator from scratch, setting the fuse bits of the Atmega328p and loading the .hex file.
    The normal Numbers and Characters are displayed correct, but all the aditional readings are not displayed, only black squares instead. Doesnt matter if I load px41, px15 or px16 firmware. Did anybody successfully builded one of thoose calculators by himself?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.