0
\$\begingroup\$

Hi all,

I'm thinking about a project, but I have no idea if it's even possible... So the general idea would be to have a calculator that can display letters and other characters. I have a very basic calculator (Sharp Elsi Mate EL-376S) with a 7-segment LCD. Is it possible to read the values from the calculator's chip and write them to another LCD? (both read and write with an arduino or any micro controller) The "old" display would be detached. Letter/Character mode could be changeable by pressing a key on the calculator.

Calculator PCB:

enter image description here (Solar cell power on the left(wires detached), battery power on the right)

Please share any thoughts, tutorials, concepts I should read/know! Thanks, in advance!

\$\endgroup\$
  • 2
    \$\begingroup\$ Why not just drive a 7-segment LCD directly from the microcontroller and ignore the existing calculator entirely? It would be much easier to write your own calculator program than to try to communicate with an external calculator like this. \$\endgroup\$ – Justin May 20 at 15:26
  • \$\begingroup\$ Maybe you'r right... it would've come handy during chemistry tests haha, don't expect much from a highschooler :) \$\endgroup\$ – leventecsoba May 20 at 15:33
  • \$\begingroup\$ And oh, the whole point is to somehow get rid of the 7-segment display so I could write letters and special characters on screen \$\endgroup\$ – leventecsoba May 20 at 15:34
  • \$\begingroup\$ You can't write a special character in the 7-segment display. For example "@". Even you can't write 'D' because 'D' and '0' are the same in 7-segment. \$\endgroup\$ – Sadat Rafi May 20 at 17:26
  • \$\begingroup\$ Yes, I'm completely aware of that, that's why I wrote "to get rid of the 7-segment display". Getting rid of it, thus, changing to a screen capable of writing special characters. \$\endgroup\$ – leventecsoba May 20 at 17:54
1
\$\begingroup\$

It's possible to do, though painful and tedious. The display is "bare glass" and no doubt a multiplexed type. There are 28 conductors, including probably 4 commons for a total of 88 possible segments total (including decimal points, indicators etc).

The LCD will use a complex stepped waveform (probably 4 possible levels) on the commons and segment lines to determine whether a given segment is on or off.

You would have to capture the levels on each line and determine whether the segments were supposed to be on or off, then relay that information. For example, you could trigger off of the edges in one of the commons and then sample all the other lines using an ADC.

See application notes for "multiplexed LCD" display for more information on the waveforms to expect. You would need an oscilloscope or this would be too challenging, I think.

Edit: for example: http://ww1.microchip.com/downloads/en/appnotes/01428a.pdf

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ One or two links to those application notes you've mentioned will certainly benefit this answer \$\endgroup\$ – Maple May 20 at 16:12
  • \$\begingroup\$ @Maple done.... \$\endgroup\$ – Spehro Pefhany May 20 at 16:16
  • 1
    \$\begingroup\$ I knew you'd do that, so up-voted in advance :) \$\endgroup\$ – Maple May 20 at 16:18
  • 1
    \$\begingroup\$ Wow, thanks! Exactly what I was looking for. \$\endgroup\$ – leventecsoba May 20 at 16:25
0
\$\begingroup\$

Yes, it is possible to do this. First you need to find the documentation for the LCD display. Reverse engineer the protocol for sending information to the display, and use that knowledge to write code for some microcontroller that is fast enough to respond to the control signals and grab the data. Then write code for the microcontroller that will take the grabbed data and send it to whatever LCD display you want to use.

If you found that answer to be less than you had hoped for then you understand why "is it possible" questions are not a very good fit for this site. You should dig into this yourself and come back when you have a more specific question.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Thanks, it's a great startingpoint tho. I'll be more specific next time :) \$\endgroup\$ – leventecsoba May 20 at 15:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.