Low Profile LCD Displays

Go To Last Post
24 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Can anyone recommend a low-profile LCD character display?

2 lines of 16-characters
LED backlight
Green or Blue
Max height above board 6.5mm

I've been prototyping using some I2C interface displays bought here in the UK and distributed by Midas Displays. In the US Newhaven have similar parts. Everything was fine until I took the prototype to the customers site on Friday and the display wouldn't work. I've just swapped in a brand new display and still it's not working. The display code hasn't changed and looking at SCL/SDA with a logic analyser the data on there ties up with the code.

It's possible that the 1st display suffered in transit but the second one? It's shaken my confidence in them a bit. Hence my looking for alternatives.

I'm not worried about the interface type. SPI/I2C/4-bit parallel are all fine but they must be reasonably priced at around £5/$7.5 in 25+ quantities.

And they MUST be low-profile.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

NewHavenDisplays?

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

In the US Newhaven have similar parts.

Quote:

NewHavenDisplays?

Umm.. yes?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have looked at the Newhaven parts but they come it a bit expensive.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Digikey UK show the Newhaven displays as £6.40 for 10-49.
Farnell show the Midas displays as £5.26 for 25

The Midas look fairly thick to me. e.g. 6.4mm
Most COG displays are only 3 or 4 mm thick.

Most electronic goods work 100%.
Is your customer using 3.3V or 5V supply?

Small TFT displays are not very thick.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The Midas display, as you say at 6.4mm, fits perfectly onto the board alongside the tactile switches with everything ending up at the right height to poke through the front panel. And I'm fairly certain I can get it in under a fiver.

The supply rail is not fixed at this stage in the design; it can be either 3v3 or 5v.

It is odd how the display just stopped working and the brand new one doesn't work.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does the I2C interface work ?

Can you alter the internally generated voltages?

Or did the display work ok when you got home ?

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

At the moment I'm sitting here with a blank display on both the original and replacement units.

If I monitor the I2C with a logic analyser right on the display pins I see valid commands to the display and, once it's initialised, I see the display generating ACKs so it looks like the logic side of the ST7032 controller is working.

What's really odd is that the code hasn't changed for several weeks.

So I'm left with...

a) an odd marginal timing - although I've slowed the I2C down to 50kHz with no luck.

b) an odd marginal electrical parameter - ???? To be investigated

c) the original display just 'died' and the replacement was faulty in a similar way?????

d) poltergeists

I'm going to order a couple more displays to double check but it's very very odd. It'll be a shame not to use them as they are so easy to use mechanically when you have to fit a display on the same board as things like switches.

Ho hum. Time for a strong cup of coffee and a hot soldering iron.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
The supply rail is not fixed at this stage in the design; it can be either 3v3 or 5v.
What is it then? 3V3 or 5V?

Does the display mind one way or the other?

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry if I'm asking a stupid question, but it is not merely about adjusting contrast? (since you see correct stuff going on at "the logic level".)

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@js
The display works on either 3v3 or 5v; to run on 3v3 you just need to add an external cap for the on-chip voltage doubler and change a couple of bits in the initialisation. I'm running on 5v at the moment and have it connected as per the datasheet.

@Johan
On these displays the contrast is set in software. It's currently in the middle range position.

But see my next post...

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You can try to make a small program that alows contrast control as you have buttons and such available.

Also what happens if you tap/tick in the display glass. if during transit it has moved or became loose you might by pushing at it make contact again.

or did the cap die for the voltage doubler. The logic probably will work just fine at 3V, but the glass is probably 5V ( hence the need for the doubler when working in 3V mode) so you will not be seeing anything on it if de doubler does not work.

regards

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

continuing my list of things it might be...

e) Bad sample code.

So, I went back to the sample code I found on the Newhaven site, started a fresh project (CVAVR), tweaked the code to use Codevisions own bit-banged I2C library and ran it. And it worked.

Sometimes.

What it's meant to do, and what it appears to do, is...

1) Display text
2) Wait
3) Clear screen
4) Display characters from CGRAM
5) Wait
6) Loop

But if you looks closely it does this...

1) Display characters from CGRAM
2) Wait
(loop occurs here)
3) Display text
4) Wait
5) Clear screen
repeat

In other words the first text writes don't happen.

But, leave it all powered up and it sorts itself out. Change the code, reflash the AVR and it looks like it works fine.

The cause of my problem is a (still to be found) issue with the published initialisation code which was masked by me not power cycling the display between code changes. The display has a reset pin which I'm now going to wire up rather than rely on power-on reset.

Stay tuned....

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you have a real external RESET pin, use it.
If you have a software RESET, use it.

I am very wary of relying on power-on RESET. If you do, make sure that you tie the RESET pin safely. e.g. with external pull-up.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, driving the external RESET pins means it's now reliably broken.

The example code from Newhaven initialises the display twice, with the display doing what it should after the second time.

I'm currently commenting out sections of code until it stops and then adding it back in to isolate what is causing it work.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, it looks far more simple than other LCD controllers. The Sitronix data sheet gives example programs. Most importantly, it explains how to control the voltage generators.

As far as I can see Newhaven only provide 4-bit and Serial examples. Not I2C.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For anyone looking, the Newhaven I2C example is here...

http://www.newhavendisplay.com/a...

And now I know (partly) what's happening it's blindingly obvious(ish).

The power-on reset and hardware resets don't *quite* fully reset the chip and don't quite fully reset it in different ways.

I'm driving from a Tiny4313 where SCL/SDA are also SCK and MOSI. So when I program the AVR there are odd transitions happening on the I2C bus which don't get cleared on a reset.

Give the display an 'I2C Start' and an 'I2C Stop' with no data between and the interface gets resynchronised.

So the sample code, which has two full initialisation calls resyncs the interface on the first call and sets up the chip properly on the second. Hence why it only displayed the second set of data.

I don't quite have it clear in my head why the display stopped working after a power-down but I'd guess that once the display/interface is up-and-running then it doesn't mind the odd transitions.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I may be a little late but an LCD display I like is the Electronic Assembly DOG series:

http://www.lcd-module.com/products/dog.html

They can be powered from either 3.3V or 5.0V. Interface is 4-bit parallel, 8-bit parallel or SPI. Optional backlight (yellow/green, white, blue, amber, red or full color). Maximum height above board with backlight is 3.6mm.

Unfortunately, the price is a little higher than £5/$7.5 in 25+ quantities. The EA DOGM162E-A 16x2 is $8.87 at Mouser and the EA LED55X31-G yellow/green backlight is $2.22 in 50+ quantities.

Don

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks Don, I've put in a price request to my local supplier.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brian Fairchild wrote:
Thanks Don, I've put in a price request to my local supplier.

Too expensive. Even getting them locally they come in at £10.61 each.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Crystalfontz CFAH1602S-YYH-ET
found via their parametric search:
display type = Character
mechanical, depth no bigger than 6.5mm
optics, readability = in Sunlight
Some of their COG OLEDs may work but will be graphic and not be sunlight capable.
These appear to be a common design so there ought to be a UK distributor with something equivalent.

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

NEW, SUPER TINY! Monochrome 128x32 I2C OLED graphic display (Google+, Adafruit Industries)
cons: graphic, white pixels, price is marginal, tax?
pluses: 4mm thick, Arduino code.

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ok, sounds explainable.....

what probably happens is that the LCD sees a whole lot of data passing without ever seeing a start or stop ( from I2C perspective) This might cause it to go into a loop where it will do nothing until a stop condition is seen.
On the other hand how do you initialize the MCU. If you accidentally create a start condition during start-up of the MCU the LCD probably also stops responding until a new stop condition is seen.

So it sounds plausible what is happening.
Strange though that a Hardware reset does not bring the chip into a defined state. I have seen LCD controllers where the software reset did not what was promised, but hardware reset never failed.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I had the same problem but Finally I got it working !

At the Power/ICON/Contrast register I wrote 0x50. nothing appeared. But when I wrote 0x53 (increasing contrast) my text immediately appeared !

Hope this helps for anyone else