Making a DIY calculator with Arduino

Get ready to crunch some numbers with this Arduino-based machine.

While it may not be as practical or aesthetically-pleasing as your everyday TI-84, Maker Kale Cloud has devised a pretty slick calculator using an 8×2 LCD, a keypad, a laser-cut case, and an Arduino Duemilanove (ATmega328).


The project was conceived after one of Cloud’s teachers had made an Arduino-based calculator of his own, that unfortunately was not able to withstand the classroom setting for very long. Fortunately, the Maker knew just how to rebuild the machine and in doing so, took apart the entire device, rewrote most of the code and constructed it from scratch.

Like just about any other calculator, the DIY device is equipped with a 16-button matrix keypad. In addition, an embedded ATmega328 based Arduino is responsible for decoding the pressed buttons, at which point the appropriate characters are displayed on its LCD screen. While its overall functionality emulates that of any calculator, where this number-crunching mechanism differs is in the controls. First, a user must select a number from the pad, followed by pressing either the “A” and “B” key to scroll through various arithmetic functions, which appear on the 2×8 display. Once a function is chosen, a user then hits “D” (or equals) and goes on to select the next number, before pressing “D” again.


As Hackaday’s Rich Bremer notes, not only does the project boast standard arithmetic functions but trigonometric functions as well — a feature that the calculator’s predecessor was not capable of doing.

“Even though it’s probably not practical due to it’s size, repetitive use of the equals button (due to the lack of keys), and cost (you can probably buy a calculator that does the same thing for $2), it is really fun and adds a few skills to your inventory,” Cloud explains. “I learned alot, spent lots of time debugging, and added many new features. In the end, it was a project definitely worth doing.”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s