Binary Calculator
October 2020
Binary Calculator

Surfing Hackaday one day I saw some of Mohit Bhoite’s circuit sculptures. They looked complex and beautiful. I decided I had to try some circuit sculpture of my own. I spent a lot of time thinking of a project that would be fun but not overly complex. And after some sketches I decided to build a binary calculator. I thought is was a nice mix of nerdy fun with some usefulness. Feature creep took hold and I ended up making it dual purpose device, a calculator and a clock. I added a battery backed up RTC and decided to make a charging/display stand for it. Before I started this project though I wanted to try a smaller circuit sculpture so I could hone my skills working with brass rod. I quickly built a 555 timer circuit to get a feel for how to bend the wire and how to line things up. Starting with a drawing of the circuit on paper was a good way to make sure the brass would be the right length and have the proper bends.

With the 555 out of the way I started to design the binary calculator. I wanted it to be handheld and rechargeable, I wanted a nice way to display it, and I wanted to use a TLC5928 LED driver in an SSOP package (mostly to add a bit of difficulty to the project). With the main details worked out I laid out the circuit in Inkscape. I used this drawing to bend all the brass. I also modeled the body in FreeCAD and printed it out so that I could get a good feel for how it would fit in my hand. I ended up using the 3D print as a jig to make sure the circuit was square and would fit in to the maple body that I was planning on using for the finished piece. 3D printing the body helped me refine the design. I found that I didn’t like the sharp corners and changed them in the finished product to rounded corners.

I started by making a rectangular frame out of some thicker 1.6mm brass. Than I connected the switches, the 328p, and the RTC. It was fun bending the brass and using my drawing was relatively error free. I did have some pieces that didn’t work out and had to be remade.

One of the most difficult parts of the circuit was the LED driver. Because I used a surface mount TCL5928 in an SSOP package, I wanted a way to interface it to the brass rod. The brass rod on it’s own was too thick (0.81mm) to connect to the package leads (0.65mm spacing). I CNC’ed a maple frame where I could suspend the IC from magnet wire. To pull this off I held the chip in place with some masking tape and hotglue and then carefully soldered the wires from the IC to the brass rod at the edge of the frame. Once I had all the wires attached I could remove the tape and connect it to the LEDs. I used a 3D printed jig to make sure the LEDs were lined up and properly spaced while soldering them in place.

With the circuit built I could start to work on the body of the calculator. I used my model to generate some gcode with pyCAM for my CNC rotary tool. I also modeled some keycaps that I milled out of cherry. With the main shape of the keycaps milled and engrabved I needed a way to mill a pocket in the underside. I ended up 3D printing a block with a negative of the keycap to hold the keycaps in place while I milled the underside. This worked really well and the friction fit was all that it needed to hold it in place.

On the underside of the body I wired the charge controller and battery. The battery is out of an old Nokia cell phone. To electrically connect the body to the base I went with a simple design of two pins protruding from the base that touch brass dimples in the bottom of the main body. The base is a basic circle with a micro USB port on the back and a power switch in the front. It holds the calculator in an upright position so that it is easily readable when in clock mode. I routered a recess in the top so that an IKEA bell jar would sit nicely on top to protect the somewhat delicate circuit.

I wanted to be able to turn the device on and off without having to remove the bell jar. I used the switch on the base along with a DPDT switch on the device to give me the flexability I wanted. With both switches off the device is off. With the base switch on and the device switch off the calculator is powered from the USB port and the battery does not get charged. With the device switch on, it is powered from the battery and the battery gets charged from the USB power.

The device has two main modes, calculator and clock. In calculator mode you can enter a number on the bottom row of LEDs and when you press an operation button the number moves to the top row of LEDs. Enter the second number in the bottom row and when you press the equals button, your result is shown on the top row. There are buttons for addition and subtraction but if you hold down the addition button it’s a multiply operation and if you hold down the subtraction button you get a division. To switch between the two modes you hold down the clear and equals buttons.

I really enjoyed this project. I think it will be a fun thing to have on display. If I were to do this project again I think I would go with better switches, maybe mechanical key switches.

Technical Details:

Atmega 328p processor

TLC5928 Constant Current LED Driver


MCP73831T Li-Ion Charge Controller

5mm red LEDS (2x8)

Maple base and body, cherry key caps.

Mostly 0.81mm (0.032”) brass rod