HD44780 with Due

Hi, everyone!

I'm having some trouble using a Due with this https://www.sparkfun.com/products/9052 16x2 display.

I'm confident in my wiring. I was under the assumption that since the Due and this display both operate at 3.3v, there should be no issue. However, I'm having a heck of a time getting anything to display. I'm wondering if, perhaps, the Due is operating too fast for the display. I'm only using the LiquidCrystal library from the IDE, nothing fancy.

Has anyone else had trouble with this display and/or interfacing with the Arduino Due?

Thanks!

I would start by reading the following post: http://forum.arduino.cc/index.php?topic=182455.msg1351764#msg1351764 To add to #2, if you don't have a pot, hook up the Vo pin to GND, it should set the contrast to the highest possible value which will ensure that something is displayed on the screen.

... hook up the Vo pin to GND, it should set the contrast to the highest possible value ...

Not necessarily. He may need to go with a negative voltage on Vo to get a display.

Don

As far as I know, these LCDs usually use 0 - VDD range for contrast.

Hi,
I only started playing with my Uno a few days ago but getting an LCD up and running was very easy, I had used them before with the Picaxe and find that if you do use a pot of almost any value 1K-20K it’s always down towards the ground end. This gives me good contrast, well too much really!! but at least you can read it.

I only changed to an Arduino because the Picaxe has limited maths and a rather poor basic programming system, but I am finding C a bit of an uphill struggle, and leaning from my mistakes.

Here’s a picture of my last buggy, that I am training on! An homemade Picaxe shield fitted on top, not the UNO is doing the job, well will do soon.

Regards
Mel.

As far as I know, [u]these LCDs[/u] usually use 0 - VDD range for contrast.

When you say 'these LCDs' do you mean LCDs running at 3.3v?

Don

Does it matter? The Vo pin is provided by the controller AFAIK, thus you should see VDD level voltage on that pin if you test it with a multimeter. Also since all of the text displays (HD44780 compatibles) I looked at gives the best contrast at close 0v, your VDD level doesn't really matter.

The Vo pin is provided by the controller AFAIK, thus you should see VDD level voltage on that pin if you test it with a multimeter.

No. The Vdd pin powers the controller, the Vo pin powers the LCD. You must provide voltage to the Vo pin, the voltage that appears there is not provided by the controller.

I looked at gives the best contrast at close 0v, your VDD level doesn't really matter.

It really does matter since the voltage required at Vo is specified with respect to Vdd, not GND. Typically the 'LCD driving voltage' (Vdd-Vo) is specified as 4.5v which would put it at 0.5v above GND when Vdd is 5v. It's only close to 0v when Vdd is 5v, it could be below 0v if Vdd is less than 5v.

Don

How can you achieve a negative voltage when all of what you have to “play with” is 0v (GND) and 3.3v (VDD)?
Either way, if you look at the datasheet of that specific LCD module, you will see that they suggest using the standard voltage divider pot.

I guess you haven't dealt with a GLCD or with an extended temperature Character mode LCD both of which usually require a negative Vo with respect to GND. In the case of the GLCDs there is frequently a negative supply available on pin 18. For the extended temperature LCDs you must provide a second power supply.

I suspect that the LCDs that are designed to operate from 3.3v require a lower LCD driving voltage as well in which case the standard voltage divider arrangement will work. If the required LCD driving voltage is at the upper end of it's specified range, or if it is out of spec as I expect a lot of eBay devices are, then all bets are off.

Don

Yeah, I haven't dealt with extended temperature displays. And I know about GLCDs using negative voltage. We're discussing this specific screen :)

Thanks, everyone, for the input. My main question, though, was in regard to whether the Due had any known issues with the LiquidCrystal library.

In any case, the issue turns out to not have been related to the Due, the library, or my wiring. Apparently, the LCD itself is connected to the board by nothing more than flush contact between some exposed pads. In my case, the contacts were not making good contact. The solution, it turns out, was to apply a little extra downward force on the retaining bracket and bend the mounting tabs on the rear of the board to hold it in place.

Again, thanks for the loads of replies!