Close

11/17/2017 - The keyboard is designed.

A project log for Sinclair Scientific Calculator Emulator

A register level TMS0805 CPU emulator on an Arduino Nano runs the original 320 instruction calculator program. A custom PCB houses it all.

arduino-enigmaArduino Enigma 03/18/2018 at 04:200 Comments

The beginning and prior art:

Its late October,  early November 2017, and Hackaday has been running a series of articles with the Sinclair Scientific Calculator as a subject.

https://hackaday.com/2017/10/24/reverse-polish-notation-and-its-mildly-confusing-elegance/

https://hackaday.com/2017/11/01/a-teardown-with-a-twist-1975-sinclair-scientific-calculator/

https://hackaday.com/2017/11/06/build-a-calculator-1974-style/

A link to an online simulator is published:

http://files.righto.com/calculator/sinclair_scientific_simulator.html

Finding this calculator incredibly intriguing, I begin browsing the calculator section of hackaday io

https://hackaday.io/list/7200-calculator-projects

This calculator looks promising, but it does not have enough keys:

https://hackaday.io/project/15334-retro-taking-calculator-with-bubble-display

This project uses a Texas Instruments MSP430 to simulate this specific calculator

https://hackaday.com/2014/07/02/pocket-calculator-emulates-pocket-calculator/

Both of the above projects use a bubble led display that was briefly available at Sparkfun years ago, but has now become Unobtainium.

I guess I could cheat and use an LCD screen to simulate the user interface:

https://hackaday.io/project/7478-blucalc

I have a KIM Uno, but its a digit short and the key layout does not match.

https://hackaday.io/project/4802-kim-uno-a-simple-kim-1-cosmac-elf-replica

So, its decided, I have to roll a custom PCB, loosely inspired by the KIM Uno, but with the correct key layout and select a suitable LED display. But first, I have to find the LED displays.

After a lot of searching, a cluster of 3 seven segment display appears. Its 15mm wide, making 3 of them back to back 45 mm wide, just under the 50mm width of the calculator. It's hard to find the right part on the usual US suppliers, but at least that's a start. 

Having studied the schematic for the KIM 1 / Uno prior to this. I know that the 8 lines that drive the display are temporarily switched to input mode and a separate output pin, connected to a resistor, is used to feed one side of 8 buttons, whose other side is connected to the display lines. If a key is pressed, the display line for that button will change. Since this keyboard has 18 keys and a resistor can select 8 keys at a time, 3 selection lines are needed. 

A PCB is quickly laid out with the buttons, and three selection lines going between the key columns, they feed the top contact of the buttons. The bottom contact connects each button to one of eight display lines. 

 I draw vertical lines in the back, horizontal lines in the front and a PCB begins to take shape. The vertical line connecting to the top contacts of S16 and S15 is the selection line for the rows S16 thru S13 and S12 thru S9. The top two pins for each button are internally connected. The bottom two pins are also internally connected. That makes it easy to design a PCB because the top pins can be daisy chained through the buttons. The vertical lines running through the inside of the buttons return the signal when one button is pushed. The leftmost vertical line returns the signal for S16 when its selection line is activated. S8 can be read through the same leftmost return line when the middle selection line is activated. 

Time for a quick instagram post:

https://www.instagram.com/p/BbnXIONnexZ/

Discussions