OLED C click is equipped with the 96×96 high-color OLED display. It can display up to 65K/262K different colors and shades on a compact size display, based on the OLED technology. The OLED technology provides a very good brightness-to-contrast ratio, doesn’t require any backlight – since the pixel elements emit light on their own, better angle of viewing – compared to traditional TFT screens, better power consumption, better picture quality, better response times and more. The OLED technology is constantly being perfected and it is slowly taking over the existing liquid crystal technology (TFT).
The compact size of the display and the used OLED technology make this Click board™ a perfect solution for many applications which require the display of some information on the screen, in a form of a diagram, text or a pie chart. The Click board™ can be used to display images or any kind of graphics in 96×96 pixels resolution, with 65K/262K colors. It is a perfect solution to add display functionality to small development systems, such as the Clicker or Clicker 2 systems.
How does it work?
OLED C click features the PSP27801 OLED display, with the resolution of 96×96 pixels. The graphics driver used on this OLED display is the SSD1351, the display driver IC from Solomon Systech with embedded 128x128x18 bit SRAM display buffer. The SSD1351 driver is designed to work with the common cathode type OLED displays. It has both parallel (8080/6800) and serial interfaces for the communication.
The SSD1351 controller also has built-in functionalities like the vertical and horizontal scrolling, programmable frame rate, row and column remapping, color swapping, etc. It supports two color modes: 65K (6:5:6) and 262K (6:6:6) and up to 128×128 pixels. However, the used OLED display has 96×96 visible pixels.
To send command or data to the SSD1351 controller via the SPI interface, it is necessary to pull the D/C pin to a LOW or to a HIGH logic state. Sending data requires pulling this pin to a HIGH logic level while sending command requires pulling this pin to a LOW logic level. If the receiving byte is a type of data, it will be written directly to the Graphical Display Data memory (GDDRAM). If the receiving byte is a command, it will be decoded and written into the corresponding command register.
The GDDRAM on the device is sorted in 128×128 cells with 18 bits for each pixel. In the 262K color mode, three 8bit data words are interpreted as the pixel color value: the first word is the RED color data, the second word is GREEN color data and the third word is BLUE color data. Since every pixel can have a maximum of 18bits, each color is taking up 6 bits (6:6:6 color mode). The last 2 bits are disregarded.
When set to work in 65K color mode, only two 8bit words are required per pixel: the 5 MSB of the first word, is interpreted as the RED color data and the remaining 3 LSB are interpreted as the GREEN color data. The second 8bit word contains 3 more bits for the GREEN color data, while the remaining 5 LSB is the BLUE color data. This comprises the 5:6:5 pixel format.
The CS pin is a part of the SPI communication protocol and it is used to select the device and enable the communication on the serial bus. When this pin is pulled to a LOW logic level, the device expects data (or command, depending on the D/C pin state) to be clocked in from the MOSI pin of the mikroBUS™.
The R/W pin is used only for the parallel communication. When using serial communication (like it is a case for the OLED C click) this pin should be pulled to a LOW logic level.
The RST pin is used to reset the device when it is pulled to a LOW logic level. For the normal operation, this pin should stay at the HIGH logic level. When not asserted by the host MCU, this pin is set to a HIGH logic level by the pull-up resistor.
The EN pin is actually routed to the small, low power onboard step-up converter, used to provide voltage for the display. It uses the 3.3V rail of the mikroBUS™ and converts it to 15V on the output. EN pin enables or disables the step-up converter and consequently – the OLED screen itself. To enable this converter, the EN line should be pulled to a HIGH logic level. When not asserted, it is pulled to a LOW logic level by the pull-down resistor.
The OLED C click comes with the library which contains functions which simplify working with the OLED C click while it is used with mikroC, mikroBASIC and mikroPASCAL compilers. These functions include a display of images, text with a selectable font, some basic shapes, and more. The library comes with the example application that demonstrates using these functions and it can be used as a reference for custom design.
Comparison table
The table below shows the difference between the old version of the click, that is now obsolete, and the new one with the PSP27801 display.
Product Version: | OLED_C_Click_v100 | OLED_C_Click_v101 |
---|---|---|
OLED part number: | MI9696CO_v1.1 | PSP27801 |
Controller: | SEPS114A | SSD1351 |
Display color: | 65,536 | 65,536/262,144 |
Size/Resolution: | 96x96pix | 96x96pix |
Module size: | 25.90 x 30.10 x 1.30 mm | 25.8 x 48.1 x 1.227mm (type) |
Active area: | 19.852 x 19.852 mm | 20.135 x 20.14 mm |
Dot pitch: | 0.207 x 0.207 | 0.07 x 0.21mm |
Dot size: | 0.187 x 0.187 | 0.045 x 0.19mm |
Interface: | 8-bit parallel,4-wire SPI | 8/16/18 bit parallel, 3-wire and 4-wire SPI |
Specifications
Type
OLED
Applications
OLED C click can be used to display images or any kind of graphics in 96×96 pixels resolution, with 65K/262K colors. It is a perfect solution to add display functionality to small development systems, such as the Clicker or Clicker 2 systems.
On-board modules
PSP27801 OLED display, with the resolution of 96×96 pixels, and SSD1351 COF display driver IC from Solomon Systech
Key Features
Compact OLED color display with the resolution of 96×96 pixels, with inherently high contrast ratio, integrated SSD driver IC which provides 5:6:5 and 6:6:6 color formats, wide viewing angle and high-speed SPI communication with low pins count
Interface
SPI
Compatibility
mikroBUS
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on OLED C click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | Power indication LED |
Software support
We provide a library for OLED C click on our Libstock page, as well as a demo application (example), developed using MikroElektronika compilers and mikroSDK. The provided click library is mikroSDK standard compliant. The demo application can run on all the main MikroElektronika development boards.
Library Description
The library initializes and defines the SPI bus driver and drivers that offer a choice for writing data in the registers and reading data from the registers. The library includes functions for drawing a picture, pulls a rectangle and writes text on the screen.
The user can set the desired text font, and adjust the background color.
Key functions:
void oledc_init( void )
- The functions that initializes the chip.void oledc_text( uint8_t *text, uint16_t col_off, uint16_t row_off )
- The function writes text on the screen.void oledc_image( const uint8_t *img, uint8_t column_off, uint8_t row_off )
- The function draws the image on the screen.
Examples Description
The application is composed of three sections:
- System Initialization – Initializes SPI module and AN pin, RST pin, CS pin, PWM pin and INT pin as an output.
- Application Initialization – Initializes the driver init and the OLED C init and sets a full screen in white color with writing demo text.
- Application Task – (code snippet) –
- Display demo rectangle
- Display demo line
- Display demo Image
void applicationTask() { oledc_fill_screen( 0xFFFF ); Delay_100ms(); /* Rectangle demo*/ oledc_rectangle( 0, 0, 96, 96, 0xF000 ); Delay_ms( 500 ); oledc_rectangle( 5, 5, 91, 91, 0xFF00 ); Delay_ms( 500 ); oledc_rectangle( 10, 10, 86, 86, 0x00F0 ); Delay_ms( 500 ); oledc_rectangle( 15, 15, 81, 81, 0x0F0F ); Delay_ms( 500 ); oledc_rectangle( 20, 20, 76, 76, 0xF000 ); Delay_ms( 500 ); oledc_rectangle( 25, 25, 71, 71, 0xFF00 ); Delay_100ms(); /* Line demo */ oledc_rectangle( 25, 25, 71, 27, 0 ); Delay_100ms(); oledc_rectangle( 25, 71, 71, 73, 0 ); Delay_100ms(); oledc_rectangle( 25, 25, 27, 71, 0 ); Delay_100ms(); oledc_rectangle( 68, 25, 71, 71, 0 ); Delay_ms( 3000 ); /* Image demo */ oledc_image( &me_logo_bmp[0], 0, 0 ); Delay_ms( 2000 ); }
The full application code, and ready to use projects can be found on our Libstock page.
Other mikroE Libraries used in the example:
- Conversions
- SPI
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This click board is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.