51852 voltages look good, but no display


New member

I'm back with a new LCD. I have used this type of interface before and have a few different LCDs working on different projects. Here's a new issue.

I have an LEDBL-51852, which is based on the F-51852. It uses a NJU6676 controller, a very similar setup to the post below entitled "Optrex F-51553 Display Problems".

I am using the serial interface, and that seems to be operational, even though reading the display is disabled when using serial communications. I can tell it is working because when I measure the voltage at Vout, it jumps to -9.9 volts when I send the command to activate the power circuits. Also, when I send the contrast command to change to voltage at V5, I can see the voltage changing, from about -9.5 volts to -9.9 volts.

The problem is that I never see a change on the display. Even though I see the voltage changing on V5, the contrast on the screen doesn't change. Also, I an trying to write different values to the screen memory, but I see nothing on the screen. It looks like all pixels are off, but they might be all on. I've tried sending different setup commands like reversing the common output signals and display polarity.

Here are the voltages I'm reading:

Vout -9.9
V5 -9.9
V4 -8.0
V3 -6.4
V2 +1.8
V1 +2.4
VDD +5.0

One interesting thing is that when the V5 voltage changes, Vout changes also, and reads the same voltage as V5.

Here is the setup code I'm using:

	DISP_RS = 0;	// hard reset
	delayMS( 2 );
	DISP_RS = 1;
	delayMS( 1 );

	LcdCmd( AdcSelectReverse );	// A1
	LcdCmd( CommonOutputNormal );	// C0
	LcdCmd( LcdBias1_9 );			// A2
	LcdCmd( DisplayNormal );		// A6

//	LcdCmd( V5ResistorRatio );		// 26  -- not available on this controller
	LcdCmd( ElectronicVolumeSet );	// 81 -- set evr mode
	LcdCmd( 	0x38 );				// set voltage at pin V5 (contrast)
	LcdCmd( 0xAC );			// static indicator off
	LcdCmd( 0 );
	// i ususally follow this power-up procedure, but this controller says 
        // the first two steps are not necessary. No change either way...
//	LcdCmd( PowerControlSet | BoosterCircuit );
//	delayMS(10);
//	LcdCmd( PowerControlSet | BoosterCircuit | VoltageRegulator );
//	delayMS(10);
	LcdCmd( PowerControlSet | BoosterCircuit | VoltageRegulator | VoltageFollower );
Then I fill the data memory with half ones and half zeros..

	LcdCmd( StartLineSet );                               // 0x40
	for( page=0; page < 8; page++ ) {

		LcdCmd( PageAddressSet + (page) );		// 0xB0
		LcdCmd( ColumnAddressHigh + 0 );		// 0x10	column 0
		LcdCmd( ColumnAddressLow + 0 );		// 0x00	column 0

		for( i=0; i<128; i++ ) {
			LcdData( 0xF0 );		// fill screen with checkers
	LcdCmd( DisplayOn );
Then I loop changing the contrast ratio.

	temp = 0;
	while(1) {

		LcdCmd( ElectronicVolumeSet );	// 81 -- set evr mode
		LcdCmd( temp );			// set voltage at pin V5 (contrast)

		if( ++temp > 0x3F ) {
			temp = 0;
So, I never see any change on the screen. Any ideas please?

Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.


// LcdCmd( V5ResistorRatio ); // 26 -- not available on this controller
If this command is not available, then you can't set the scaling on the V5 voltage, which is normally around -5 or -4.5 volts for good contrast on the Optrex displays. Seems like a deal killer, unless you can use external resistors to set the ratio. Can you post a link to the datasheet for this display?

Edit: just looked at the NJU6676 datasheet (pg 15), and the power diagrams DO show external resistors for setting V5. Do you have it wired that way?


New member
Yes, I do have it wired that way, and I was just thinking that this might be the issue,
that I am using the wrong values there.

I have 1.0Meg ohms between V5 and VR,
and 200K ohms between VR and 5.0 volts.
I saw a similar arrangement in the Epson SED1565 controller sheet, and they had an alternative hookup using a pot between the two resistors. You could try a 1 meg pot in place of the two resistors, and see if any setting gives you some contrast, just to home in on the correct resistor ratio. Set your EVR register to half scale (0x20), and see if you can get -4 to -5 volts at V5.


New member
..here's the latest. I removed the voltage divider resistord and used a 1 meg pot. VR to the wiper, on side to +5V and the other to V5.

The software is running a loop to sweep the contrast level full range.

When the wiper is at 80% ( resistance between VR and V5 ), VR is not moving and sits at about 2.5 volts. V5 is at -10.0 volts.

When I bring the wiper down towards 70%, I see VR start sweeping between +2.5 volts and 0 volts. However, at the same time, V5 starts raising in voltage, and follows the sweep ranging between -7.5 volts and -10.0 volts.

When I bring the wiper below 70%, VR still sweeps between +2.5 volts and 0 volts, and V5 still sweeps but at a higher voltage, ending up at 0 volts when the wiper is below 20%.

So V5 never gets below 0 volts.

I thought the caps I was using were too large at .6uF for V1-V4, so I changed them to .1uF but no change resulted.

Thanks for looking..
V5 is at -10.0 volts.
V5 ... ranging between -7.5 volts and -10.0 volts.

So V5 never gets below 0 volts.:confused:
Obviously, these statements are not all true. You never mentioned whether the screen showed any indication of contrast change.

Try my suggestion from above, and set your EVR register to half scale (0x20), steady (not being swept by software), and see if you can use the pot to get -4 to -5 volts at V5. At that point, you should see some evidence of change in the screen, especially if you have an image pattern written to the display. The value of the caps is not critical, I use 1uF x 5, and 4.7uF x 3 for the Optrex panel.

I am assuming this V5 voltage, based on Optrex displays and Epson controllers. BTW, you never posted a link to data for your display, so I can't see what the Vlcd values are.

From the NJU6676 data sheet (pg12):
(1-8) Reset circuit
The reset circuit initializes the LSI to the following status by using of the reset signal into the RES terminal.

Reset status using the RES terminal:

[B][COLOR="Red"]1. LCD Driver Set off[/COLOR][/B]
2. Display off
3. Normal Display (Non-inverse display)
4. ADC select : Normal mode (D0=0)
5. Power control register clear
6. Serial interface register clear
7. LCD bias select : 1/9 bias
8. Entire display off : Normal mode
9. Read modify write off
10. Static indicator off
11. Initial display line address : (00)H
12. Column address : (00)H
13. Page address : (0) page
14. Common direction register : Normal mode (D3=0)
15. EVR mode off and EVR register : (20)H
I do see the "display on" command in your code, but I don't see any command to turn on the driver (0xE7) in your code.


New member
I'm so sorry for not being clear. I meant VR, not V5.

But that was it! You found it, thank you so much!

I did not send the Driver On command! (0xE7)
Since this command wasn't required on my previous setups, I missed it.

Thank you again, I really appreciate the help.

Is there anything I can do for you?