Sinclair Scientific Calculator Emulator (1974)

esinclair_scientific.jpgSC0.jpg

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

Resources

Schematics

V5 Schematic.png

This is a custom PCB shape. A 50x100mm rectangle with 3mm radius corners.

Power

The switch is connected to VIN ping on Arduino Nano, so it goes to the 5V regulator that can handle up to 15V and has ~1.1V dropout. With MCU needing 1.8V at minimum, the board should be supplied with at least 2.9V.

Programming

The board uses Arduino Nano:

After using IDE to build and upload you can connect to it via UART to get hello message:

hxd@morgana ~> tio /dev/ttyUSB0
[22:06:24.423] tio v2.7
[22:06:24.423] Press ctrl-t q to quit
[22:06:24.424] Connected
SINCLAIR v7 092318 -Common Anode -Aligned Right

Box

I have designed a box with battery and Arduino USB port access for easy battery replacement and programming or USB power.

USB port access assumes that Arduino board was soldered with a distance from the main board - this is to avoid having to cut Arduino board header pins leaving sharp edges.

SC2.jpgSC3.jpgSC5.jpgSC4.jpg

Printing

Make sure that main body has supports printed under the battery door area. The battery pack holder goes inside the box on top of the battery pack to prevent it getting pushed in when replacing the batteries. Before assembly use lubricant on sides and on the latches of the battery doors for smooth operation.

Object scaling (may vary from printer to printer and printing settings):

2025-01-23-183704.png

Usage

As per User Manual:

Calculation
Key Sequence
Result Display
Basic input
592
592E2+
5.9200 00
4.29
429+
4.9200 00
0.0037
037E-2+
3.7000-03
0.5673*10-12
05673E-12+
5.6730-13
6.7*10-3 (0.0067)
067E-2+
6.7000-03
Reverse Polish notation
18*((4.5-3.2)/7)
45+32-7%18E1x
3.3427 00
(0.326-0.583)*1.48*107
0326+0583-148E7x
-3.8936 06
Logarithm (log10)
log 1
1⮝x
 0.0000 00
log 3.6
36⮝x
 5.5634-01
log 71000
71E4⮝x
4.8512 00
log 10
1E1⮝x
1.0000 00
Natural logarithm (loge) - Multiply by loge10 (ln10 2.30259)
loge5
5⮝x23026x
1.6095 00
Anti-logarithm (10x) - input from 0.0 to 99.999, error aprox 0.001
100
0⮟x
1.0000 00
sqrt 10
05⮟x
3.1621 00
101.5
15⮟x
3.1621 01
1067.5 675E1⮟x
3.1621 67
Exponential function (ex) - Divide by loge10 (ln10 2.30259)
sqrt(e)*(e0.5)
05+23026%⮟x
1.6486 00
Sine, Cosine, Tangent - Angle between 0 and PI/2 radians (90o), error less than 0.001
sin 0.3966
03966⮝+
3.8629-01
cos 0.66
066⮝-
7.8994-01
tan 0.1322
01322⮝%
1.3330-01
Sine, Cosine, Tangent in degree - Divide by conversion factor (1rad 57.2958o)
sin 45o
45+573%⮝+
7.0729-01
cos 60o
6+573%⮝-
5.0008-01
tan 75o
3+573%⮝%
3.7197 00
Arcsine, Arccosine, Arctangent - Result in radians, input from 0.0 to 9.9995, error max 0.001
asin 0.9994
09994⮟+
1.5350 00
acos 0.3
03⮟-
1.2660 00
atan 3
3⮟%
1.2500 00
Arcsine, Arccosine, Arctangent in degree - Multiply result by conversion factor (1rad 57.2958o)
asin 0.5
05⮟+573E1x
2.9967 01
acos 0.5
05⮟-573E1x 6.0050 01
atan 1
1⮟%573E1x
4.5038 01
Roots
sqrt 6 (base 2)
6⮝x2%⮟x
2.4495 00
root base 3 of 47.6/1.7
476E1+17%⮝x3%⮟x
3.0367 00


Revision #41
Created 2024-12-17 22:03:27 GMT by hxd
Updated 2025-07-18 21:17:58 IST by hxd