Main Page        
Boards
            Tools            
         Software         
       Downloads       
                  
 
     MyNOR SBC     
Calculator Ext.
    LCD Extension    
 

Calculator Extension Board

This extension board turns MyNOR into a calculator that can perform the basic math functions. When I started developing my other project "MyCPU" I just wanted to build a simple calculator out of discrete logic gates. But in the end the project became a fully equipped, self-made computer system. With this extension board MyNOR is now the calculator that MyCPU should became 20 years ago ;-)



The display and keypad are controlled in a multiplexed manner. This not only reduces the number of components required, but also the number of needed I/O pins from MyNOR. When the board is connected to MyNOR, MyNOR automatically detects the presence of the board and enters the program loop to control the display and read the keys. No application program needs to be uploaded to MyNOR, the calculator program is already included in the EPROM.

Internally, MyNOR calculates with a 15-digit fixed point BCD number, with 8 digits before and 7 digits after the decimal point. Additions and subtractions are performed directly with the BCD number, while multiplication and division are performed with 48-bit binary numbers. Converting BCD to binary, performing the calculation, and converting back to BCD requires fewer ADD instructions than if the multiplication and division were performed directly on the BCD numbers.

The calculator extension board can be populated in two ways: The usual method is to populate all parts on the top side (component side) of the PCB (see the picture above). This looks good, but it makes it difficult to integrate the two PCBs into a housing. For this reason I have prepared the PCB so that the display and buttons can also be placed on the solder side (see the picture below). This makes it easier to attach a front panel to the board with openings for the display and the buttons. I also added the ability to solder a different type of buttons to the back side of the PCB. This enables a simple keyboard design, where you can simply place a printed foil on top of the keys. The housing only needs to have a rectengular opening for the foil, the buttons are operated through the foil.

MyNOR detects the type of assembly by sensing diode D3 or D4. If you want to build your own calculator, please make sure to only populate one of the diodes at the appropriate location, depending on which side of the board you want to populate the display and the buttons.



Schematics and BOM


Click on the schematics to see it in full resolution (PDF).

You can get the design files in the download section.

All components can be sourced from Reichelt, Mouser or Digikey.

A great PCB manufacturer is JLCPCB (China). All you have to do is upload the zip-file that contains the Gerber data to JLCPCB.

   
ReferenceValue
C1100uF / 16V
D1 D2LED 3mm, red (only one LED needed)
D3 D4 D5 D6 D7 D8BAT41
J1 J2Header 2x10 pin, 2.54mm
Q1 Q2 Q3 Q4BC327
R17 R18 R19 R20 R211 kOhm
R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16150 Ohm
SW1 SW2 SW3 SW4 SW5 SW6 SW7 SW8 SW9 SW10 SW11 SW12 SW13 SW14 SW15 SW16 SW17 SW18 SW19 SW20push button 6x4.3mm
SW21 SW22 SW23 SW24 SW25 SW26 SW27 SW28 SW29 SW30 SW31 SW32 SW33 SW34 SW35 SW36 SW37 SW38 SW39 SW40If SW1-SW20 are not used:
push button 11.4x11.4mm (Schurter 1241.1600.11)
U1 U2 U3 U4 U5 U6 U7 U8SA39-11SRWA
U9 U10ULN2803A


Finally, this is the calculator I wanted to build 20 years ago: