Reverse Polish Notation And Its Mildly Confusing Elegance

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.

Best rummage sale find ever!
Best rummage sale find ever!

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.

Continue reading “Reverse Polish Notation And Its Mildly Confusing Elegance”

Hackaday Prize Entry: DIY ARM Scientific Calculator

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.

We’ve had a few Hackaday prize entries in the form of calculators, such as this one with Nixie tubes and this one that emulates 70’s HP calculators.

Hackaday Prize Entry: A Programmable Calculator With Nixie Tubes

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.

The HackadayPrize2016 is Sponsored by:

Hackaday Prize Entry: The 70s Called. They Want This Calculator

For those of us who grew up during TI’s calculator revolution, the concept of reverse polish notation (RPN) might be foreign. For other more worldly calculator users, however, the HP calculator was ubiquitous. Hewlett-Packard peaked (at least as far as calculators are concerned) decades ago and the market has remained dominated by TI since. Lucky for those few holdouts there is now a new microcode emulator of these classic calculators.

Called the NP25 (for Nonpariel Physical), the calculator fully emulates the HP-21, HP-25C and HP-33C. It’s a standalone microcode emulator, which means that these calculators work exactly as well as the original HP calculators of the 70s did. The new calculators, however, are powered by a low power MSP430G2553 processor and presumably uses many, many fewer batteries than the original did. It has an LED display to cut power costs as well, and was built with the goal of being buildable by the average electronics hobbyist.

Even if you didn’t grow up in the 70s with one of these in your desk drawer, it’d still be a great project and would help even the most avid TI user appreciate the fact that you don’t have to use RPN to input data into calculators anymore. Not that there’s anything wrong with that. This isn’t the only calculator we’ve featured here, either, so be sure to check out another free and open calculator for other calculator-based ideas.

Continue reading “Hackaday Prize Entry: The 70s Called. They Want This Calculator”

Hacklet 70 – Calculator Projects

Hackers, makers, and engineers have long had a love affair with number crunching. Specifically with the machines that make crunching numbers easier. Today it may be computers, smart watches, and smartphones, but that wasn’t always the case. In the 50’s and 60’s, Slide rules were the rage. Engineers would carry them around in leather belt pouches. By the early 70’s though, the pocket calculator revolution had begun. Calculators have been close at hand for hackers and engineers ever since. This week’s Hacklet celebrates some of the best calculator projects on Hackaday.io!

calc1We start with [Joey Shepard] and RPN Scientific Calculator. No equals sign needed here; [Joey] designed this calculator to work with Reverse Polish notation, just like many of HP’s early machines. Stacks are pretty important for RPN calculators, and this one has plenty of space with dual 200 layer stacks. The two main processors are MSP430s from Texas Instruments. The user interface are a 4 line x 20 character LCD and 42 hand wired buttons. The two processors are pretty ingenious. They communicate over a UART. One processor handles the keyboard and display, while the other concentrates on crunching the numbers and storing data in an SRAM. The case for this calculator is made from soldered up copper clad board. It’s mechanically strong especially since [Joey] added a bead of solder along each joint. If you want to learn more about this technique check out this guide on FR4 enclosures.

[Joey] definitely improved his solder skills with this project. Every wire and connection, including the full SRAM address and data bus were wired by hand on proto boards. We especially like the sweet looking laser cut keyboard on this project!
Continue reading “Hacklet 70 – Calculator Projects”

A Simple Forth Development Board

forth

Forth is a very interesting programming language. It’s very flexible and is extremely efficient on low powered hardware, but unfortunately not very popular simply due to the fact that it’s not very popular. There were a few Forth-based microcomputers built in the 1980s, but these were largely unsuccessful.

[Leon] is a Forth aficionado and came up with his own Forth development board in the hopes of Forth making a comeback. It’s a very small and cheap board – only about $12 in parts – but it’s still extremely powerful and a fun platform for investigating Forth.

Compared to other programming languages found in 80s microcomputers, Forth is just weird. It’s a stack-based language, so instead of adding two numbers like 3 + 4, Forth uses postfix notation (or Reverse Polish Notation) so the same statement is expressed as 3 4 +. It’s a much more efficient way for computers to handle data, and some claim it’s more efficient for humans as well.

[Leon] created his own board able to be programmed in Forth, shown above, that uses an ATMega328 microcontroller. He’s using AmForth to put Forth on his system, but also extended the base AmForth install with his own floating point version. making this version of Forth at least as powerful as any 80s microcomputer or ATMega development board is today.

[Leon] put together a great demo of the capabilities of Forth and his dev board. You can check that out below.

Continue reading “A Simple Forth Development Board”

Programmable Scientific Calculator Watch

When the band support on [David]’s Casio CFX-400 Scientific Calculator Watch finally broke after 10 years of use, he found it almost impossible to find another watch with the same functionality. Like any good engineer, [David] decided to design a watch to meet his needs. The result of his endeavors was the µWatch, a programmable watch based on a PIC24 with both RPN and Algebraic calculation modes. The watch runs open source software and is expandable thanks to a serial port, an ICSP programming port, and a spot for an infrared LED on the board. On his site, [David] shows how he made the first µWatch and offers kits for anyone who wants to build their own. We’ve been told that the next batch of kits will be made available in 1-2 weeks and are expected to sell out fast.

[Thanks Tomesz]