Corporate Home Engineering Home About Us
 
 

Custom OLED Display and User Interface Board
OLED is a popular and power-efficient display technology. We use graphical OLED displays combined with a custom graphics engine and user I/O (buttons and RGB LEDs) to create a powerful user interface solution.

Background Information
We designed this board to fit the need of a compact, power-efficient user interface solution. The system had to be viewable in bright conditions, able to support multiple fonts, graphics capable (images and shape rendering), and have illuminated button interaction with the user.

Our Design
Our design adds significant processing power to our OLED board. This offloads the graphics and font-rendering routines from our main system processor to the OLED board. We did this by the following:

I2C Interface - To limit the physical connections necessary from the main system controller to the OLED board, we use an IIC / I2C data bus. This two-wire interface that is common in embedded electronics allows the main system to scan buttons, control the RGB LEDs, and direct the graphics engine to draw shapes and text. I2C can be found on most microcontrollers, and more advanced systems like the Raspberry Pi, Beaglebones / Beagleboards, and various other embedded systems.

Custom Graphics and Font Engine - We use a Microchip PIC microcontroller with our custom graphics engine firmware. This allows primitive shapes (pixels, lines, circles, rectangles) to be easily draw with a simple I2C command from the host system. Dozens of fonts are supported from the u8glib library, as well as other font formats used in the AdaFruit GFX library.

Modular Design - Our graphics engine can be customized for various I/O processing and ROM footprints. This allows us to embed it in low-cost microcontrollers while adding options for various real-world I/O processing such as (buttons, switches, LEDs, incremental encoders) and host interfaces (I2C, USB, TTL / RS-232 Serial, SPI).

OLED DIsplay / User Inteface Board
Pictured above is both sides of our OLED user interface board.