NHD-3.12-25664UCB2 dim display with banding?
I have a NHD-3.12-25664UCB2-ND which I am trying to use via 4wireSPI with an Arduino.
I have set the system up using the "checkerboard example" (https://github.com/MartyMacGyver/OLED_SSD1322/blob/master/Arduino/SSD1322_NHD_256x64_mono_demo/SSD1322_NHD_256x64_mono_demo.ino) and settings taken from your NHD-3.12-25664UCY2 flickering post / datasheet p12 (https://support.newhavendisplay.com/hc/en-us/community/posts/10850148940823-NHD-3-12-25664UCY2-flickering).
When I run the code the communications seem fine - at least the screen turns on/off with the commands as expected.
The problem seems to be when writing pixels to the screen. Initially it seems fine the first rows of pixels appear brightly. However, they then quickly dim and by the time the it is on around the 20th row it fades away and the screen is almost black. There is also a lot of horizontal banding with the display dimming as you do down (see image). I thought it could be a problem with the PSU, so am now using a 3.3V 2Amp to ensure it is powerful enough.
Do you have any idea what is wrong - or can you point me to other working Arduino projects.
Many thanks
[attachment deleted by admin]
-
Hello Ed,
Are you possible able to turn on every single pixel on the display? To do this you would need to send all 0XFFs tot he display.0 -
NHD-3.12-25664UCB2 Supply Voltage 3.3V Max
I hope you are not running the display without proper voltage level shifter in case of Arduino UNO 5v device.
I suggest checking out the u8glib library by Olikraus
olikraus/u8glib https://github.com/olikraus/u8glib/wiki
Supported Devices
SSD1306, 128x64
SSD1306, 128x32
SSD1306, 64x48
SSD1309, 128x64
SSD1322, 256x64 <-------- NHD-3.12-25664UCB2
SSD1325, 128x64
SSD1327, 96x96
SH1106, 128x64
UC1601, 128x32
UC1608, 240x64
UC1610, 160x104
UC1611, 240x64
UC1611, 240x128
UC1701, 128x64
UC1701, 102x64
ST7565, 128x64
ST7565, 128x32
ST7920, 128x64
ST7920, 192x32
ST7920, 202x32
LD7032, 60x32
PCD8544, 84x48
TLS8204 , 84x48
PCF8812 , 96x65
KS0108 , 128x64
T6963, 128x64
T6963, 128x128
T6963, 240x64
T6963, 240x128
SBN1661, 122x32
LC7981, 160x80
LC7981, 240x64
LC7981, 240x128
LC7981, 320x64
SSD1351
HT1632, 24x16
Flipdisk, 28x14
Virtual Screen Device0 -
Thanks for the replies
I have changed the program to start at line 32 and fill the lower half of the screen. All the pixels are filled/accessibe, but again the display dims visibly as you go down and there is some horizontal banding.
If I send FF to all the pixels then it seems to work, but the display is very dark and it is difficult to tell.
I also increased the delay after the turn display on command (A5h) and horizontal lines were obviously present.
Finally! I tried writing a couple of lines in the top half followed by lines in the lower half. This worked, however the initial 2 lines were BRIGHT (what I would imagine is normal), as more pixels are drawn then the display gets dimmer and dimmer - it almost looks like as there is something wrong with the psu, and if too many pixels are illuminated then the banding appears or it turns black. Is there any test that would show the psu is OK. Using a voltmeter on pins 1 and 2 it sits at 3.28V all the time.Thanks also to the link to the /u8glib library - I'll give it ago.
Regards, Edwin0 -
Along with pins 1 and 2, you want to make sure you are not using 5V logic with these displays.
This could cause damage over time and greatly decrease the life of the display.
With an Arduino i would recommend switching out the voltage regulator to provide 3.3V through from the whole device.
The 3.3V output from an arduino does have a limit to how much current it could supply.
The typical output from that pin will provide about 30 mA, the display with 50% of the pixels on will require 170 mA.
This will result in a display that is much dimmer.0 -
I tried the u8glib library over the weekend. The graphicsTest example on the face-of-it looks good. However, if I increase the size of the rectangle to almost fill the screen (line 151), then the rectangle dims and and the horizontal bands reappear.
Just to confirm I am running the display with a 3.3V psu and changing the voltage level from the UNO
Regards0 -
Would it be possible to see how much current the display is drawing?
If you get a few bright lines that dim as you show more on the display sounds like you might not have enough current provided to the display.0 -
I made a measurement.
With 2 bright lines at the top it draws 8mA.
Then as the lower half is filled the current increases to 8 then 10 mA.
With the command to turn the entire screen on it rises to just 11mA.
This was measured with a large desktop suppy set at a mak of 5Amps..
This sounds to little - other users seem to be quoting figures upto 170mA.....
Ok - so I have now moved the cables around and the display is fine - the flickering is gone and . The problems seems to be due to bad contact on the breadboard - I guess the combination of large pins soldered to the display opening up the tracks and narrow pins on the jumper leads don't work well together when higher current is needed!
Thanks for all your help, regards, Edwin0
Please sign in to leave a comment.
Comments
7 comments