Recent Posts

Pages: 1 [2] 3 4 ... 10
OLEDs / Re: NHD-0216MW-SB3 Font width question
« Last post by Geof Potter on January 16, 2018, 01:32:22 PM »
YES !!!  Your suggestion did indeed solve my problem.
Thanks for the help and for the link. I had not seen that version of initialization routine.

OLEDs / NHD-0420DZW-AY5 to replace NHD-0420DZ-FSW-FBW
« Last post by BenFR30 on January 16, 2018, 08:03:09 AM »

We developp few years ago a board to command a LCD character display (4x20), NHD-0420DZ-FSW-FBW.
It works perfectly.
After some researches, I found NHD-0420DZW-AY5, the OLED characters display.
In the datasheet we can see that is compatible with LCD display, but, when i replace my LCD display with the OLED display, it doesn't work.

Is it this OLED display 100% compatible to replace LCD display, with no firmware modification ?

That is the point i'm searching for.

Many thanks in advance for your feedback, I am stuck :(
OLEDs / Re: NHD-0216MW-SB3 Font width question
« Last post by Saurabh_B on January 15, 2018, 02:22:49 PM »
What you're describing could be caused by how the segments are mapped.

Example Code:

The initialization function, we have the command that sets the SEG Pins Hardware configuration in the middle.
Can you possibly try using 0x00 or 0x10 for the 2nd portion. This remaps the segments so that the full character appears on the same character area.
OLEDs / NHD-0216MW-SB3 Font width question
« Last post by Geof Potter on January 14, 2018, 12:31:17 AM »
We are using an NHD-0216MW-SB3 in a control system for VLF receivers.
I have an apparently working prototype of the control board with all necessary functions of the OLED display operating.
However, the font width comes up as 3 dots instead of 5 (or 6) making the characters unreadable.
DDRAM addresses map onto the display in a repeating manner, i.e. address 0x00, 0x01, etc appear in two locations on the panel.
Since I have multiple modules behaving exactly the same way, I'm assuming the problem is my programming....not the displays.
Any suggestions about the cause of the font width issue, in particular will be appreciated.

OLEDs / Re: NHD-0420CW-AB3-ND Display variables
« Last post by DataL on January 13, 2018, 04:05:57 PM »
Hi Homerjay,

Did you find a solution to your question?

I have found myself in exactly the same boat. It's a steep learning curve!

I haven't tried I2C just yet.
OLEDs / NHD-0420CW-Ax3 Scrolling Text - intended usage?
« Last post by avsa242 on January 13, 2018, 01:28:45 PM »
Hi everyone,

I'm trying to implement the text scrolling functionality of this display/controller in my driver and I have it basically working, but I'm having difficulty determining if I'm really using it correctly.

First, before I started implementing it, I got the impression the number of pixels to scroll was relative, i.e., if I kept issuing a command to scroll 1 pixel, that it would keep scrolling by one more pixel every time, however, it seems that the number of pixels to scroll is an absolute value, i.e., it would shift the display by 1 pixel the same location every time, or if 48 pixels, it'd be the same location every time. I hope this isn't too difficult to understand, but does this sound correct?

Secondly, if I do have the basic understanding correct, then would someone be able to suggest a short example, even pseudocode? Here's a snippet I have right now:
Code: [Select]
    repeat i from 48 to 0
      oled.SetScrollQty (i)
      oled.Position (0, 0)
      oled.Str (string("Scrolling"))
      time.MSleep (30)


    repeat i from 48 to 0
      oled.SetScrollQty (i)
      oled.Position (10, 0)
      oled.Str (string("Scrolling"))
      time.MSleep (30)

This is written in SPIN. repeat used here would be equivalent to a "for (i=0; i < 49; i++)"-loop (and another in the opposite direction) in C. The rest I think should be pretty self-explanatory, except I'll mention that oled.SetScrollQty pokes the us2066 Set Scroll Quantity register (0x80). So the bytes that go out are (0x80 | i). The string "Scrolling" does scroll across the display using this code, but because there is only a maximum of 48 pixels scroll, I have to change the DDRAM address (oled.Position) after the first loop and repeat the process, in order to make it appear that the string is smoothly scrolling across the whole display. This is really where I'm asking for help, and to re-iterate, if I'm even using the functionality the way it's intended (if not, please let me know - I'd rather implement it the way it's intended to be used, at least at first).

Lastly, I'll add I'm currently doing this with double height text disabled, though I've tried it with it enabled as well, with the same results.

Thanks very much!
TFTs / Arduino FTDI_FT801 Library Documentation Issue
« Last post by stumpr84 on January 12, 2018, 01:46:50 PM »
Im not sure if I should post this issue here or on the FTDI website, but I figure someone here can help me.  I am just starting to learn how to program the arduino based NHD-43CTP-shield-N. I have notice that the code used in the examples that come with the FTDI_FT801 gethub library is quite different from the code in FT800 Programmer guide. For example, all code in the examples use FTImpl. before all commands but this is not documented in the programmer guide nor is it explained in the library.  For that mater from what I can see there is no documentation in the library that explains what is actually used vs what is documented in Programmer guide.  Another example of code that is used in the examples, but isnt mentioned in the programmers guide is the "FTImpl.Read()" command.  What is in the guide is the "rdxx()" command (xx is 8, 16 or 32 bit read).  There are numerous examples of that, more than I care to document here.  Is there any documentation out there that documents the actual command structure that is used in the examples?  I understand that what is used in the examples is based on what is documented in the guide, but when that code goes beyond what is in the guide and there is not documentation of what it does it is very difficult for beginners like me to learn.       
OLEDs / NHD-2.23-12832UCY3
« Last post by joegangi on January 10, 2018, 04:11:56 PM »
I am using the NHD-2.23-12832UCY3 in a new product design. I am using the SPI interface. I tried using the prescribed initialization sequence for the SSD1305 as prescribed on page 13 of this product's data sheet. When this sequence is executed nothing shows on the display. I found that all I have to do to get the display to operate in an acceptable manner is to pulse the hardware reset line (16) low, then send the Set Display On Normal command ( op code 0xAF). After this I can load data into RAM and the corresponding image shows on the display. With the possible exception that it might be upside down (there is no indication in the 12832UC data sheet as to which way is "UP" on this display.

What is the purpose of the elaborate initialization sequence given on page 13 if the display can be enabled so simply as resetting it and issuing the 0xAF command?

A further problem I am  experiencing is that the display reacts to the Contrast command ( 0x81) by dimming and brightening as the associated contrast value is changed. However, the display does not react to the Brightness Command (0x82) at all. Is this somehow related to my "abbreviated" initialization sequence?

A related question: What is "contrast" in an OLED display? Is it the ratio of brightness of an  ON pixel vs an OFF pixel? Or, is it a ratio of brightness of an ON pixel vs the optical background of the display field?

OLEDs / Re: NHD-0420CW-Ax3 Driver (w/demo) written for Parallax P8X32A/Propeller MCU
« Last post by Paul_B on January 09, 2018, 04:48:45 PM »
Hey Jesse,

Thanks for sharing your demo code, it will definitely help others  8)
OLEDs / NHD-2.23-12832UCB3 OLED & Values
« Last post by BalajiNP on January 09, 2018, 06:32:57 AM »
Here, built-in Controller is: SSD1305. The driver parameters are:

- solomon,height: Height in pixel of the screen driven by the controller
- solomon,width: Width in pixel of the screen driven by the controller
- solomon,page-offset: Offset of pages (band of 8 pixels) that the screen is
    mapped to.
- solomon,com-seq: Display uses sequential COM pin configuration
  - solomon,com-lrremap: Display uses left-right COM pin remap
  - solomon,com-invdir: Display uses inverted COM pin scan direction
  - solomon,com-offset: Number of the COM pin wired to the first display line
  - solomon,prechargep1: Length of deselect period (phase 1) in clock cycles.
  - solomon,prechargep2: Length of precharge period (phase 2) in clock cycles.
                         This needs to be the higher, the higher the capacitance
                         of the OLED's pixels is

How to derive the above fields? Sample values:

solomon,height = <32>;
solomon,width = <128>;
solomon,page-offset = <0>;
solomon,com-lrremap = true;
solomon,com-invdir = true;
solomon,com-offset = <32>;

The other fields:

solomon,com-seq = false
solomon,prechargep1 = 2
solomon,prechargep2 = 2

are these values correct? Please review it.

Pages: 1 [2] 3 4 ... 10