Recent Posts

Pages: 1 [2] 3 4 ... 10
TFTs / Filling with blue yields flashing white screen (NHD-2.4-240320CF-CSXN#-F)
« Last post by asfarley on December 07, 2018, 10:47:27 AM »

We're using NHD-2.4-240320CF-CSXN#-F on a new product. I'm just getting started writing the basic driver.

I'm experimenting with writing solid R/G/B blocks to the screen, and I've noticed a few strange effects:

 * If I fill the entire screen with red or green, it works as expected; if I attempt to fill the entire screen with blue in one shot, the end result is a flashing white image
 * If I fill the screen incrementally with blue (in full-screen-width, 10-pixel-high blocks, step-by-step) then the screen appears completely blue, as expected
 * If I fill the screen with blocks in the order R/G/B (1/3 of the screen is red, 1/3 is green, 1/3 is blue) then I get the flashing-white-screen effect
 * If I fill in the order B/G/R, then I get the correct image
 * Most of the time, while the write operation is in progress, the entire image flashes white
 * I have seen some instances where the screen did not flash white between write operations; not sure what was different in that scenario

Are these phenomena familiar to anyone here?

It feels a bit like blue pixels consume more power, and I'm running into a power-stability issue by setting the entire image blue in one-shot, whereas maybe incremently updating to a 100%-blue image is easier on the power supply. Is that possible? Or is something else going on here?
OLEDs / Re: NHD-0216MW-IB3 Command Decoder
« Last post by BumpSplat on December 06, 2018, 07:59:54 PM »
Thanks for the help, I stepped away from the problem (used the display primitively) and am looking at it again.  So, I can see the commands used to set the flags; what about the D/C# and R/W# bits?  How do I map the command? I can see a nibble from d7 to d0, that's straight forward.  The other bits though...


TFTs / Re: NHD-3.5-320240MF-ASXV#-CTP Increase touch sensitivity
« Last post by Ted_M on December 03, 2018, 10:46:33 AM »
Hi pekka.k,

The default values for the FT-5x16 controller are different than the FT5x06 so the value range will be different.
Please refer to the FT5x16 controller register data for more details:
Let us know what values were working to get the proper sensitivity on the FT5x06 and the new value range you have tried.

Best Regards,
TFTs / NHD-3.5-320240MF-ASXV#-CTP Increase touch sensitivity
« Last post by pekka.k on December 03, 2018, 08:27:23 AM »

We have purchased NHD-3.5-320240MF-ASXV#-CTP displays to our product where we need to use 2mm protective glass on front of display
The problem is I can't change sensitivity in FT-5x16 touch controller used in this version (0318)
It worked with FTx06 in older versions of display

Write to Address 80h and 81h worked fine in FTx06 but in FTx16 there is no change in sensitivity
Am I missing something?

Thanks in advance for any help

OLEDs / NHD-0420DZW-AY5 - Line3 and 4 reversed right and left.
« Last post by cloudtree99 on December 03, 2018, 12:12:32 AM »
Display:    NHD-0420DZW-AY5

Interface : parallel 4-bit mode

Usage:     Clear display and display text using Arduino Mega 2560. Nothing more complicated than that.

Problem :
Line 3 and 4's characters reversed  right and left.
please see below link image.

here's my arduino source code.
Code: [Select]
#include <LiquidCrystal.h>

LiquidCrystal lcd(30, 32, 5, 4, 3, 2);  // RS connected to Arduino digital pin 30

                                        // E  connected to Arduino digital pin 32

                                        // R/W connected to Ground

                                        // DB4 connected to Arduino digital pin 5

                                        // DB5 connected to Arduino digital pin 4

                                        // DB6 connected to Arduino digital pin 3

                                        // DB7 connected to Arduino digital pin 2

void setup()


  lcd.begin(20, 4);                      // 20 columns, 4 rows


void loop()

  lcd.clear();                          //clear LCD and set cursor for upper-left corner

  lcd.setCursor(0,0);                   //set cursor for column 0, row 0

  lcd.print("     Hello World    ");

  lcd.setCursor(0,1);                   //set cursor for column 0, row 1

  lcd.print(" New Heaven Display ");

  lcd.setCursor(0,2);                   //set cursor for column 0, row 2

  lcd.print("     Hello World    ");

  lcd.setCursor(0,3);                   //set cursor for column 0, row 3

  lcd.print(" New Heaven Display ");

  delay(1000);                          //delay for 1000ms (1 second)


why this happend?? Waht can I do something for solve this problem?
Graphic LCDs / Re: NHD-C160100DiZ-FSW-FBW won't display anything
« Last post by Georgekhan on December 02, 2018, 03:25:06 AM »
have you got the solution or not ?
Dear Sirs,
When try to display a sample BMP image (for example: 2_4_240320CF_0.bmp), an image data is written twice in vetical(320) direction (like only even address of memory) and an upper half of an image is displayed like a missing teeth in Y direction.
Could anyone let me know what is going on and how to fix it.

Firmware verion of NHDev Development Board: 2.10
Sample BMP images are downloaded from NH Display.
OLEDs / Re: Blinking Double Height Font NHD-0216CW
« Last post by Alee_S on November 28, 2018, 12:51:53 PM »
Hi Matthew,

Unfortunately, the display is not capable of having one side or portion of the display have a blinking effect, while leaving the other side alone. However, we can manipulate the commands and delays to help simulate this effect.

I would recommend adding a command in the display function, similar to how you've written, that writes to the DDRAM address as follows:
0x00:    'Test:       '
This allows you to have the data text you want displayed at all times.

Then, you can incorporate two commands in the loop function, also similar to how you've written, that also write to a DDRAM address that is on the right side of the display. For example:
0x08:   '    '
0x08:   'ON'
By writing those two commands to the same memory address in the loop function, you are overwriting that memory location every so often, which can help create the blinking effect, without having to manually re-write to the display each time.

I would also make sure the delay, for right after the data is latched, is set at most 1 millisecond. Anything over that, and it may not resemble the blinking effect you are looking for.

I have attached some screenshots of code that work for an Arduino Uno, based on my recommendations above, that may help paint a clearer picture.

Hope this helps!

OLEDs / Re: How to reset NHD-0216SZW-BY5?
« Last post by Alee_S on November 28, 2018, 12:45:43 PM »
Unfortunately, the controller in NHD-0216SZW-BY5 is not as similar to the controllers a_horst listed, in that it doesn't have an internal reset counter that resets memory address's to its original location.

The initialization sequence will run anytime the display is reset, so in order to reset the DDRAM address to the original location, it must have the clear screen and return home command at the end of the initialization sequence.

Including those commands should hopefully solve these issues. If something is still wrong, please let us know.
Character LCDs / Re: NHD-0216S3Z-FL-GBW-V3 Cannot Use I2C To Change I2C Address
« Last post by Ted_M on November 26, 2018, 04:06:42 PM »
Hi billtrib,

The I2C address can be changed to any 8-bit value by command function, with the exception that the LSB (least significant bit) must always be 0. Once the I2C address has
been changed, it will be saved in the system memory, and it will revert back to the default address if either RS232 or the SPI protocol is selected.
Also, if that is not the issue, then try lowering the I2C clock rate to 50Khz and try again.

Best Regards,
Pages: 1 [2] 3 4 ... 10