DMC 40218: anyone using these?

Hi, all.

I found two DMC40218 (40 x 2 characters) amongst some old stuff and they work fine with LiquidCrystal() commands (they are dated 1986; 27 Y.O.!). The data sheet I found about this module (www.datasheet-pdf.com/datasheetdownload.php?id=535216 or HTTP 301 This page has been moved) mentions that it is HD44780 compatible (OKI M6222B-01 7Y26 controller in both), but I just could make it work only with 8-bit data bus, it does not respond to the 4-bit data bus' only configuration. I checked all connections and they seem fine, and I also changed the original code so it could handle the 40 characters and it ran OK, including a full-display scroll left and/or right. I actually tested the jig with at least four other different LCD modules, same Arduino UNO, and they all worked fine (the LCD's were 16 X 2 and I set the code correctly for 16 X 2 characters). Does anyone have any experience with this DMC40218 LCD module? Is there any specific procedure I should follow to initialize it correctly so it works with a 4-bit data bus? I would very much like to use it because of the number of characters it provides, and I actually need to use a small 12-key keyboard with this design. Any ideas? Thanks in advance.

Luiz (Brazil)

As I recall there have been other cases where, when using the LiquidCrystal library, some modules worked in the 8-bit mode but not in the 4-bit mode. Most likely these modules were out-of-spec eBay specials, but they may also have been old, like yours. Some of very early devices had some different timing requirements which may not be incorporated in the LiquidCrystal library.

Also, although the current Liquid Crystal library is a big improvement over the library it replaced several years ago there are some deviations from the recommendations in the Hitachi datasheet.

There is a library that was developed for the 40x4 displays (using dual controllers) that takes care of these problems. To get a copy start here:--> Google Code Archive - Long-term storage for Google Code Project Hosting. and follow the Downloads link to get to the latest version.

Don

Hi, Don.

Thank you very much! I was not aware of these facts, good to know. I1ll download the library & related data and, as soon as I have any news about it, I'll post again.

Cheers!
Luiz (Brazil)

lcvieira_br:
Hi, all.

I found two DMC40218 (40 x 2 characters) amongst some old stuff and they work fine with LiquidCrystal() commands (they are dated 1986; 27 Y.O.!). The data sheet I found about this module (www.datasheet-pdf.com/datasheetdownload.php?id=535216 or HTTP 301 This page has been moved) mentions that it is HD44780 compatible (OKI M6222B-01 7Y26 controller in both), but I just could make it work only with 8-bit data bus, it does not respond to the 4-bit data bus' only configuration. I checked all connections and they seem fine, and I also changed the original code so it could handle the 40 characters and it ran OK, including a full-display scroll left and/or right. I actually tested the jig with at least four other different LCD modules, same Arduino UNO, and they all worked fine (the LCD's were 16 X 2 and I set the code correctly for 16 X 2 characters). Does anyone have any experience with this DMC40218 LCD module? Is there any specific procedure I should follow to initialize it correctly so it works with a 4-bit data bus? I would very much like to use it because of the number of characters it provides, and I actually need to use a small 12-key keyboard with this design. Any ideas? Thanks in advance.

Luiz (Brazil)

I've used the DMC20418 in the past successfully (4 bit mode plus RW). Both Optrex and Kyocera versions work in 4 bit and 8 bit mode. The 4 bit mode, with newer displays, needs RW transitions between half bytes to work.

The only problem I ever ran into is that Optrex versions work great with the contrast ("Vo") pin grounded, while newer ones (made by Kyocera) require about NEGATIVE 3 volts on Vo to work (grounding the pin does not work, nor does, obviously, using a contrast pot).

The attached diagram is my simple Arduino V- generator for those kind of LCD displays.

Hi, Krupski;

Thank you for your interesting solutiuon for the -3.5Vcc. I always tell my students that the best solutions are based in the best concepts, and usually the fundamental ones. A 50% square wave generated in one of the PWM-ready pins - analogWrite (pin, 128) - connected to a rectifier through a decoupling capacitor and we have a new, 'quasi' digital version of a classical inverter. I would had used a 555 running at 4KHz (or more) and, then, rectify its output to obtain the Vee. I must confess I would not consider using a spare pin from the existing ones in the Arduino assy to do so. Thanks again!

I added a picture of the original assembly; in this one, contrast is connected to Vcc and GND, no Vee (-Vcc) available. The assembly is for testing a temperature collection from four points (L1 to L4) and light intensity from one point (LGHT). The little heart is just a sign of system working and will later be used for heart beat monitoring, along with temperature monitoring.

Cheers.
Luiz (Brazil)

Hello Luiz

I have this Dmc-40218 lcd, is by chance you still have a schematic and the code of your project

I am a newbie in the Arduino world and need a lot of explanations and a picture worth 1000 words.

so if you can help me it will be very appreciated.

thanks

Normand

Hi, Normand.

After more than 3 years I got back to the DMC40218 and found that somehow I messed things up back then. It actually works fine with 4-bit data bus (chances are I made mistakes in either or both the code or the connections) so I ended up driving it through an I2C adapter. Please, see the attached picture.

I sent you an e-mail a couple of days ago, but I succeeded connecting the LCD to the I2C module yesterday, so the picture is a fresh one. Please let me know what would be better for you. In any way, I can also post here (just need to know the best place) the pictures and descriptions of how I did it, or create a PDF with that... What suits better. Let me know.

Just to add that the controller in my units is the OKI M6222B chip, OK?

Cheers.
Luiz