Newhaven NHD-C0220AZ-FSW-FTW

raviolidon,
What is your goal/requirement?
Is it to write you own low level LCD code or to just use the LCD as part of some other project?
The reason I ask is because from looking at the datahsheet, the display should work with the
LiquidCrystal library.
If the goal is not to write your own low level code, then, as a few others have mentioned
it would be easier to use the LiquidCrystal library.
Wire it up as noted in the LiquidCrystal example sketch and it should work.

Bring up the IDE and click on:
[File]->[Examples]->[LiquidCrystal]->[HelloWorld]
The code will show up and you can wire up the pins accordingly.

The biggest value of using Arduino, is the ability to take advantage of the many
available libraries.

--- bill

Hi bill (bperrybap)

Thanks for your response, I will definitely take a look at the example! I really hope that I could use it!!! My project is only in the beginning/preliminary stage but in the end I will have 3 of these Displays on the front of a power supply. I have to use this LCD and have to use the 3.3V Pro-mini; there is no room for change here. I have the initialization code (first page) that I wrote by following the datasheets and I do indeed get the correct output (according to my analyzer) I just cant get the LCD to work. I am still playing around with it and will post what I find.

Thank you very much!

With a small battery, you can easily find out if contrast is the issue.

I called Newhaven Display this morning and talked to an application engineer. He said that particular display would be usable at 3V3 and about 0.1V on V5. He also said that to extend the viewing angle you could apply a negative voltage to V5, for example, around -1V with respect to ground.

If the chip on OP's 3.3V Mini-Pro is an ATmega328P-AU like shown on Sparkfun's page, it is rated to 5.5V.

I called Newhaven Display this morning and talked to an application engineer. He said that particular display would be usable at 3V3 and about 0.1V on V5. He also said that to extend the viewing angle you could apply a negative voltage to V5, for example, around -1V with respect to ground.

That's good news and is just what I expected.

Did you happen to remember to ask them the other question, whether we can expect to see a row of blocks on a powered but not properly initialized display?

If the chip on OP's 3.3V Mini-Pro is an ATmega328P-AU like shown on Sparkfun's page, it is rated to 5.5V.

It would be nice to know all of his constraints at once rather than getting them piecemeal. We know that for some reason he has to use an Arduino pro mini but we don't know which one he has. We also don't know if he is limited to running at 3.3V for some other reason. According to the Arduino website (http://arduino.cc/en/Main/ArduinoBoardProMini) there are two versions: "There are two version of the Pro Mini. One runs at 3.3V and 8 MHz, the other at 5V and 16 MHz." and this may be a concern for him.

The 3.3V version runs at 8 MHz because it has to. The 5V version runs at 16 MHz because it can, and this also makes it more compatible with other Arduinos. I doubt that there is any difference in the voltage rating of the components on the two versions so I suspect the 3.3V version can be run at 5V as long as one tells the IDE that it is running at 8 MHz.

Don

Did you happen to remember to ask them the other question, whether we can expect to see a row of blocks on a powered but not properly initialized display?

No. I did not.

OP did say he has a 3.3V Mini-Pro. I don't see why he can't jumper around the regulator and test everything at 5V.

Oops - I forgot about the regulator.

Don

floresta:
Oops - I forgot about the regulator.

Don

Yeah, and I wasn't thinking when said jumper around. Just hook 5V on the Vcc pin on the Mini-Pro with the 3.3V pin open should be safe.

Well it looks like I am at a block. I have not been able to get this display to give me any feedback whatsoever. I have put a 5V supply to it and a 10k pot (also switched the pot out for resistors) and cannot get blocks of anything. I have played with the voltage, played with the resistance, I have tried a few different displays, I have measured the current and resistance, I have spoken to Newhaven engineers and it is supposed to work ????????? Maybe it really does need to be initialized and newhaven doesn't know because they have never tried? They assured me it should work.

It would be nice to know all of his constraints at once rather than getting them piecemeal. We know that for some reason he has to use an Arduino pro mini but we don't know which one he has. We also don't know if he is limited to running at 3.3V for some other reason. According to the Arduino website (http://arduino.cc/en/Main/ArduinoBoardProMini) there are two versions: "There are two version of the Pro Mini. One runs at 3.3V and 8 MHz, the other at 5V and 16 MHz." and this may be a concern for him.

I think you are talking about me, so I will elaborate. I am using the 3.3V 8MHz Pro-Mini and I have to run 3.3V because I am told to do so. There is no way around that. I will be using this Arduino and three of these LCD's to display voltages (from another source) on a power supply (front panel). I have no control over what I was given and so I am trying to make it all work. The reason I posted this message in the beginning was to see if anyone else has ever used this combination and if so could help me on my merry way, but it seems no one has used this combination before.

Thank you all for all of your help and all the brainstorming, I really do appreciate this forum!

raviolidon:
I am using the 3.3V 8MHz Pro-Mini and I have to run 3.3V because I am told to do so. There is no way around that. I will be using this Arduino and three of these LCD's to display voltages (from another source) on a power supply (front panel). I have no control over what I was given and so I am trying to make it all work.

But from your earlier photo, you do have an UNO.
So while the UNO can't be used in the final project/product it could be used to verify if the LCD is working or not.
It would only take a few minutes to hook up the uno to the LCD and run the
"hellworld" LiquidCrystal library example sketch.
This would verify that the LCD is working.

Then, once the display is known to be working, you can go back to your pro-mini environment.

--- bill

bperrybap:

raviolidon:
I am using the 3.3V 8MHz Pro-Mini and I have to run 3.3V because I am told to do so. There is no way around that. I will be using this Arduino and three of these LCD's to display voltages (from another source) on a power supply (front panel). I have no control over what I was given and so I am trying to make it all work.

But from your earlier photo, you do have an UNO.
So while the UNO can't be used in the final project/product it could be used to verify if the LCD is working or not.
It would only take a few minutes to hook up the uno to the LCD and run the
"hellworld" LiquidCrystal library example sketch.
This would verify that the LCD is working.

Then, once the display is known to be working, you can go back to your pro-mini environment.

--- bill

I believe that liudr mentioned something like this before and I certainly agree. By running your device from a 5V UNO you will be removing several variables leaving primarily just the difference between the NT7605 and the HD44780U controllers.

I have put a 5V supply to it and a 10k pot (also switched the pot out for resistors) and cannot get blocks of anything.

We still have not established that you should get a row of blocks from an NT7605 controller. This is the way an HD44780U (and most of the others) responds to being improperly initialized but this controller could be different.

Back in May I requested an evaluation kit from New Haven. I explained that questions about their devices were becoming more common on these forums and that since they differ somewhat from the traditional LCDs it was hard to provide reliable answers. Their response: "You can purchase these right from our website."

Don

Maybe it really does need to be initialized and newhaven doesn't know because they have never tried?

I doubt it.

I have tried no less than 50 - 100 different lcds. All of them can be initialized by the standard HD44780 routine. Some can be initialized by alternative routines. I think it is highly unlikely that NH will provide a lcd that cannot be initialized by the HD44780 routine.

BTW, the LiquidCrystal initialization routine is not in compliance with the HD44780 datasheet.

Maybe it really does need to be initialized and newhaven doesn't know because they have never tried?

I forgot to comment about this.

I think you missed the point. All of the controllers need some sort of initialization but our test that looks for a row of blocks relies on an uninitialized or more accurately an improperly initialized controller.

We know that a two row display using an HD44780 type controller will typically display a single row of blocks when it is not properly initialized. We can guarantee that it will not be properly initialized by simply applying power without also sending it any instructions. So, if you power up such a display and you see a row of blocks then it may be good. If you power up such a display and you do not see a row of blocks then it probably is bad. Since you need the backlight in order to see some of the displays we also suggest powering it as well.

The above test works because the internal reset circuit of an HD44780 type controller configures that controller to deal with a 1-line display. Since the vast majority of displays are 2-line displays (including most of the ones that have a single row of 16 characters) they are automatically improperly initialized and therefore display the blocks. It is quite possible that the internal reset circuit of the controller on the NewHaven display correctly initializes the controller for a 2-line display in which case the row of blocks may very well not show up. That is why we need more information from them.

Don

BTW, the LiquidCrystal initialization routine is not in compliance with the HD44780 datasheet.

Well well - we agree on something!!!

I assume you are talking about the step that turns the display on when it should be turned off.

When Limor (LadyAda) first published her updated library, and before it was incorporated into the Arduino distribution, I pointed out the discrepancy to her and the response was essentially that 'it works so why change it'. AARRGGHH

[Edit]: Or maybe you are talking about accounting for the possibility that the controller clock may be running a lot slower than the nominal value when determining the time delays. I mentioned that to her as well.

Don

Hello! I am writing a follow up on this project. I did after all hook up my UNO and voila! the LCD display works! So it is indeed a big factor that it MUST be a 5V controller for this Display.

But from your earlier photo, you do have an UNO.
So while the UNO can't be used in the final project/product it could be used to verify if the LCD is working or not.
It would only take a few minutes to hook up the uno to the LCD and run the
"hellworld" LiquidCrystal library example sketch.
This would verify that the LCD is working.

I know this sounds strange but if I got caught using anything other than what I was given I would have gotten in trouble (alot of trouble).... I did this one the sly.

I did some research and found the NHD-C0220AA-FSW-FTW which is 3.3V and bought it. I hooked that one up to my original circuit (using the Pro-Mini) and voila again! It works like a charm on the 3.3V pro-mini.

Now, I have the display initialized (yay) and I am indeed writing an 'N' (see my code on page 1). I now have to write some more code and/or experiment with the code that is in the LiquidCrystal library.

Thank you all so much for all your help on this! I love this forum!

Cheers!

Yay!

Hello! I am writing a follow up on this project. I did after all hook up my UNO and voila! the LCD display works!

Please tell us whether or not you get the row of blocks when only using the power and backlight. Do this for each of the displays when each is operating from the appropriate power supply.

Also - If you have the opportunity, would you also test the 5 volt display operating from 3.3 volts using a negative voltage for the contrast. You can obtain this voltage using a small battery. Just disconnect the lower end of the potentiometer from GND and connect it to the (-) terminal of the battery. Connect the (+) terminal of the battery to GND. This will allow you to vary the contrast from positive, through 0v, to negative.

Don

Hello! I am writing a follow up on this project. I did after all hook up my UNO and voila! the LCD display works! ...

I did some research and found the NHD-C0220AA-FSW-FTW which is 3.3V and bought it. I hooked that one up to my original circuit (using the Pro-Mini) and voila again!

Micracles do happen from time to time.

This whole store reminds me of that sparkfun white-on-blue lcd that works under the sun without backlighting - I am still waiting to see a picture of it, :slight_smile:

I have just tried. For the benefit of future readers, yes NHD‐C0220AZ‐FSW‐FTW LCD modules must be initialised before they will display anything. do also note the contrast and VDD pins are swapped (as compared to other LCD modules).