# HP Forums

Full Version: Atmel ARM7 LCD driver
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

As already proposed by others, it is possible to use segmented characters to get alphanumeric capabilities on a 400 pixel display.
I am thinking about the use of 16 (compared to 14 as on HP41) segments characters to provide a two lines 400pixel display: one numeric line and one alphanumeric, 12 chars per line with points and commas, extra minus sign and indicators, plus a top soft key menu as on hp32s.
In the proposed design the top numeric line is made by eleven 9 segment characters (to display zero differently from the letter "O" and to display the angle symbol in complex numbers) and one 11 segment character (to display the "i" symbol in complex numbers) and the bottom line by twelve 16 segment characters; for explanations on the "pixel" counts, I marked independent segments as grey and coupled segments by similar colors.
Comments and others proposal are welcome!

Michele,

I like your design! Is this just a graphical design or do you have some kind of simulation so that you (or we) can do some "real" programming for the display?

I'm too lazy to count myself, how many independent segments are there?

Marcus

Buon giorno Michele,

very nice work! What's the use of the row of dots between the lower line chars and the menu arrows? And I don't understand the bottom right arrow *down* in your last example.

Quote:
I'm too lazy to count myself, how many independent segments are there?
Marcus, you're allowed to use addition and multiplication ;) They were invented by and for lazy people. My result is 378, so we're well within 400 even with some minor errors.

Saluti

Walter

Edited: 24 Nov 2008, 6:36 a.m.

Dear Marcus,
it is only a graphical design, I did no further analysis of the display capability.

numeric line: 121 (eleven "9+2" char.) + 13 (one "11+2" char.) + 1 ("-" sign) = 135;

alphanumeric line: 216 (twelve "16+2" char.) + 1 ("-" sign) = 217;

softkey arrows = 6 + 2;

other indicators = 20 (in the proposed design).

TOTAL = 380 independent segments

Michele

Very nice work! One small suggestion, as illustrated below:

this:

(In words, make the dot/comma large, legible and distinct!)

Edited: 24 Nov 2008, 7:53 a.m.

Dear Walter,
the row of 12 dots could be used for displaying question marks or factorial symbols (exclamation mark): by the way, I did not count them in my evaluation.. Sorry: the total number of independent segments is actually 390 (378 as you correctly wrote + 12).
The right [and left] arrow *down* symbols were used in hp32s for right [and left] scrolling of the display with the Sigma+ [and Square Root] keys.
Saluti!

Michele

hello,

great work.

BTW, it is relatively easy to put that into the HP20b development emulator program. you need to modify the polygons on the table_LCD constant in the ScreenHandling.cpp file.

doing so can make it quite easy to try to see what the user interface could look like.

send me an email and I can help you on that if needed.

however, if you want to have an LCD made, it would probably cost in the \$6000 or so for the tooling cost... however, if you only do small series, it might be cheaper, I do not know...
connecting the LCD to the PCB is the easiest part...

regards, cyrille

Caro Michele,

grazie per tua explicazione di dodici punti. Thanks for your explanation of the 12 dots. Great idea!

Quote:
The right [and left] arrow *down* symbols were used in hp32s for right [and left] scrolling of the display with the Sigma+ [and Square Root] keys.
I meant something different here. IMHO your lowest display example should just show a right arrow (-->), no down arrow (v). Sorry, I can't upload an image here.

Saluti!

Walter

Edited: 24 Nov 2008, 9:01 a.m.

Walter,

I think that the down-arrow indicates that you need to press the associated soft-key (to which the down-arrow points) to execute the right-scroll function.

I submit that for clarity on displays that you could use something like the colon and semicolon instead of the tiny period or comma. There would be no confusion about what it means and it would not vanish in a dot matrix display. This would allow a single dot or period to mark every third place after the decimal where long numbers after the decimal are displayed.
Sam who at 80 has lost some vision.

When creating a font for B7971 nixie tubes (14-segments union jack) I found that using 16 segments isn't really necessary. There are only 3 characters benefitting from the split upper/lower segment: % { } but those look OK with 14 segments, too.

Have a look at my 14 segment full ASCII font design at
http://www.lispme.de/f4lw/b7971font.ps

There are some nice ideas in your charset, Fred, but also some I find very strange like e.g. :, x, [, ]. If it has to be a segmented character LCD, I prefer Michele's design for sake of clarity, and since the necessary number of display elements will be available. I won't cut resolution back any further.

If we can get it, however, my true favourite is a dot matrix, granting all the opportunities I've shown here and elsewhere several times. Remember we're moving between US\$150 for a 50G with a 131x80 dot matrix and US\$40 for a 20b with 400 elements.

Ceterum censeo: HP, launch a 43s.

Walter

and that HP-42 with more segments than 400

My 43s(TM)-proposal in an earlier threadfeatures a 48x131 pixel LCD. The
15s and 44s I suggested earlier already provide 32x131 pixels each.

Only the model number is wrong... ;-)
nice...

OT
Hi Walter,

One thing I just noticed looking at your exellent designs - wouldn't be better if you had R/S and Sigma+ swapped? I personally prefer having R/S close to number keys.

Cheers,
Reth

Hi Reth,

that's a quasireligious topic ;) You find both schemes in vintage HP calcs, and you find both in my models. I placed R/S next to the other programming operations and Sigma+ next to the other statistics functions. Sigma+ is an input function, so a location next to the numeric input keys as known from the Voyagers makes a lot of sense. R/S is a very important function as well, so it must be easily accessible, but I don't see any as direct connection to numeric keys. YMMV.

Well I guess it all depends on how one uses the calculator; If for running programs R/S is better to be close to numbers and If used as non-programmable the other way around. I think whoever buys this calc would be more after its programmability rather than just number crunching (even in this case not everyone uses Sigma+ that often). Not that I won't buy it as it is anyway ;)

Cheers,
Reth

Walter --

I agree with Reth, and would add two more points:

1. R/S is used to enter prompted values, either via INPUT in a user program, or of variables not to be SOLVEd or INTEGrated in an equation.

2. Sigma+ can be effectively placed amongst number keys, if desired, using a trivial program:

```LBL S
R/S
Sigma+
GTO S
```

-- KS

Hello!

You did a nice work! A hybrid 32-41-42 display ;)

I have 2 further questions:
1. Why can't HP implement such a display? It would indeed be useful.
2. Why, absolutely why do they stick to such a poor solution which is limited to 400 display segments? It has already been discussed but yet again HP choses a step backwards. Even the cheap 17 Euro Casios can display thousands of pixels.

Karl,

It's not very nice nor true you leave your beloved 15C standing in the rain. I may tell her ;)

Seriously, one may swap R/S and EXIT on the 43s. The 15s or 15c+ won't gain if I do similar maneuvers IMO.

Reth,

You hit the point probably. Additionally it may depend on one- or two-handed operation of calcs. Voyager-shaped calcs are often operated using both hands.

Best regards,

Walter

Edited: 26 Nov 2008, 2:11 a.m.

Quote:
Additionally it may depend on one- or two-handed operation of calcs.

True, that's what I do with the 35S, hitting R/S with my left thumb (I'm right handed) while holding the calc but it's different when it is left on the desk ... changing habbits is not an easy task :)

Cheers,
Reth

Dear Cyrille,

thanks for the informations and the proposal: unfortunately I am not a programmer, therefore my contribution is limited to few drawings...

I was just wondering about how to use the 20b platform (everything except the current display) to develope a low-priced two lines scientific calculator: the investment for HP on a dedicated display could be limited, and we could get a new - welcome - model in the class of hp11c -> 32s.
Regards,

Michele

Quote:
I was just wondering about how to use the 20b platform (everything except the current display) to develope a low-priced two lines scientific calculator
Having gone through the design process on something similar (but not on calculators, and not very recently), I think a dot-matrix LCD would be cheaper, and of course it's more flexible in what can be displayed.

Quote:
Having gone through the design process on something similar (but not on calculators, and not very recently), I think a dot-matrix LCD would be cheaper, and of course it's more flexible in what can be displayed.

I'm not sure about the dot matrix version being cheaper, lots of factors are involved here.

I prefer the look of segmented displays, I'm not a big fan of dot matrix. Dot matrix is more flexible for sure, but you loose the "look'n'feel" of a nice segmented display IMHO.

I do like displays that have a combination of both though.

Dave.

Combinations may save some picture elements. How many? Let's go to the limits:

For a soft key line like this:

,

fixed at the bottom of the display, we need 5x19x6 pixels + 6 horizontal bars for possible submenu marks, resulting in 576 picture elements. The 5 vertical separation bars may be printed.

Above we need at least one output line like the top line Michele proposed, i.e. 11x11 + 13 = 134 elements.

From the set of indicators Michele showed, we may drop the 6 vertical and 2 horizontal arrows, so I count 21 including the unary minus and a possible third prefix mark.

This sums up to a bare minimum of 731 independent elements. Compared to 32x131 = 4192 pixels in my smallest display suggestion - wow, we've saved a lot! So the HW gurus may decide what's the bottom line benefit of this big saving. I can easily see, however, the loss of flexibility. So I can't stop wondering ...

Ceterum censeo: HP, launch a 43s (or something similar with a reasonable LCD).

Walter

Edited: 27 Nov 2008, 2:00 a.m.

The problem is not to find a suitable display but ti interface it to the existing Atmel hardware. If, and only if we just want to use the Atmel design, we are limited by 400 independent segments. If we could redesign the hardware and switch to a different processor, everything, including graphics, is possible. I would only use the segmented display approach in the first case, not the second.

I say forget the ARM, forget the custom LCD, and go with an off-the-shelf 122x32 COG LCD with the driver built in. They normally have either an 8-bit parallel interface that can be used in 4-bit or 8-bit mode or an SPI-type four-wire interface (data in, data out, clock, and select). It lets you make all the Greek letters we use all the time in engineering, math symbols, the lower-case letters, special characters, tiny softkey labels, graphics, etc., without the expensive NRE. My HP-41 can't do any of those. 122x32 has a high enough duty cycle that the contrast is still good, definitely better than the HP-50g's.

Quote:
This sums up to a bare minimum of 731 independent elements. Compared to 32x131 = 4192 pixels in my smallest display suggestion - wow, we've saved a lot! So the HW gurus may decide what's the bottom line benefit of this big saving.

Either way you have to go to an external driver, and once you do that the cost difference between the two solutions borders on zero. It basically comes down to what "look" you prefer.

Dave.

Quote:
I say forget the ARM, forget the custom LCD, and go with an off-the-shelf 122x32 COG LCD with the driver built in. They normally have either an 8-bit parallel interface that can be used in 4-bit or 8-bit mode or an SPI-type four-wire interface (data in, data out, clock, and select). It lets you make all the Greek letters we use all the time in engineering, math symbols, the lower-case letters, special characters, tiny softkey labels, graphics, etc., without the expensive NRE. My HP-41 can't do any of those. 122x32 has a high enough duty cycle that the contrast is still good, definitely better than the HP-50g's.

Those COG displays are great, and if cost wasn't a concern then from a hardware and software point of view you'd have to have a good reason not to go for one.

But unfortunately cost does factor into things in the calculator market.

Dave.

That's why I also have a pocket computer: HP 50g

Quote:
Either way you have to go to an external driver, and once you do that the cost difference between the two solutions borders on zero. It basically comes down to what "look" you prefer.
That's what I guessed but couldn't proof. So I vote for the solution offering the most opportunities :)

Quote:
Those COG displays are great, and if cost wasn't a concern then from a hardware and software point of view you'd have to have a good reason not to go for one.

But unfortunately cost does factor into things in the calculator market.

May I point to my earlier posting, 2nd sentence of 2nd paragraph?

Quote:
That's what I guessed but couldn't proof. So I vote for the solution offering the most opportunities :)

I vote for a Blue Starbust LED display!

Dave.

You may also get 132x32 off the shelf here, for example.

Quote:
It lets you make all the Greek letters we use all the time in engineering ...

Even with a very tiny font you can create a very readable Greek:

The inverted letters are identical to Latin ones. The letters underlined in red are not found in Luiz Vieira's charset.

Edited: 28 Nov 2008, 2:53 a.m.