This project documents how to turn a web page into a functioning physical object. It has a hardware and a software side. 

The software side of this project is a port to the Arduino platform of the original Sinclair Scientific Calculator simulator (http://righto.com/sinclair). 

The hardware part has evolved over time. It started as a quick modification to the Kim UNO by @Oscarv  (http://obsolescence.wixsite.com/obsolescence/kim-uno-summary-c1uuh) with the keys arranged in the Sinclair pattern and a 9 digit display.

Over time, the PCB has evolved, over two iterations the width has been reduced to match that of the original calculator. The keyboard on the latest version is dimensionally accurate. Its keys line up with the buttons on the real calculator. 

By experimenting with a real Sinclair Scientific calculator, the connections between the keyboard and the display digits were deduced. An accurate schematic has been created, its correctness verified by pressing simultaneously multiple keys on the calculator and observing that the display glitches in the same way in the original and the emulator. 

This has turned the V5 and V6 PCBs into the most accurate emulators out there.

The V5 PCB is limited in height to 100mm so it can be manufactured inexpensively. 

The V6 PCB has the same accurate keyboard and display circuit as V5 and is also dimensionally accurate at 110 x 51mm.

A version using bubble LED displays is in the works depending on the continued availability of those modules.


Open Source Licenses:

The original TI / Sinclair simulator is licensed under GPL v2 so the Arduino port is also licensed under GPL v2

The PCB files are:

Creative Commons License
Sinclair Scientific Calculator Emulator by @ArduinoEnigma is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at http://righto.com/sinclair.


Project Logs in chronological order:

11/17/2017 - The keyboard is designed.
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/121215-11172017-the-keyboard-is-designed

12/21/2017 - A suitable display is found, design of the PCB continues.
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/121370-12212017-a-suitable-display-is-found-design-of-the-pcb-continues

12/23/2017 - Putting the Display and Keyboard together.
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/122095-12232017-putting-the-display-and-keyboard-together

12/25/2017 - Finished Routing the Board and Submited for Production (how to do tented vias in Fritzing)
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/123664-12252017-finished-routing-the-board-and-submited-for-production

12/30/2017 - The desire to design a slimmer version begins
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/125443-12302017-the-desire-to-design-a-slimmer-version-begins

01/03/2018 - The manufactured V1 boards arrive
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/125513-01032018-the-manufactured-v1-boards-arrive

01/05/2018 - V1 is assembled, a problem appears
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/125515-01052018-v1-is-assembled-a-problem-appears

01/06/2018 - Work on the Arduino port of the TMS0805 Simulator continues
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/126356-01062018-work-on-the-arduino-port-of-the-tms0805-simulator-continues

01/07/2018 - Using a fast pin library to improve performance
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/126425-01072018-using-a-fast-pin-library-to-improve-performance

01/08/2018 - Simulator Works
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/126429-01082018-simulator-works

01/10/2018 - Input Output Working
https://hackaday.io/project/91895/log/126431-01102018-input-output-working

01/14/2018 - All the display digits now work. At the cost of a Serial Port
https://hackaday.io/project/91895/log/143845-01142018-all-the-display-digits-now-work-at-the-cost-of-a-serial-port

01/17/2018 - Figuring out how to power this
https://hackaday.io/project/91895/log/143847-01172018-figuring-out-how-to-power-this

01/19/2018 - Figured out some details about the real calculator.
https://hackaday.io/project/91895/log/143851-01192018-figured-out-some-details-about-the-real-calculator

01/23/2018 - Slimmer Black and White V2 Board sent to production (how to do a Negative Silkscreen keypad in Fritzing)
https://hackaday.io/project/91895/log/143883-01232018-slimmer-black-and-white-v2-board-sent-to-production

02/08/2018 - Original Sinclair calculators arrive!
https://hackaday.io/project/91895/log/143884-02082018-original-sinclair-calculators-arrive

02/17/2018 - (some) Display Glitches emulated
https://hackaday.io/project/91895/log/143914-02172018-some-display-glitches-emulated

How to design a custom PCB shape for Fritzing. No more sharp corners.
https://hackaday.io/project/91895/log/144392-how-to-design-a-custom-pcb-shape-for-fritzing-no-more-sharp-corners

Reverse Engineering the keyboard and display circuit on a real Sinclair Scientific
https://hackaday.io/project/91895/log/144393-reverse-engineering-the-keyboard-and-display-circuit-on-a-real-sinclair-scientific

A brief demonstration of this project's hackability
https://hackaday.io/project/91895/log/145136-a-brief-demonstration-of-this-projects-hackability

Assembly Instructions for PCB v6
https://hackaday.io/project/91895/log/145323-assembly-instructions-for-pcb-v6

A New version using a Bubble LED Display
https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator/log/148748-new-version-using-bubble-led-displays