Quantcast
Channel: MSP430 Technical Forums
Viewing all articles
Browse latest Browse all 2077

TMS0803/5 Emulating Calculator Build

$
0
0

There seems to be some interest in building this emulating calculator so I will start a build thread.

 

I got introduced to a web based calculator emulation via this thread.

 

I got interested and start playing w/ the idea of implementing the emulation on an msp430, my code is based on Mr Ken Shirriff's work from the following pages.

 

TI DataMath 2500II/1500? emulations 

 
Eventually I built the emulator on a standalone PCB design fitted w/ bubble leds from the '70 when the original calculators were made.

 

I am posting the bits that's needed for whoever interested to build it.

 

This is all that's there

calb01.jpg

 

1 MSP430G2452, from your Launchpad G2 (the "other" chip in the package)

2 bubble led, from sparkfun ($2.95 ea)

20 tactile buttons, 6 x 3 x 4.3mm, from DX ($4.76/100)

1 spdt dip size switch, from DX ($7.37/100)

1 CR2032 cell holder, from DX ($3.14/20)

1 miniature red led thru-hole, forgot where I got it (see picture)

1 47k pull-up resistor

 

* The miniature red led is to show the "negative" sign. The original calculators have 9 digit displays, since we have only 8 digit, I used a led to show the negative sign when needed.

* You can try different CR2032 cell holders, or even paper-clip diys, the pcb make provisions to mount different cell holders.

 

I am attaching the schematic here but it is not very readable, I started my pcb design by placing components 1st, make traces. And lastly I let Fritzing to auto route the schematic.

 

tms0800_4xs_schem.png

 

It is easier to understand the connections w/ the ascii art schematic, in my opinion

 

               MSP430G2452
             -----------------
         /|\|                 |
          | |                 |
          --|RST              |
            |                 |       2 x 4 digit bubble led
            |     digit 0 P2.0|----- +---------+ +---------+
            |     digit 1 P2.6|----- | % % % % | | % % % % |
            |     digit 2 P2.1|----- +---------+ +---------+
            |     digit 3 P2.2|--/-------+
            |     digit 4 P2.3|--/---|>--+ led (minus sign)
            |     digit 5 P2.7|--/-
            |     digit 6 P2.4|--/-
            |     digit 7 P2.5|--/-        segment a to g + dot........
            |                 |       /                                 ....\
            |                 |      /                                       \
            |   segment A P1.2|-----+-----+-----+-----+-----+-----+-----+-----+
            |                 | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ |
            |   segment B P1.3|-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+
            |                 | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ |
            |   segment c P1.7|-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+
            |                 | _=_ | _=_ | _=_ | _=_ | _=_ | _=_ |
            |   segment D P1.1|-o o-+-o o-+-o o-+-o o-+-o o-+-o o-+
            |                 | _=_ | _=_ | _=_ | _=_ | _=_ |
            |   segment E P1.5|-o o-+-o o-+-o o-+-o o-+-o o-+
            |                 | _=_ | _=_ | _=_ | _=_ |
            |   segment F P1.4|-o o-+-o o-+-o o-+-o o-+
            |                 | _=_ | _=_ | _=_ |
            |   segment G P1.0|-o o-+-o o-+-o o-+
            |                 | _=_ |
            |   segment H P1.6|-o o-+       (not all buttons populated)
            |                 |
 
 

 

The source code is in github

 

 

 

There is also good amount of H/W information commented inside the code

 

If you plan to design your own PCB, the basic principle in relationship w/ the code is

 

  • P1 for LED segments
  • P2 for LED digits
  • P1 also for key button scanning
  • You can move things around as long as you observe the above. I.e. If it fits better on your PCB, you could swap digit 1 w/ digit 3, segment A w/ segment E, etc, etc. All you need is to change #define in a header file and compile.

 

I will post the PCB separately. Also working on a better design and will post it also.


Viewing all articles
Browse latest Browse all 2077

Trending Articles