OLED Rocker
All Rights Reserved Worldwide
NKK Switches makes no warranty for the use of these products and assumes no responsibility for any errors which may appear in this document, nor does it make a commitment to update the information contained herein. SmartDisplay is a trademark of NKK Switches.
General Information
Section titled “General Information”The application notes should be used in conjunction with the OLED Rocker datasheet which has the timing diagrams for the power up and the communication.
Part Numbers
Section titled “Part Numbers”The following is a list of the OLED Rocker part numbers and its associated hardware.
PN | Description |
---|---|
IS18WWC1W | |
AT715 | Cable to connect OLED Rocker to controller. |
AT097 | Connector. PCB mount for controllers. |
IS-CHPMP | Charge pump. Input 2.7 to 5.5V. Output 16V. |
IS-ENG-KIT-8-R | Engineering Development Kit. |
IS18WWC1W-K | OLED Rocker design kit. Includes one each of the following: IS18WWC1W, AT715, AT097, IS-CHPMP. |
Pin-outs
Section titled “Pin-outs”The following are the pinouts for the OLED Rocker:
Pin | Symbol | Pin Name | Function |
---|---|---|---|
1 | VDDA | Logic Type Power Source | Power source for logic (2.4V to 3.5V). |
2 | XRES | Reset | Reset the OLED module. |
3 | XCS | Chip Select | Select the OLED module. This pin should be pulled down for the duration of the command/parameter package. |
4 | A0 | Address | Data/command select. The pin is pulled low for transmitting the command byte. The pin is pulled high for transmitting the command parameter. |
5 | SCL | Serial Clock | Clock for SPI communication. Maximum 10MHZ. |
6 | SI | Serial Data Input | Data for SPI communication. |
7 | VSS | Ground | |
8 | VAH | Drive Type Power Source | Supply voltage for OLED (14.5V to 15.5V) |
9 | SW1 | Switch Terminal 1 | Top Switch |
10 | SW2 | Switch Terminal 2 | Middle Switch |
11 | SW3 | Switch Terminal 3 | Bottom Switch |
12 | SW_COM | Switch Common Terminal | Switch Common |
Switches
Section titled “Switches”The OLED Rocker has three pushbutton switches. One side of each pushbutton switch is connected to pin 12 (SW-COM). The switches are normally open. Pressing the top of the display connects pin 9 to pin 12, pressing the middle of the display connects pin 10 to pin 12 and pressing the bottom of the display connects pin 11 to pin 12.
The switches can be scanned by connecting the SW_COM to Ground and the other pins to a micro- controller. For a matrix of switches, many different methods can be used for scanning.
It is possible to actuate both the top and middle switches by pressing halfway between the two switches. This is also true for pressing halfway between the middle and bottom switches. Accidental two switch actuation can be resolved by firmware. For example, if the top and bottom switches are used to cycle between different options, and the middle switch is used for selecting an option, either of the following firmware solutions can alleviate inadvertent actuations:
- Have the user reconfirm the selection.
- When scanning the switches, ignore the middle switch press if two switches are pressed at the same time.
Overview of How to Control the OLED Rocker
Section titled “Overview of How to Control the OLED Rocker”The OLED Rocker comes with a controller onboard. The onboard controller is an intelligent controller with many features such as:
- Memory for a single image.
- Communication via SPI.
- Handling the refresh of the OLED.
- 16 levels of brightness control.
Two voltage levels are required for the OLED Rocker: logic voltage and OLED voltage. To control the OLED Rocker, the following steps must be followed:
- Follow the power up sequence so the onboard controller boots up properly first before the OLED voltage is supplied.
- Transmit commands for initialization. Many of these commands are specific to the OLED display and the connection to the onboard controller. Any changes could cause damage to the OLED display. Some of the initialization commands have user defined features and can be modified as desired.
Upon completion of the above steps, the content of the internal memory gets displayed. Any image data transmitted to the memory gets displayed until a new image is transmitted. An animation is achieved by transmitting images consequently at the desired speed.
OLED Voltage VCC (15V) Requirements
Section titled “OLED Voltage VCC (15V) Requirements”Design considerations for OLED voltage:
- The recommended OLED voltage is 15V.
- Must conform to power up/down requirements. On power up, the logic level is applied before the OLED voltage is enabled. On power down, the OLED voltage is disabled with or before the logic voltage.
- As each pixel row of the display is refreshed, the current can swing from a few micro amps up to a maximum of 13mA depending on the number of pixels ON. If the voltage fluctuates due to the current swing, it will affect the quality of the display.
- Many manufacturers offer voltage booster IC chips specifically designed to produce OLED level voltage from logic level voltage. These voltage booster IC chips are very efficient and meet the entire power requirements for the OLED display.
- For use in prototype stages, NKK Switches can supply a charge pump. It provides more than 20mA at 16V output from 2.4V to 5.5V input. It has a shutdown pin to activate/disable. It provides enough current for up to two OLED Rockers. The charge pump part number is IS-CHPMP, and specifications can be downloaded from our website.
Communication to OLED Rocker
Section titled “Communication to OLED Rocker”Four control lines are used for communication:
The data is transmitted using clock (SCL) and data (SI). One bit of data is received on each rising of the clock signal. The normal state of the clock can be high or low. Each eight bits of data received make a byte. The first bit transmitted for each byte is received as the highest bit of the bytes.
OLED Commands
Section titled “OLED Commands”All the commands are one byte. All the commands have a one- or two-byte parameter except the reset command and the command for writing the image data. The command parameter for writing image data has 768 bytes (based on the selected download window). All the commands and associated parameters are listed in the following sections.
Communication Protocol
Section titled “Communication Protocol”When the select line (XCS) is high, clock and data are ignored. To start the communication, the OLED Rocker must be selected by setting the XCS line low. The AO line should be set low for transmitting the command byte and set high for transmitting the parameter bytes. The XCS line should be set high after command and parameter bytes are transmitted.
Memory
Section titled “Memory”The onboard OLED Rocker controller memory size is 16 bytes (128 bits) x 64. The display size is 96 bits x 64 where initialization sets the memory for the image as shown in green. The additional memory area shown in blue is provided for scrolling. Scrolling will be discussed in a later section.
OLED Rocker onboard memory map
Command for Writing Image Data
Section titled “Command for Writing Image Data”The command for writing the image data is 08H. The number of parameter bytes depends on the download window selected. The download window is selected with other commands. The initialization has selected the green part of memory as the download window (picture above), so the parameter has 768 bytes. This data is for one display image. The order of transmitting an image is described in the table below. The most significant bit of the first byte is displayed on the top left corner pixel of the display, and the least significant bit of the 768th byte is displayed on the bottom right corner pixel of the display.
Byte | Description |
---|---|
1–12 | First line of image |
13–24 | Second line of image |
… | … |
745–756 | 63rd line of image |
757–768 | 64th line of image |
Sample Schematic for Multi-Rocker Controller
Section titled “Sample Schematic for Multi-Rocker Controller”Below is a schematic to control two OLED Rockers. The charge pump produces OLED voltage. R1 is needed if upon power up it takes the microcontroller too long to disable the charge pump by setting the P1 to low.
Schematic for controlling two OLED Rockers
Additionally, please see the Engineering Kits for OLED for an example schematic on how to control one rocker.
How to Control the OLED Rocker
Section titled “How to Control the OLED Rocker”Power Up
Section titled “Power Up”Follow the power up sequences according to the diagram below:
Power ON/OFF Sequence
Initialization
Section titled “Initialization”All the initialization commands are listed in the table below. The commands with remark “Note 1” already hold their proper parameter values, as stated, after power up, so the commands are not required to be transmitted. All other commands must be transmitted after power up. The commands with the remark “Note 2” must be transmitted with the stated parameter. A change to the parameter of these commands can damage the display.
The commands that have a user defined option will be discussed in section Commands.
Initialization Commands
Description | Command Byte | Parameter | Remark |
---|---|---|---|
Software Reset | 01 | ||
Dot Matrix Display OFF | 02 | 00 | Note 1 |
Read/Write Operation Wetting | 07 | 00 | Note 1 |
Display Direction Set Command | 09 | 00 | Note 1 |
Reserved 1 | 10 | 0F | Notes 2 & 3 |
Reserved 2 | 12 | 37 | Notes 2 & 3 |
Reserved 3 | 13 | 00 | Note 2 |
Dot Matrix Display Standby ON/OFF | 14 | 00 | |
Reserved 4 | 16 | 00 | Note 2 |
Reserved 5 | 17 | 00 | Notes 1 & 2 |
Reserved 6 | 18 | 0F | Notes 2 & 3 |
Reserved 7 | 1A | 04 | Notes 1 & 2 |
Reserved 8 | 1C | 00 | Notes 1 & 2 |
Graphic Memory Writing Direction | 1D | 00 | Note 1 |
Setting Column Output Range | 30 | 106F | Notes 1 & 2 & 3 |
Setting Row Output Range | 32 | 003F | Notes 1 & 2 |
X Axis Reading/Writing Start Point | 34 | 00 | Note 1 |
X Axis Reading/Writing End Point | 35 | 0B | Note 1 |
Y Axis Reading/Writing Start Point | 36 | 00 | Note 1 |
Y Axis Reading/Writing End Point | 37 | 3F | Note 1 |
X Axis Reading Start Address | 38 | 70 | Notes 1 & 3 |
Y Axis Reading Start Address | 39 | 00 | Note 1 |
Reserved 9 | 48 | 03 | Note 2 |
Screen Saver Event Timer Setting Command | C3 | 00 | Note 1 |
Screen Saver Event Timer Setting Command | C4 | 00 | Note 1 |
One Time, Repeat, or Direction Setting for Screen Saver | CC | 00 | Note 1 |
Start/Stop Setting for Screen Saver | CD | 00 | Note 1 |
System Clock Division Ratio Setting | D0 | 80 | Note 2 |
Setting the STBY Pin | D2 | 00 | Notes 1 & 2 |
DACA Setting | D4 | 00 | Notes 1 & 2 |
DACB Setting | D5 | 00 | Notes 1 & 2 |
DACC Setting | D6 | 00 | Notes 1 & 2 |
DACD Setting | D7 | 00 | Notes 1 & 2 |
Reserved 10 | D9 | 00 | Notes 1 & 2 |
Dimmer Setting | DB | 0F | Note 1 |
Reserved 11 | DD | 84 | Notes 2 & 3 |
Dot Matrix Display ON | 02 | 01 |
Upon finishing the initialization, the OLED module displays the contents of the onboard controller memory.
Deprecated Initialization Commands (Do not use after 8/21/2019)
Description | Command Byte | Parameter |
---|---|---|
Reserved 1 | 10 | 03 |
Reserved 2 | 12 | 63 |
Reserved 6 | 18 | 09 |
Setting Column Output Range | 30 | 005F |
X Axis Reading Start Address | 38 | 00 |
Reserved 11 | DD | 88 |
Sending new values instead of the old ones for legacy devices will not harm the device, only cause the image to display incorrectly.
Writing an image
Section titled “Writing an image”Command 08H with 768 bytes of image data can be transmitted to the memory at any time. Any image data transmitted to the memory gets displayed until a new image is transmitted. An animation is achieved by transmitting images consequently at the desired speed.
Commands
Section titled “Commands”Software Reset Command
Section titled “Software Reset Command”This command resets the OLED Rocker.
Command Byte | Parameter |
---|---|
01 | none |
This is the only command that does not have a parameter. The result of this command is as follows:
- All the commands have default values.
- Display is OFF.
- Oscillation for refresh stops.
- No change to the content of the memory. The initialization commands must be transmitted after reset.
Display ON/OFF Command
Section titled “Display ON/OFF Command”This command turns the display on or off.
Command Byte | Parameter | |||||||
---|---|---|---|---|---|---|---|---|
02 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
- | - | - | - | - | - | - | B0 |
B0 = 0 ===> Turn the display OFF
B0 = 1 ===> Turn the display ON
This command has no effect on the memory, and can be used at any time. It can be used for blinking the display. It is also recommended to turn off the display before power down.
Display Standby Mode Command
Section titled “Display Standby Mode Command”This command starts or stops the internal clock oscillation.
Command Byte | Parameter | |||||||
---|---|---|---|---|---|---|---|---|
14 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
- | - | - | - | - | - | - | B0 |
B0 = 0 ===> Start the oscillation B0 = 1 ===> Stop the oscillation
This command has no effect on the memory. It can be used for power saving. The display must be turned off using the Display ON/OFF command first, then after a short delay, this command can be used to stop the oscillation. After using this command to start the oscillation, the Display ON/OFF command can be used to turn the display on.
Brightness Level Command
Section titled “Brightness Level Command”This command sets the brightness level of the display.
Command Byte | Parameter |
---|---|
DB | 0X |
This command can be used at any time. There are 16 steps for the brightness level (00H to 0FH). 0FH is the maximum brightness and 00H is the minimum brightness. The OLED Rocker life of 52,000 hours is based on 0FH brightness. The dimmer the brightness level is set, the longer the life.
Specifying the Window Size for Writing Data to Memory Commands
Section titled “Specifying the Window Size for Writing Data to Memory Commands”These commands specify the memory window to download image data using command 08H.
Function | Command Byte | Parameter Byte |
---|---|---|
X Start Address | 34 | XX |
X End Address | 35 | XX |
Y Start Address | 36 | XX |
Y End Address | 37 | XX |
The memory is 16 bytes x 64 rows. The X addresses specify the bytes, and the range is from 00H to 0FH. The Y addresses specify the rows, and the range is from 00H to 3FH. The End addresses cannot be smaller than the Start addresses. This set up also determines how many bytes the parameter of the command 08H has.
Examples:
X start Address = 00H, X End Address = 0BH, Y start Address = 00H, Y End Address = 3FH.
Command 08H has 768 bytes as a parameter.
X start Address = 00H, X End Address = 02H, Y start Address = 00H, Y End Address =02H.
Command 08H has 9 bytes as parameter.
Writing Data to Memory Command
Section titled “Writing Data to Memory Command”This command writes the data to the memory.
Command Byte | Parameter |
---|---|
08 | Many Bytes |
The number of bytes for the parameter is determined from the window size selected for data download.
Direction of Writing to Memory Command
Section titled “Direction of Writing to Memory Command”This command determines the direction that bytes are written to the memory window by the command 08H.
Command Byte | Parameter | |||||||
---|---|---|---|---|---|---|---|---|
1D | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
- | - | - | - | ML | VH | D1 | D0 |
B3 determines if the data bytes are received most or least significant bit first. Please note, this only applies to the image data. B0, B1, and B2 determine the direction that the data bytes are written to the memory window by the command 08H.
OLED Rocker Writing Direction
Direction of Refreshing the OLED from Memory Command
Section titled “Direction of Refreshing the OLED from Memory Command”This command determines the direction that the image gets refreshed from memory to the OLED display.
Command Byte | Parameter | |||||||
---|---|---|---|---|---|---|---|---|
09 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
- | - | - | - | - | - | D1 | D0 |
Parameter values D1 and D0:
D1 | D0 | Column Direction | Row Direction |
---|---|---|---|
0 | 0 | Left to Right | Top to Bottom |
1 | 0 | Left to Right | Bottom to Top |
Display Direction
Start Point of Refreshing the OLED from Memory (Manual Scrolling)
Section titled “Start Point of Refreshing the OLED from Memory (Manual Scrolling)”Function | Command Byte | Parameter Byte |
---|---|---|
X Display start | 38 | XX |
Y Display start | 39 | XX |
X Display start range is between 0 to 127 (00H to 7FH).
Y Display Start range is between 0 to 63 (00H to 3FH).
These commands set the starting memory bit for the image to be refreshed. The refresh window in the memory will be 96 bits by 64 rows. The refresh window raps around after 127th bit of memory and raps to the top after the 63rd row. These commands can be used at any time. They go to effect on the next refresh cycle.
Scrolling (Screen saver)
Section titled “Scrolling (Screen saver)”The onboard controller has a feature for scrolling the 128 x 64 bits of memory across the display (96x64) horizontally. There are three commands to set up the speed and the direction of scrolling. There is a command for enabling and disabling the scrolling.
Function | Command Byte | Parameter | |||||||
---|---|---|---|---|---|---|---|---|---|
Step timer | C3 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
Step timer unit | C4 | - | - | - | - | - | - | S1 | S0 |
Left/Right scroll | CC | - | - | - | - | - | - | - | LR |
Enable/Disable screen saver | CD | - | - | - | - | - | - | - | D0 |
Command C3H specifies the timer value. The timer range is from 00H to FFH. 00H denotes 256 count. Command C4H specifies the timer step value as follows:
S1 | S0 | Step Value |
---|---|---|
0 | 0 | Timer not running |
0 | 1 | 1 ms step |
1 | 0 | 100 ms step |
1 | 1 | Timer not running |
Command CCH specifies the direction of scroll. LR = 0 for right scroll and LR = 1 for left scroll.
Command CDH enables/disables the scroll. D0 = 0 disables and D0 = 1 enables.
If the timer is not running (command C4H), enabling the scroll will not work. When disabling after the scroll, the original window will be displayed.
Operating Lifetime
Section titled “Operating Lifetime”The OLED life is measured as the time it takes, while continuously ON, for brightness to reach 50% of the original brightness. This measurement is also referred to as the 100% rated life. This 100% rated life is the worst case scenario and much less than the actual useful life of the OLED products for the following reason:
- To display any meaningful image, many of the pixels are OFF.
- Different images have different pixels ON/OFF.
The actual useful life of the OLED is many times higher than the 100% rated life depending on the way it is used. Studies have shown that for the average application, the pixels are ON 30 to 40% of the time while the unit is operating 100% of the time. That is why the OLED ratings have 30 or 40% associated with them. For example, the OLED Rocker has a life rating of 15,600 hours at 100% and 52,000 hours at 30%. Software engineers can optimize the images so the useful life is much higher than 52,000 hours.
Another point to consider is the 100% life rating is based on 100% brightness. Operating the OLED at a reduced brightness will result in longer life. If the OLED is operated at 50% brightness, the rated life is approximately doubled.
Example:
An OLED Rocker is used in an application that operates 18 hours a day. The images are designed so each pixel is ON 35% of the time. The brightness level is set at 80%. How many years will the life rating be?
- Start with 15,600 hours at 100% rated life.
- 15,600 hours / 35% ON = 44,571 hours.
- (44,571 hours * 24 hours per day) / 18 hours ON per day = 59,428 hours
- 59,428 hours / 80% brightness = 74,285 hours
- (74,285 hours * 1 year) / 8,765 = 8.4 years
- The life rating is 8.4 years.
Frequently Asked Questions
Section titled “Frequently Asked Questions”Is the OLED Rocker capable of displaying animations?
Yes. The OLED Rocker response time is 0.2 ms which is the best among all the display technologies. The bottle neck is normally the communication speed. Over 100 frames per second of data can be transmitted to the OLED Rocker. Most videos are 25 to 30 frames per second.
What is aging?
Aging for the OLED Rocker refers to the reduction in brightness over time. Specifically, the OLED life is defined as the time it takes for the brightness to reach half the original state. See Section 11 above on the operating lifetime of the OLED.
Does the power up/down sequence have to be followed?
Yes. The power up sequence must be observed. If VCC powers the circuit before VDD is activated, the circuit could latch and damage the OLED. For the power down sequence, VCC cannot be present after VDD is off. Simultaneous turn off is possible as long as VCC does not have too much capacitance charge after turn off.
Are subassemblies with SmartDisplays included available?
Yes. NKK Switches has engineering kits and entertains custom designs.
Is NKK Switches planning to develop other sizes of the OLED Rocker?
NKK Switches is interested in developing new OLED Rocker products if there is a large quantity requirement. Customer feedback is considered when deciding what new products to develop. Feedback and/or application requirements are much appreciated.