In the summer of 2014, I had the grand idea of building my own calculator. I had just acquired a Raspberry Pi, and was tinkering around with TilEm. So I planned it out.

First, the basics. I need a power source, a screen, and a keypad. I found a 3Ah Li-Po pack on Amazon that was about the same dimension of a standard 83 and could put out 3 amps of power at 5 volts with the converter that came with. The screen was an easy find too, I harvested that out of a cheap car rearview-camera system from Amazon (I had to find one that I knew would run off of 5 volts). But the keypad was a lot more difficult.

My immediate thought was to buy one of the 84 keypads for the N-spire and modify it to work with the Raspi, but since I don't have the money to shell out for/the experience to modify one of those, I turned to another option: building one myself. I aimed to re-create a calc from the 83 series, so I needed 50 buttons. And TilEm is happy to accept keyboard input (and in fact prefers it), so I needed to build a custom 50 key keyboard. So I went online and got a cheap USB keyboard and 100 momentary switches. I tore out the microcontroller from the keyboard and, looking at the key membrane, mapped out which contacts would produce what keypresses in a grid (I have since lost the sheet of paper I did that on). After that, I chose which 50 I wanted to use, modified TilEm's keymapping to accommodate, and started constructing my keypad using breadboard and strands from old ribbon cable. It was a beast to do, took me about 30 hours in total (that's just the keypad).

So, I have all of my parts, and they all work, so now to build, right? Well, I totally underestimated the accumulated thickness of all of my parts, which now had grown to include a USB hub and a selection of throws and switches. I, at the time, had no access to laser, cnc, 3D-print, or other "modern" construction techniques, so I defaulted to what I knew best: crude woodworking. And when I say crude, I mean it. I chopped up pieces of dowel rods for the pushbuttons and drilled holes in slabs of wood for the faceplate. More thin slabs of wood for the rest of the case, and hotglue and tacks to hold things together. It looked rough, but it worked. The physical build was complete.

Software wise, I already had TilEm starting at boot and modified its keymap to match my homemade keypad. Now I needed to get rid of the cursor, make the Emu fullscreen, and find a safe way to shutdown (cutting the power abruptly proves to fry SD cards after a month of regular use, I learned that the hard way). I found a way to get rid of the cursor and fullscreen the program in XFCE, and wrote a Python script to poll a pin every 2 seconds to check if it's high (and if it is, it runs a "sudo halt"). And now it works the way it should.

So there it is, my homemade calculator.

Pictures!!
http://i.imgur.com/ToLo2yN.jpg
http://i.imgur.com/e1mBUka.jpg
http://i.imgur.com/y7h5Mz0.jpg
http://i.imgur.com/veZ3GMa.jpg
http://i.imgur.com/taxZToG.jpg
http://i.imgur.com/oERDipz.jpg
http://i.imgur.com/e6X0jAu.jpg
http://i.imgur.com/9IdLVeE.jpg
http://i.imgur.com/pjoQaSX.jpg
http://i.imgur.com/n1EKYJq.jpg


Things still left to do:

Fix the black border
Re-image the SD card with a lighter-weight distro
Get rid of software that slows it down
Update TilEm to include color and link support (linking to GPIO pins would be cool, so hardware linking would happen, just an idea)
Build a slimmer version

I estimate I spent about 200 hours on this project in total last year, and the parts cost me around $110USD in total. I did this all before I found the Cemetech community, and I did not take many pictures along the way, but I'll be happy to discuss what I remember from the build process. I have been meaning to share this with you all sooner, but I never got around to it. I have used this thing extensively in Pre-Calc and Chem class, and plan on continuing its use through Calculus, Physics, and college.
Interesting! As you say, the build is a bit haphazard but functionality is the real test. Razz How about adding some software to support emulating other calculators too (like the 89)?

I imagine improving the build would be a good way to learn more, and there's no shortage of people around here who can offer input..
Thanks for sharing this with us, NoahK. As Tari says, the build shows that it was a learning experience for you, but I'm sufficiently impressed that you got it working as you did! There certainly are several ongoing projects to build a custom emulated calculator, including my own TI-87 project, so I hope you'll be able to draw inspiration from those. Please do ask any questions that you have, and share further photos and progress as you work on the upgrades you have listed there.
I actually mapped the keys so that EmulationStation was easily playable, so I had NES, SNES, ATARI, GBA, and other old systems running. At one point I had a ZX Spectrum doing well in emulation on it. I am currently pushing my funds towards my SuperCalc, so after that and my 20-inch Android tablet (which I might post about later) are finished I'll try working on those upgrades.

This was definitely a learning experience for me, it has made me a much better problem-solver, amongst other things. I am enjoying watching the progress of your 87, Kerm, and that is something size-wise I am aiming for. I'm keeping the wood aspect in my upgrade, though. It's fun to boast "I've made a calculator out of wood." Smile
Nice calculator you got there!
Would you mind to share the 'keybindings.ini' file?
Thanks in advance.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement