An Arduino Nano based TMS 0805 emulator running the original 320 instructions that ran on the iconic 1974 Sinclair Scientific Calculator.Designed by Arduino Enigma, Ships from United States of America
Here is the latest version of the Sinclair Scientific Calculator emulator running on a custom PCB which accurately replicates the size and the circuitry of the original calculator. This is powered ...Read More…
Here is the latest version of the Sinclair Scientific Calculator emulator running on a custom PCB which accurately replicates the size and the circuitry of the original calculator. This is powered by an Arduino Nano.
PCB v6 is the same size as a real Sinclair Scientific Calculator, the keyboard and display circuit is accurate as well.
As this project builds upon the work of so many other people, the PCB Gerbers and the full Arduino source code are available online if you want to roll your own.
The 1974 Sinclair Scientific was unique as it took the work of geniuses to implement a reverse Polish notation (RPN) scientific calculator with trigonometric functions on a chip barely capable of doing addition, subtraction, and multiplication and division as iterative algorithms. The Texas Instruments TMS 08XX CPU was also limited to storing a 320 instruction program in its internal ROM.
Implementing all of those functions was not without cost. The calculator was slow, some answers can take up to 15 seconds to show up, meanwhile a blank screen is shown. Its accuracy is limited: 4 * arctan(1) yields a value of PI of 3.1440 as shown on the product screenshots. Calculating arctan(0.0001) goes into a loop for a minute and a half before yielding the wrong value of 0. The decimal point is in a fixed spot as storing numbers in a scientific format simplifies both internal calculations and displaying the result. Reverse Polish Notation was used as it simplifies the processing of the operands. There is no space in ROM for important constants, so those were printed on the face of the calculator.
Part of the genius of this product was realizing that sometimes "Worse is Better", the limited accuracy and its other quirks were offset by the fact that this calculator was Cheap! When first released, it cost around $100 when other scientific calculators cost almost $400. After a year, a kit was released for £9.95 (around $24) (incl. VAT)
The hardware portion of this project is now an accurate recreation of the Sinclair Scientific Calculator circuitry. The connections from the keys to the display were reverse engineered by pushing two keys at a time on the original calculator and seeing which two digits in the display were affected.
The Arduino software is a very thin layer interfacing to the original code. There is one option however, code execution speed. If the calculator is powered up, it runs at the original speed and the display is blanked out while a result is being calculated, just like in the original hardware. If the keys 1,2 or 3 are pressed during power-up, prior to 0.0000 00 being shown, the screen will stay illuminated all the time and the speed will be either slow (1), normal (2) or very fast (3). It is very interesting seeing the intermediate results the calculator goes thru before arriving at an answer. The normalize function can be seen working on the slowest setting. Type 0.0001 + and the 1 will be shifted left while the mantissa is incremented.
This work could not have been possible without this:
Sinclair Scientific Calculator Simulator http://files.righto.com/calculator/sinclair_scientific_simulator.htm
Another calculator based on the TMS CPU http://files.righto.com/calculator/TI_calculator_simulator.html
Recent Hackaday articles on the Sinclair Scientific https://hackaday.com/?s=Sinclair+Scientific
Wikipedia page https://en.wikipedia.org/wiki/Sinclair_Scientific
Hackaday.io project page: https://hackaday.io/project/91895-sinclair-scientific-calculator-emulator
Byron | Sept. 10, 2018
Byron | Aug. 20, 2018
Michal | June 26, 2018
David | June 26, 2018
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!