The Museum of HP Calculators

HP Forum Archive 18

[ Return to Index | Top of Index ]

Atmel ARM7 LCD driver
Message #1 Posted by Michele Signorini on 24 Nov 2008, 3:13 a.m.

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!

      
Re: Atmel ARM7 LCD driver
Message #2 Posted by Marcus von Cube, Germany on 24 Nov 2008, 4:17 a.m.,
in response to message #1 by Michele Signorini

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

            
Re: Atmel ARM7 LCD driver
Message #3 Posted by Walter B on 24 Nov 2008, 6:25 a.m.,
in response to message #2 by Marcus von Cube, Germany

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.

                  
Re: Atmel ARM7 LCD driver
Message #4 Posted by Michele Signorini on 24 Nov 2008, 8:00 a.m.,
in response to message #3 by Walter B

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

                        
Re: Atmel ARM7 LCD driver
Message #5 Posted by Walter B on 24 Nov 2008, 8:52 a.m.,
in response to message #4 by Michele Signorini

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.

                              
Re: Atmel ARM7 LCD driver
Message #6 Posted by Jeff O. on 24 Nov 2008, 9:25 a.m.,
in response to message #5 by Walter B

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.

            
Re: Atmel ARM7 LCD driver
Message #7 Posted by Michele Signorini on 24 Nov 2008, 7:41 a.m.,
in response to message #2 by Marcus von Cube, Germany

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

About the independent segments:

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

      
Re: Atmel ARM7 LCD driver
Message #8 Posted by Jeff O. on 24 Nov 2008, 7:52 a.m.,
in response to message #1 by Michele Signorini

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

this:

instead of this:

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

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

      
Re: Atmel ARM7 LCD driver
Message #9 Posted by cyrille de Brébisson on 24 Nov 2008, 8:47 a.m.,
in response to message #1 by Michele Signorini

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

            
NEWSPRINT HP PRINTER
Message #10 Posted by designnut on 24 Nov 2008, 11:40 a.m.,
in response to message #9 by cyrille de Brébisson

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.

            
Re: Atmel ARM7 LCD driver
Message #11 Posted by Michele Signorini on 26 Nov 2008, 5:31 a.m.,
in response to message #9 by cyrille de Brébisson

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

                  
Re: Atmel ARM7 LCD driver
Message #12 Posted by Garth Wilson on 26 Nov 2008, 11:33 a.m.,
in response to message #11 by Michele Signorini

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.
                        
Segmented vs Dot Matrix
Message #13 Posted by DaveJ on 26 Nov 2008, 9:09 p.m.,
in response to message #12 by Garth Wilson

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.

                              
Re: Segmented vs Dot Matrix
Message #14 Posted by Walter B on 27 Nov 2008, 1:50 a.m.,
in response to message #13 by DaveJ

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.

                                    
Re: Segmented vs Dot Matrix
Message #15 Posted by Marcus von Cube, Germany on 27 Nov 2008, 2:52 a.m.,
in response to message #14 by Walter B

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.

                                    
Re: Segmented vs Dot Matrix
Message #16 Posted by Garth Wilson on 27 Nov 2008, 2:56 a.m.,
in response to message #14 by Walter B

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.

                                          
Re: Segmented vs Dot Matrix
Message #17 Posted by DaveJ on 27 Nov 2008, 3:53 a.m.,
in response to message #16 by Garth Wilson

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.

                                                
Re: Segmented vs Dot Matrix
Message #18 Posted by V-PN on 27 Nov 2008, 3:55 a.m.,
in response to message #17 by DaveJ

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

                                                
Re: Segmented vs Dot Matrix
Message #19 Posted by Walter B on 27 Nov 2008, 4:42 a.m.,
in response to message #17 by DaveJ

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?
                                          
Re: Segmented vs Dot Matrix
Message #20 Posted by Walter B on 27 Nov 2008, 10:12 a.m.,
in response to message #16 by Garth Wilson

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

                                          
Re: Segmented vs Dot Matrix
Message #21 Posted by Walter B on 27 Nov 2008, 3:27 p.m.,
in response to message #16 by Garth Wilson

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.

                                    
Re: Segmented vs Dot Matrix
Message #22 Posted by DaveJ on 27 Nov 2008, 3:48 a.m.,
in response to message #14 by Walter B

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.

                                          
Re: Segmented vs Dot Matrix
Message #23 Posted by Walter B on 27 Nov 2008, 4:31 a.m.,
in response to message #22 by DaveJ

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 :)
                                                
Re: Segmented vs Dot Matrix
Message #24 Posted by DaveJ on 27 Nov 2008, 5:51 a.m.,
in response to message #23 by Walter B

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.

      
Re: Atmel ARM7 LCD driver
Message #25 Posted by Fred Bayer on 24 Nov 2008, 9:28 p.m.,
in response to message #1 by Michele Signorini

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

            
Re: Atmel ARM7 LCD driver
Message #26 Posted by Walter B on 25 Nov 2008, 12:28 a.m.,
in response to message #25 by Fred Bayer

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

                  
Re: Atmel ARM7 LCD driver
Message #27 Posted by V-PN on 25 Nov 2008, 8:48 a.m.,
in response to message #26 by Walter B

and that HP-42 with more segments than 400

                        
Re: Atmel ARM7 LCD driver
Message #28 Posted by Walter B on 25 Nov 2008, 10:01 a.m.,
in response to message #27 by V-PN

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

                              
Re: Atmel ARM7 LCD driver
Message #29 Posted by V-PN on 25 Nov 2008, 12:34 p.m.,
in response to message #28 by Walter B

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

                              
Re: Atmel ARM7 LCD driver
Message #30 Posted by Reth on 25 Nov 2008, 5:01 p.m.,
in response to message #28 by Walter B

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

                                    
Re: Atmel ARM7 LCD driver
Message #31 Posted by Walter B on 25 Nov 2008, 5:31 p.m.,
in response to message #30 by 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.

                                          
Re: Atmel ARM7 LCD driver
Message #32 Posted by Reth on 25 Nov 2008, 6:14 p.m.,
in response to message #31 by Walter B

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

                                          
Sigma+ vs. R/S amongst number keys
Message #33 Posted by Karl Schneider on 25 Nov 2008, 11:09 p.m.,
in response to message #31 by Walter B

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

                                                
Re: Sigma+ vs. R/S amongst number keys
Message #34 Posted by Patrick Rendulic on 26 Nov 2008, 1:12 a.m.,
in response to message #33 by Karl Schneider

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.

                                                
Re: Sigma+ vs. R/S amongst number keys
Message #35 Posted by Walter B on 26 Nov 2008, 1:56 a.m.,
in response to message #33 by Karl Schneider

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.

                                                      
Re: Sigma+ vs. R/S amongst number keys
Message #36 Posted by Reth on 26 Nov 2008, 2:59 a.m.,
in response to message #35 by Walter B

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


[ Return to Index | Top of Index ]

Go back to the main exhibit hall