DATAMATH  CALCULATOR  MUSEUM

Mostek MK5010

Features

With LED displays accounting for a significant portion of the BOM (Bill of Materials) of early electronic handheld calculators, Mostek redesigned in the second half of 1971 the MK6010L to support a 10-digit display instead of the original 12-digit version. This modification effectively circumvented Busicom's exclusivity rights to the original MK6010/MK6010L design while also reducing manufacturing costs.

The resulting MK5010 chip was introduced in November 1971 and found its way into the Rapidman 800, developed by Rapid Data Systems & Equipment Ltd. of Canada. Introduced in February 1972, the Rapidman 800 is widely recognized as the first electronic calculator to retail for less than $100 (approximately $775 in 2025 dollars). Interestingly, the Rapidman 800 - as well as all other known calculators based on the MK5010 - featured an 8-digit display.

With the introduction of the TMS1802 from Texas Instruments in September 1971, later renamed to TMS0100 Product Family, both the MK5011 and its "low-voltage, low-power" siblings MK5010 and MK5012 were outdated and Mostek started the development of their MK5020 Product Family

QUICK-LINK to Mostek Calculator Integrated Circuits.

Family Members and Applications

Type Calculators Keyboard Constant
(M-D-A-S)
Digits Fixed DP Rounding Special
Functions
Seg./Dig.
Blanking
(6,7,9)
Font
Seg. H Entry Overflow
Calculating Overflow
MK5010 Rapid Data Rapidman 800, Teco TE 8053 [+=][−=] X-X-X-X 12 [0,2,3,4] None None NONE
S1, S8

Architecture

  Description Comments
Architecture Single-chip Calculator First Generation
Category Register Processor Bit-serial
Related MK6010L Original 12-digit Busicom design
ROM Size n.a.  
RAM Size 108 Bits 2 Registers * 48 Bits (12 Digits)
12 Status Bits
Outputs 12 Digits
9 Segments
1 Status
External VFD Digit Drivers
External VFD Segment Drivers
Sign
Inputs 4 Keyboard
6 Keyboard
2 Decimal Select
1 Clear
Numerals BCD
Functions Discrete
0, 2, 3, 4
Active Low

Calculator Logic Implementation

MK5010:

Capacity: Up to 10 digits (positive and negative)
Logic: Algebraic Adding Machine Logic
   [2] [x] [3] [+=] [4] [x] [5] [+=] → '20.'
Number Entry: Right-justified number entry, entering an eleventh digit is resulting in an overflow condition and is only recoverable using the [C] key
   [0 2 3 4]: [1] [2] [3] [4] [5] [6] [7] [8] [9] [0] [1] → '0.0.0.0.0.0.0.0.0.0.0.0.'
Decimal Point: First entered decimal point is used, additional decimal point entries are ignored
   [0 2 3 4]: [1] [.] [2] [.] [3] → '1.23'
Fixed Decimal Point: The decimal point can be set to [0 2 3 4] digits
   [0 2 3 4]: [1] [+=] [2] [+=] → '3.000'
Clear: Automatic power-up clear implemented. [C] key clears the whole calculator, [CE] key clears last entry of a number
   [0 2 3 4]: [1] [+=] [2] [C] [3] [+=] → '3.'; [1] [+=] [2] [CE] [3] [+=] → '4.'
Change Sign: Not supported. When performing multiplication or division, a negative value can only be assigned to the first number by pressing the [−=] key after entering the number
   [0 2 3 4]: [2] [−=] [x] [3] [+=] → '-6.'; [2] [x] [3] [−=] → '-1.'
Number Display: Right-justified number display with leading-zero suppression
Negative Numbers: Negative numbers are shown with an active signal at a dedicated output pin and usually connected to a discrete LED indicator
Calculating Overflow: An overflow results in displaying all zeros with all decimal points lit and is only recoverable using the [C] key
   [0 2 2 4]: [1] [2] [3] [4] [5] [x] [1] [2] [3] [4] [5] [+=] → '0.0.0.0.0.0.0.0.0.0.0.0.', [C] → '0.00'
Divide By Zero: A division of a positive or negative number by zero results in an infinity loop with the display blanked and is only recoverable using the [C] key
   [0 2 3 4]: [1] [:] [0] [+=] → '   ', [C] → '0.'
Display Test: Pressing the [C] or [CE] key lit up all 12 digits of the display
   [C] → '888888888888', [CE] → '888888888888'
Rounding: Rounding of displayed calculating results is not supported
   [0 2 3 4]: [2] [0] [:] [3] [+=] → '6.666'

Known Calculator Logic Bugs:

Negative Zero Bug : Certain calculations result in displaying a negative zero
   [0 2 3 4]: [1] [−=] → '-1.', [1] [+=] → '-0.'
Divide to Negative Zero Bug: Certain calculations result in displaying a negative zero
   [0 2 3 4]: [0] [.] [0] [0] [0] [1] [−=] → '-0.0001', [:] [1] [0] [+=] → '-0.0000'
Fix Point Switch Bug: Changing the position of the Fix Point Switch during number entry leads to unexpected results
   [0 2 3 4]: [1] [.] [2] [3] → '1.23', [0 2 3 4]: [+=] → '1230000'

Technical Specifications

ABSOLUTE MAXIMUM RATINGS

Item Min Typ Max Unit Comments
VDD -17.0   0.3 V to VSS
VGG -17.0   0.3 V to VSS
VOUT -17.0   0.3 V  
VIN -17.0   0.3 V  


RECOMMENDED OPERATING CONDITIONS

Item Min Typ Max Unit Comments
VSS   0   V   
VDD   -8.0   V   
VGG   -13.0   V   
VIH VSS-1.0   VSS V  
VIL VGG   VGG+2.0 V  
Ext. CK   25   kHz Two-phase clock
CP1 Width   10   us Active low
CP2 Width   10   us Active low
CP1 to CP2 Delay   10   us Between pulses


ELECTRICAL CHARACTERISTICS

Item Min Typ Max Unit Comments
IDD   9 40 mA VDD = -8.0 V
IGG   1 6 mA VGG = -13.0 V
ION -1.0     mA  
IOFF     -50 uA Leakage, VOT = -13.0 V
IIH     50 uA CK1, CK2 Inputs
IIH     10 uA All Other Inputs, Negative Logic

Applications Information

DISPLAY TESTING

Pulling the KC or KCE Inputs of the MK5010 to VDD or VGG (log.1) by pressing the [C] or [CE] keys is resulting in all Segment Outputs SA to SH activated for the 12 Digit Outputs D1 to D12, displaying '888888888888'.

Pulling the KC or KCE Inputs of the MK5010 back to VSS (log.0) by releasing the [C] or [CE] clears the display.

CALCULATING OVERFLOW

An overflow condition of the MK5010 is resulting in the Segment Outputs SA to SF and SDP activated for the 12 Digit Outputs D1 to D12, displaying '0.0.0.0.0.0.0.0.0.0.0.0.'.

The overflow condition is only recoverable using the [C] key.

DIVIDE BY ZERO LOOP

A division of a positive or negative number by zero of the MK5010 is resulting in the Segment Outputs SA to SF disabled, SG and SH activated and SDP pulsing while the 12 Digit Outputs D1 to D12 are disabled, hence blanking the display.

The Divide by Zero Loop is only recoverable using the [C] key.

DIGIT DRIVERS

The MK5010 single-chip calculator circuit is manufactured in a PMOS process and its Digit Scanning Outputs are high-side PMOS transistors. For easy interfacing to low-voltage VFDs (Vacuum Fluorescent Displays) or high-voltage gas-discharge displays, an activated digit corresponds to a logical 0 or open output. All other, non-activated digits have the PMOS transistors turned on. We characterized here at the Datamath Calculator Museum the Digit Driver Output pin D2 of an MK5010 and measured an output resistance of around 150 Ohm at an Output Voltage of -1.0 V.

SEGMENT DRIVERS

The MK5010 single-chip calculator circuit is manufactured in a PMOS process and its Segment Outputs are high-side PMOS transistors. For easy interfacing to low-voltage VFDs or high-voltage gas-discharge displays, an activated segment corresponds to a logical 0 or open output. We characterized here at the Datamath Calculator Museum the Segment Driver Output pin SG of an MK5010 and measured an output resistance of 150 Ohm at an Output Voltage of -1.0 V.

DCM-50A Platform Compatibility

The Datamath Calculator Museum DCM-50A (PLAYGROUND) supports the Characterization of the MK5010 single-chip calculator circuit using the DCM-50A Playground MK6010 Adapter mounted on top of the DCM-50A PG Digit Inverter Frame Carrier and connected to the DCM-50A PG KBD102 Keyboard configured to MK6010 Mode. The voltage selector jumper on the MK6010 Adapter must be set to "low-voltage" (6...15 V). The optional DCM-50A Playground Digilent I/O Extender supports Characterization and Reverse-engineering of MK5010 single-chip calculator circuits.

Packaging

The MK5010 is using a standard 0.6” wide 40-pin CDIP (Ceramic Dual In-line Package with a 0.1” / 2.54 mm lead pitch).

Technology

The MK5010 was manufactured in a 10 um metal gate PMOS process (metal width = 0.40 mil / 10.0 um, metal spacing = 0.40 mil / 10.0 um, diffusion width = 0.40 mil / 10.0 um, diffusion spacing = 0.40 mil / 10.0 um).

The die size of the MK5010 is approximately 185 mils * 170 mils / 4.7 mm * 4.3 mm.

Pin Configuration

 

Pin IO Function Pin IO Function
1 V Common Voltage VSS 40 I Clock Phase 1
2 I Clock Phase 2 39 V Negative Voltage VDD
3 V Negative Voltage VGG 38 O Segment driver H
4 O Sign driver 37 O Segment driver G
5 I Encoded Key input '1' 36 O Segment driver F
6 I Encoded Key input '2' 35 O Segment driver E
7 I Encoded Key input '4' 34 O Segment driver D
8 I Encoded Key input '8' 33 O Segment driver C
9 I Key input [CE] 32 O Segment driver B
10 I Key input [C] 31 O Segment driver A
11 I Key input [−=] 30 O Segment driver DP
12 I Key input [x] 29 I Decimal Point Sel.2
13 I Key input [:] 28 I Decimal Point Sel.1
14 I Key input [+=] 27 O Digit driver 12 (MSD)
15 I Key input [.] 26 O Digit driver 11
16 O Digit driver 1 (LSD) 25 O Digit driver 10
17 O Digit driver 2 24 O Digit driver 9
18 O Digit driver 3 23 O Digit driver 8
19 O Digit driver 4 22 O Digit driver 7
20 O Digit driver 5 21 O Digit driver 6
The Segment drivers A-H and DP (Decimal Point) are connected to the display in the pictured way. 

Keyboard

The keyboards of all calculators based on the MK5010 consist of 10 number keys connected between VDD or VGG (log.1) with a diode matrix to the key inputs KN1 to KN4 (Numbers) and 7 function keys connected between VDD or VGG (log.1) to discrete key inputs. The position of the Decimal Point is selected with 2 additional switch inputs DP1 and DP2.

 

MK5010

KEY KN8 KN4 KN2 KN1
[1] - - - log.1
[2] - - log.1 -
[3] - - log.1 log.1
[4] - log.1 - -
[5] - log.1 - log.1
[6] - log.1 log.1 -
[7] - log.1 log.1 log.1
[8] log.1 - - -
[9] log.1 - - log.1
[0] log.1 - log.1 -

 

MK5010

KEY KC KCE KD KM KS KAE KP
[C] log.1 - - - - - -
[CE] - log.1 - - - - -
[÷] - - log.1 - - - -
[×] - - - log.1 - - -
[−=] - - - - log.1 - -
[+=] - - - - - log.1 -
[.] - - - - - - log.1

 

MK5010

SWITCH DP2 DP1
[4-3-2-0] - -
[4-3-2-0] - log.1
[4-3-2-0] log.1 -
[4-3-2-0] log.1 log.1

Display Scanning

Scanning is performed in D1 → D12 direction at a rate of about 480 Hz:

State Time = 0.5 Clocks = 0.020 ms @ CK=25 kHz
Digit Time = 8 States = 0.160 ms @ CK=25 kHz
Scan Time = 13 Digit Times (D1 to D13 with D13 a dead cycle) = 2.08 ms @ CK=25 kHz

Display

Calculators based on the MK5010 typically make use of of 8-digit LED (Light-Emitting-Diode) Displays with common cathode architecture. 

horizontal rule

If you have additions to the above datasheet please email: joerg@datamath.org.

© Joerg Woerner, June 30, 2026. No reprints without written permission.