The open source code behind the calculator is the Nonpareil High-Fidelity Calculator Simulator, and [Chris] has used it along with a custom designed readout and PCBs to create a working prototype. The simulator uses the original byte code of the HP-41 so the its behavior is exactly the same as the original calculator.
[Chris] has designed the PCBs so that the buttons and the screen are separate and join together. This neat idea means that he can try out different screens or different button PCBs and mix-and-match to find the combination that works best. He’s also designed a 3D printed case for the calculator. He does prefer using the bare buttons on the board to the 3D printed ones he printed for use with the case.
The best rummage sale purchase I ever made was a piece of hardware that used Reverse Polish Notation. I know what you’re thinking… RPN sounds like a sales gimmick and I got taken for a fool. But I assure you it’s not only real, but a true gem in the evolution of computing.
Sometime in the 1980s when I was a spotty teen, I picked up a calculator at a rummage sale. Protected by a smart plastic case, it was a pretty good condition Sinclair Scientific that turned out when I got it home to have 1975 date codes on its chips, and since anything with a Sinclair badge was worth having it became mine for a trifling amount of money. It had a set of corroded batteries that had damaged one of its terminals, but with the application of a bit of copper strip I had a working calculator.
And what a calculator! It didn’t have many buttons at a time when you judged how cool a scientific calculator was by the prolific nature of its keyboard. This one looked more akin to a run-of-the-mill arithmetic calculator, but had button modes for trigonometric functions and oddly an enter key rather than an equals sign. The handy sticker inside the case explained the mystery, this machine used so-called Reverse Polish Notation, or RPN. It spent several years on my bench before being reverently placed in a storage box of Sinclair curios which I’ve spent half a day turning the house over to find as I write this article.
What does a hacker do when he or she wants something but can’t afford it? They hack one together, of course. Or, in the case of [Ramón Calvo], they thoughtfully plan and prototype. [Ramón Calvo] wanted a scientific calculator, but couldn’t afford one, so he designed and built one himself.
[Ramón] started off with Arduino but upgraded initially to Freescale’s Freedom KL25Z development board upgraded to an ARM Cortex-M0+ programmed using mbed. The display is an Electronic Assembly DOGL-128 128×64 pixel LCD. [Ramón] did a couple of iterations on the PCB, going from a large DIY one in order for the Arduino version to work, to the current, smaller version for the ARM chip with hand soldered SMD components. After that, [Ramón] looked into the algorithms needed to parse mathematical input. He settled on the shunting-yard algorithm, which converts the input into Reverse Polish Notation (RPN), which is easier for the software to work with.
[Ramón] has a ton of features working, including your standard add, subtract, multiply and divide operations, square root, nth root and exponentiation, trigonometry, log and log10, and factorial(!) There are a few things still on the to-do list, such as low power and a graphing mode, and there are a couple of bugs still in the system, but the overall system is up and running. [Ramón] has put up the schematic and KiCAD files up on his Hackaday.io project page along with the bill of materials.
For [Robert]’s entry into The Hackaday Prize, he’s starting off with some basic questions. What’s better than a Nixie tube? More Nixies. What’s better than a calculator? An RPN calculator. What do you get when you combine the two? A calculator that is absurdly large, even by 1970s desk calculator standards, uses a lot of power, and takes up too much space. Sounds good to us.
Nixies, at least when there are a lot of them, are tricky devices. They only draw about 50mA of current, but they only light up when above 150V. That’s only about seven watts, and it’s easy enough for the Arduino-heads out there to build a circuit to drive a few Nixies for a clock. Driving dozens of Nixies is a bit harder. For [Robert]’s RPN calculator, he’s estimating a little under 50W of power being dumped into this calculator.
With the considerable power considerations taken care of, [Robert] turned his attention to the display board. This is going to be a very impressive build, with 80 IN-12B tubes organized in four stack levels of twenty tubes each. The tubes will be controlled with the Maxim MAX6922 VFD driver. This chip has a serial interface, which means it’s relatively easy to have any microcontroller blink these tubes. And of course, it does double-duty as a clock.