![]() |
DATAMATH CALCULATOR MUSEUM |
NEC introduced in Fall 1973 with the µPD273 their first single-chip calculator circuit with 8-digit display capability and very basic functionality, following the µPD271 and its low-voltage sibling µPD272. The µPD273 added both an internal clock oscillator and segment decoder to the feature set of its predecessors, rendering it a "true" single-chip calculator circuit. When NEC changed end of 1974 their 7.5 um metal gate PMOS process from enhancement mode transistors for loads to depletion mode transistors, the µPD273 was re-launched as µPD274 without any changes of the calculator firmware.
The Constant Function of the µPD273 uses a very unusual - and buggy - approach for Multiplication (1st number used as constant), Division (2nd), Addition (1st), and Subtraction (1st) that we refer here in the Datamath Calculator Museum as (M-D-A-S) 1-2-1-1 implementation. The µPD277 dropped Addition and Subtraction from the Constant Function for an (M-D-A-S) 1-2-X-X implementation, while the later µPD276 expanded it again to a more common (M-D-A-S) 1-2-2-2 implementation. The Calculator Logic Implementation of the µPD273 was plagued with another bug related to the Percent Function, is displaying after some calculations a negative zero and entering a ninth digit is resulting in an inconvenient overflow condition.
NEC didn't use the opportunity to correct with the µPD274 these issues inherited from the µPD273, but introduced with the µPD275 a sibling using Adding Machine Logic and adding an Item Counter functionality.
Consequently had the µPD273 and its twin µPD274 a very short lifecycle and were replaced soon with the µPD940, adding more functionality and other improvements to reduce manufacturing costs of battery-operated handheld calculators:
• Additional [+/−] [%] [√x] [PI] keys • Automatic Constant without [- K] switch • Constant Function with (M-D-A-S) 1-2-2-2 implementation • Improved internal clock oscillator with 2 instead of 4 external components • Number of connections to the keyboard reduced from 14 to 10 wires |
The successor of the µPD274 can be found with the µPD943, trading its Item Counter function for a [+/−] and a selectable Fixed Decimal Point.
QUICK-LINK to NEC Calculator Integrated Circuits.
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 |
µPD274 | Automath MK-800, Prinztronic Asset, Ricoh RC- 8E | [+][−][=] | [ - K] 1-2-1-1 |
8 | Float | None | [%] | S4 S4 |
![]() |
![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
µPD275 | Santek ST-108, Triumph-Adler 80C (EC21) | [+=][−=] | [ - K] 1-2-X-X |
8 | Float | None | [%], [IC] | S4 S4 |
![]() |
![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
Description | Comments | |
Architecture | Single-chip Calculator | Second Generation |
Category | Register Processor | Bit-serial |
Related |
µPD273 µPD940 |
Original design Successor |
ROM Size | ||
RAM Size | ||
Outputs | 10 Digits 9 Segments |
VFD Digit Drivers VFD Segment Drivers |
Inputs | 2 Keyboard 1 Clear |
Digit to Keyboard Scan-Matrix Active High |
Capacity: Up to 8 digits (positive and negative)
Logic: Algebraic Chain Logic with Constant
[2] [x] [3] [+] [4] [x] [5] [=] → '50.'
Number Entry: Right-justified number entry, entering a ninth digit is resulting in an overflow condition. The ninth digit can be cleared with the [CE] key
[1] [2] [3] [4] [5] [6] [7] [8] [9] → 'CU12345678.', [CE] → '12345678.'
Decimal Point: First entered decimal point is used, additional decimal point entries are ignored
[1] [.] [2] [.] [3] → '1.23'
Fixed Decimal Point: Fixed decimal point arithmetic is not supported
Decimal Alignment: Decimal alignment is not supported
[0] [.] [4] [5] [+] [0] [.] [5] [5] [=] → '1.'
Clear: Automatic power-up clear implemented with external resistor, capacitor and diode. [C] key clears the whole calculator, [CE] key clears last entry of a number
[1] [+] [2] [C] [3] [=] → '3.'; [1] [+] [2] [CE] [3] [=] → '4.'
Change Sign: Not supported. When performing multiplication or division, a negative value can be assigned to the number by pressing the [−] key before entering the number
[−] [2] [x] [3] [=] → '-- 6.'; [−] [2] [x] [−] [3] [=] → '6.'
Number Display: Right-justified number display with leading-zero suppression
Negative Numbers: Negative numbers are shown with '--' in the two leftmost positions
Calculating Overflow: An overflow shows the result with the decimal point shifted 8 positions to the left and 'CU' (or 'EU' for negative numbers) in the two leftmost positions and is recoverable using the [CE] key without clearing the display and with the [C] key
[1] [2] [3] [4] [5] [x] [1] [2] [3] [4] [5] [=] → 'CU1.5239902', [CE] → ''1.5239902', [:] [1] [0] [=] → '0.152399'
Divide By Zero: A division of a number by zero shows a 'CC' (or 'EE' for negative numbers) in the two leftmost positions and is only recoverable using the [C] key
[1] [:] [0] [=] → 'CC 0.'; [−] [1] [:] [0] [=] → 'EE 0.'
Timeout: Not supported
Rounding: Rounding of displayed calculating results is not supported
[2] [0] [:] [3] [=] → '6.6666666'
Constant: Automatic constant can be enabled with an external switch and is implemented for multiplication (1st number used as constant), division (2nd), addition (1st), and subtraction (1st). Using the [−] key leads to unexpected results
[- K] [3] [x] [2] [=] [=] → '6.', [1] [=] → '6.'; [4] [x] [=] [=] → '16.'
[- K] [3] [x] [2] [=] [=] → '18.', [1] [=] → '3.'; [4] [x] [=] [=] → '64.'
[- K] [3] [:] [2] [=] [=] → '0.75', [1] [=] → '0.5.'; [4] [:] [=] [=] → '0.0625'
[- K] [3] [+] [2] [=] [=] → '8.', [1] [=] → '4.'; [4] [+] [=] [=] → '4.'
[- K] [3] [−] [2] [=] → '1.', [=] → '4.', [1] [=] → '4.'; [4] [−] [=] [=] → '-- 4.'
[- K] [−] [3] [−] [2] [=] → '-- 5.', [=] → '-- 8.', [1] [=] → '-- 2.'; [−] [4] [−] [=] [=] → '-- 4.'
Percent Function: The [%] key following the [x] key is dividing the number by 100, following the [:] key is multiplying the number by 100. A second press of the [%] key adds the result to the number
[- K] [2] [0] [x] [5] [%] → '1.', [=] → '1.'
[- K] [2] [0] [x] [5] [%] → '1.', [%] → '21.'
[- K] [2] [0] [x] [5] [%] → '1.', [=] → '20.'
[- K] [2] [0] [x] [5] [%] → '1.', [%] → '21.'
[- K] [5] [:] [2] [0] [%] → '25.', [=] → '25.'
[- K] [5] [:] [2] [0] [%] → '25.', [=] → '1.25.'
Reciprocal Function: The reciprocal function is implemented using the [:] key directly followed by the [=] key
[4] [:] [=] → '0.25'
Known Calculator Logic Bugs:
Divide to Negative Zero Bug: Certain calculations result in displaying a negative zero
[1] [−] [2] [=] → '-1.', [:] [1] [0] [0] [0] [0] [=] → '-0.0001', [=] → '-0.'
Constant with Subtraction Bug: Using the automatic constant in subtraction leads to an error if the first entered number is positive
[- K] [3] [−] [2] [=] → '1.', [1] [=] → '4.'
Constant with Percentage Chain Bug: Performing percentage calculations with automatic constant enabled leads to an error for subsequent additions and subtractions
[- K] [2] [0] [x] [5] [%] → '1.', [+] [2] [=] → '40.'
[- K] [2] [0] [x] [5] [%] → '1.', [+] [2] [=] → '3.'Capacity: Up to 8 digits (positive and negative)
Logic: Algebraic Adding Machine Logic with Constant
[2] [x] [3] [+=] [4] [x] [5] [+=] → '20.'
Number Entry: Right-justified number entry, entering a ninth digit is resulting in an overflow condition. The ninth digit can be cleared with the [CE] key
[1] [2] [3] [4] [5] [6] [7] [8] [9] → 'CU12345678.', [CE] → '12345678.'
Decimal Point: First entered decimal point is used, additional decimal point entries are ignored
[1] [.] [2] [.] [3] → '1.23'
Fixed Decimal Point: Fixed decimal point arithmetic is not supported
Decimal Alignment: Decimal alignment is not supported
[0] [.] [4] [5] [+=] [0] [.] [5] [5] [+=] → '1.'
Clear: Automatic power-up clear implemented with external resistor, capacitor and diode. [C] key clears the whole calculator, [CE] key clears last entry of a number
[1] [+=] [2] [C] [3] [+=] → '3.'; [1] [+=] [2] [CE] [3] [+=] → '4.'
Change Sign: Not supported. When performing multiplication or division, a negative value can be assigned to the number by pressing the [−=] key after entering the number
[2] [−=] [x] [3] [+=] → '-- 6.'; [2] [x] [3] [−=] → '6.'; [2] [−=] [x] [3] [−=] → '6.'
Number Display: Right-justified number display with leading-zero suppression
Negative Numbers: Negative numbers are shown with '--' in the two leftmost positions
Calculating Overflow: An overflow shows the result with the decimal point shifted 8 positions to the left and 'CU' (or 'EU' for negative numbers) in the two leftmost positions and is recoverable using the [CE] key without clearing the display and with the [C] key
[1] [2] [3] [4] [5] [x] [1] [2] [3] [4] [5] [+=] → 'CU1.5239902', [CE] → ''1.5239902', [:] [1] [0] [+=] → '0.152399'
Divide By Zero: A division of a number by zero shows a 'CC' (or 'EE' for negative numbers) in the two leftmost positions and is only recoverable using the [C] key
[1] [:] [0] [+=] → 'CC 0.'; [1] [−=] [:] [0] [−=] → 'CC 0.'; [1] [−=] [:] [0] [+=] → 'EE 0.'; [1] [:] [0] [−=] → 'EE 0.';
Timeout: Not supported
Rounding: Rounding of displayed calculating results is not supported
[2] [0] [:] [3] [=] → '6.6666666'
Constant: Automatic constant can be enabled with an external switch and is implemented for multiplication (1st number used as constant) and division (2nd). Using the [−=] key leads to unexpected results
[- K] [3] [x] [2] [+=] [+=] → '6.', [1] [+=] → '7.'; [4] [x] [+=] [+=] → '16.'
[- K] [3] [:] [2] [+=] [+=] → '1.5.', [1] [+=] → '2.5'; [4] [:] [+=] [+=] → '0.25'
[- K] [3] [x] [2] [+=] [+=] → '18.', [1] [+=] → '3.'; [4] [x] [+=] [+=] → '64.'
[- K] [3] [:] [2] [+=] [+=] → '0.75', [1] [+=] → '0.5.'; [4] [:] [+=] [+=] → '0.0625'
[- K] [3] [+=] [2] [+=] [+=] → '5.', [1] [+=] → '6.'; [4] [+=] [+=] → '4.'
[- K] [3] [+=] [2] [−=] → '1.', [−=] → '-- 1.', [1] [-=] → '-- 2.'; [4] [−=] [−=] → '4.'
[- K] [3] [−= [2] [−=] → '-- 5.', [−=] → '5.', [1] [−=] → '4.'; [4] [−=] [+=] → '-- 4.'
Percent Function: The [%] key following the [x] key is dividing the number by 100, following the [:] key is multiplying the number by 100. A second press of the [%] key adds the result to the number
[- K] [2] [0] [x] [5] [%] → '1.', [+=] → '21.'
[- K] [2] [0] [x] [5] [%] → '1.', [−=] → '19.'
[- K] [2] [0] [x] [5] [%] → '1.', [+=] → '21.', [+=] → '420.'
[- K] [2] [0] [x] [5] [%] → '1.', [−=] → '19.', [−=] → '-- 380.'
[- K] [5] [:] [2] [0] [%] → '25.', [+=] → '25.'
[- K] [5] [:] [2] [0] [%] → '25.', [+=] → '1.25', [+=] → '0.0625'
Reciprocal Function: The reciprocal function is implemented using the [:] key directly followed by the [+=] key
[4] [:] [+=] → '0.25'
Item Counter: The [IC] key increments the number in the display by one
[C] [IC] → '1.', [IC] → '2.'; [4] [−=] → '-- 4.', [IC] → '-- 3.'
Known Calculator Logic Bugs:
Divide to Negative Zero Bug: Certain calculations result in displaying a negative zero
[1] [−] [2] [=] → '-1.', [:] [1] [0] [0] [0] [0] [=] → '-0.0001', [=] → '-0.'
Constant with Percentage Chain Bug: Performing percentage calculations with automatic constant enabled leads to an error for subsequent additions and subtractions
[- K] [2] [0] [x] [5] [%] → '1.', [2] [+=] → '40.'
[- K] [2] [0] [x] [5] [%] → '1.', [2] [+=] → '3.'
ABSOLUTE MAXIMUM RATINGS
Item | Min | Typ | Max | Unit | Comments |
VDD | -15.0 | 0.3 | V | to VSS | |
VGG | -15.0 | 0.3 | V | to VSS | |
VOUT | -30.0 | 0.3 | V | VFD Output Voltage through 50 kOhm Resistors | |
VIN (AC, K, CR) |
-15.0 | 0.3 | V | Input Voltage through 50 kOhm Resistors | |
VIN (NK, FK1, FK2) |
-30.0 | 0.3 | V | Input Voltage through 50 kOhm Resistors |
RECOMMENDED OPERATING CONDITIONS
Item | Min | Typ | Max | Unit | Comments |
VSS | 0 | V | |||
VDD | -6.6 | -6.0 | -5.4 | V | |
VGG | -12.1 | -11.0 | -9.9 | V | |
VOUT | -28 | 0 | V | VFD Output Voltage through 100 kOhm Resistors | |
VIH (CL) |
-1.5 | 0 | V | Input Voltage through 100 kOhm Resistors | |
VIH (NK, FK) |
-3.6 | 0 | V | Input Voltage through 100 kOhm Resistors | |
VIL (CL) |
VGG | -9.0 | V | Input Voltage through 100 kOhm Resistors | |
VIH (NK, FK) |
-28.0 | -9.0 | V | Input Voltage through 100 kOhm Resistors | |
RCR1 | 150 | kOhm | CR1 to VGG | ||
CCR1 | 100 | pF | CR1 to VSS | ||
RSR2 | 300 | kOhm | SR2 to VGG | ||
CSR2 | 100 | pF | SR2 to VSS |
ELECTRICAL CHARACTERISTICS
Item | Min | Typ | Max | Unit | Comments |
IDD | 6.0 | mA | CG = 100 pF, Segment- and | ||
IGG | 1.0 | mA | Digit-Driver Load 100 kOhm to VGG | ||
ION1 | -1.5 | mA | VOT = -1.0 V | ||
ION2 | -3.0 | mA | VOT = -2.0 V | ||
IOFF | -10 | uA | VOT = -28.0 V | ||
IIH | +4.5 | uA | VIT = -1.5 V | ||
IIL | -4.5 | uA | VIT = -9.0 V | ||
FOSC | 50 | kHz | CG = 100 pF, |
CLOCK GENERATOR
µPD274The internal clock oscillator of the µPD274 and µPD275 single-chip calculator circuits uses an unusual approach with two dedicated pins and four external components. The primary section of the internal clock oscillator, Pin 1 (CR1/REXT/CEXT) requires a resistor REXT1 to VGG and a capacitor CEXT1 to VSS. The secondary secondary section, Pin 28 (SR2/REXT/CEXT) requires another resistor REXT2 to VGG and another capacitor CEXT2 to VSS.
The frequency of the internal clock oscillator is set with the external two resistor/capacitor combinations REXT1/CEXT1 with nominal values of 150 kOhm and 100 pF, respectively and REXT2/CEXT2 with nominal values of 300 kOhm and 100 pF for a typical frequency of 50 kHz. Here at the Datamath Calculator Museum we operate the µPD274 Devices-under-Test (DUT) with external 150 kOhm and 300 kOhm resistors but verify its operation for other values, too.
Configuration | REXT1 | CEXT1 | REXT2 | CEXT1 | Frequency |
Minimum | 200 kOhm | 100 pF | 400 kOhm | 100 pF | 37.7 kHz |
Typical | 150 kOhm | 100 pF | 300 kOhm | 100 pF | 50.3 kHz |
Maximum | 100 kOhm | 100 pF | 200 kOhm | 100 pF | 72.6 kHz |
The
operating frequency of the internal clock oscillator depends not only on the
external external resistor/capacitor combinations, but its supply voltages VDD and VGG,
too. We observed with our DUT opposite gradients of the oscillation
frequency for VDD and VGG
variations.
µPD275
The frequency of the internal clock oscillator is set with the external two
resistor/capacitor combinations REXT1/CEXT1 with
nominal values of 150 kOhm and 100 pF, respectively and REXT2/CEXT2
with nominal values of 300 kOhm and 100 pF for a typical frequency of 36
kHz. Here at the Datamath Calculator Museum we operate
the µPD275 Devices-under-Test (DUT) with external 150 kOhm and 300 kOhm resistors
but verify its operation for other values, too.
Configuration | REXT1 | CEXT1 | REXT2 | CEXT1 | Frequency |
Minimum | 200 kOhm | 100 pF | 400 kOhm | 100 pF | 27.2 kHz |
Typical | 150 kOhm | 100 pF | 300 kOhm | 100 pF | 36.6 kHz |
Maximum | 100 kOhm | 100 pF | 200 kOhm | 100 pF | 51.9 kHz |
The
operating frequency of the internal clock oscillator depends not only on the
external external resistor/capacitor combinations, but its supply voltages VDD and VGG,
too. We observed with our DUT opposite gradients of the oscillation
frequency for VDD and VGG
variations.
MINIMUM OPEREATING VOLTAGE
While comparing the µPD274 single-chip calculator circuit with the original µPD273, we noticed not only an increased frequency of its internal clock oscillator but a much more tolerant behavior at low operating voltages. Lowering both VDD and VGG in 0.5 V steps and observing the functionality of both the clock oscillator and digit scanning generation, we measured for the Devices-under-Test:
Device-under-Test | Minimum VDD | Minimum VGG |
µPD273 K3Y106 | -5.0 V | -8.0 V |
µPD274 H4X016 | -2.0 V | -5.0 V |
µPD275 H49066 | -3.0 V | -7.5 V |
INTER-DIGIT BLANKING
The µPD274 and µPD275 single-chip calculator circuits are blanking both its Digit Outputs and Segment Output change for one State Time while scanning the keyboard and display.
OVERFLOW INDICATOR
The µPD274 and µPD275 single-chip calculator circuits outputs their overflow indicators and sign information both during digit time D9 and digit time D10, allowing the calculator manufacturer to decide for the desired overflow visualization.
Overflow Condition |
Digit Time D9 | Digit Time D10 |
Entry Pos. Numbers |
![]() |
![]() |
Entry Neg. Numbers |
![]() |
![]() |
Calculating Pos. Numbers |
![]() |
![]() |
Calculating Neg. Numbers |
![]() |
![]() |
The Datamath Calculator Museum DCM-50A (PLAYGROUND) supports the Characterization of the µPD274 and µPD275 single-chip calculator circuits using the DCM-50A Playground DIL42 Adapter mounted on top of the DCM-50A PG Frame Carrier and the voltages VSS set to 6.0V and VDD/VGG set to -5.0V. Alternatively, the more flexible - but less comfortable - DCM-50A Playground BB400 Adapter can be used.
The µPD274 and µPD275 were manufactured in a 7.5 um metal gate PMOS process (metal width = 0.30 mil / 7.5 um, metal spacing = 0.30 mil / 7.5 um, diffusion width = 0.25 mil / 6.0 um, diffusion spacing = 0.35 mil / 9.0 um).
The µPD274 and µPD275 are using a standard 0.6” wide 28-pin DIP (Dual In-line Package with a 0.1” / 2.54 mm lead pitch).
• VSS/VDD/VGG - Confirmed Pin Function from Die Photo • (VSS/VDD/VGG) - Pin Function from Calculator Schematics • N.C. - Confirmed Pin Function from Die Photo or Pin Measurement • (N.C.) - Pin Function from Calculator Schematics |
Pin | IO | Function | Pin | IO | Function |
1 | I | CLK/REXT1, CEXT1 | 28 | I | CLK/REXT2, CEXT2 |
2 | O | Segment driver A | 27 | V | Negative Voltage VGG |
3 | O | Segment driver B | 26 | V | Negative Voltage VDD |
4 | O | Segment driver C | 25 | O | Digit driver 10 (sign) |
5 | O | Segment driver D | 24 | O | Digit driver 9 (sign) |
6 | O | Segment driver E | 23 | O | Digit driver 8 (MSD) |
7 | O | Segment driver F | 22 | O | Digit driver 7 |
8 | O | Segment driver G | 21 | O | Digit driver 6 |
9 | O | Segment driver H | 20 | O | Digit driver 5 |
10 | O | Segment driver DP | 19 | O | Digit driver 4 |
11 | I | Automatic Clear (high) | 18 | O | Digit driver 3 |
12 | I | Key-matrix input NK | 17 | O | Digit driver 2 |
13 | O | Key-matrix input FK | 16 | O | Digit driver 1 (LSD) |
14 | V | Common Voltage VSS | 15 | I | Test |
The Segment drivers A-H and DP (Decimal Point) are connected to the display in the pictured way. | ![]() |
The keyboards of all calculators based on the µPD274 and µPD275 single-chip calculator circuits consist of an x/y-matrix connected to ten digit-driver outputs and the key-matrix inputs NK and FK. The [C] key is connected directly between common voltage VSS and the CL input.
Display scanning is performed in D1 → D10 direction at a rate of about 1,000 Hz:
• State Time = 1 Clock =
0.025 ms @ CK=40 kHz • Digit Time = 4 States = 0.100 ms @ CK=40 kHz • Scan Time = 10 Digit Times (D1 to D10) = 1.000 ms @ CK=40 kHz |
µPD274 | ||||
NK | FK | CL | ||
VSS | C | |||
D1 | 1 | |||
D2 | 3 | CE | ||
D3 | 2 | . | ||
D4 | 6 | × | ||
D5 | 7 | ÷ | ||
D6 | 5 | − | ||
D7 | 4 | + | ||
D8 | 0 | [ - K] | ||
D9 | 8 | = | ||
D10 | 9 | % |
µPD275 | ||||
NK | FK | CL | ||
VSS | C | |||
D1 | 1 | |||
D2 | 3 | CE | ||
D3 | 2 | . | ||
D4 | 6 | × | ||
D5 | 7 | ÷ | ||
D6 | 5 | −= | ||
D7 | 4 | += | ||
D8 | 0 | [ - K] | ||
D9 | 8 | IC | ||
D10 | 9 | % |
Calculators based on the µPD274 and µPD275 single-chip calculator circuits typically make use of 9-digit low-voltage VFDs (Vacuum Fluorescent Displays).
If you have additions to the above datasheet please email: joerg@datamath.org.
© Joerg Woerner, May 30, 2025. No reprints
without written permission.