Communication Protocols Between Keyboard Display Driver ICs and the Main Controller

  1. Início
  2. Notícias
  3. Base de conhecimento
  4. Communication Protocols Between Keyboard Display Driver ICs and the Main Controller

The communication protocol between a keyboard’s display driver IC and its main controller depends primarily on the type of display and the architecture of the main controller. For keyboards equipped with displays, the most common interfaces between the main controller and the display driver are SPI (Serial Peripheral Interface) and I2C (Inter-Integrated Circuit). High-end or larger-format display solutions may also utilize MIPI DBI or QSPI.


 

I. Small-Format OLED/LCD Screens: SPI and I2C as the Standard

For the small displays commonly found on keyboards—such as 0.96-inch, 1.14-inch, or 1.47-inch screens—communication between the main controller and the driver IC (e.g., SSD1306, SH1106) almost exclusively occurs via serial buses.

SPI Protocol: Offers higher speeds, making it well-suited for displays that require high refresh rates or support for animations. QMK firmware documentation, when discussing OLED drivers, notes that data is transmitted “over I2C to the OLED”; however, it also points out that certain driver ICs (such as the SH1106/1107) lack support for horizontal addressing modes, resulting in lower efficiency during rotated rendering. This implies that SPI holds a distinct advantage in scenarios requiring frequent screen refreshes or complex rendering tasks.
I2C Protocol: Requires fewer pins (utilizing only two lines: SCL and SDA), making it ideal for main controllers with limited pin availability. Patent literature explicitly states that, for key modules incorporating displays, “communication between the main controller chip and the display interface can be implemented using either the I2C or SPI protocol.” While I2C generally operates at lower speeds than SPI, it is more than sufficient for small displays with modest refresh rate requirements.

 

II. Modular/Split-Screen Configurations: Layered Communication Protocols

In cases where a keyboard’s display functions as an independent module—such as a detachable secondary screen or a small display integrated into an individual key—the communication link is often structured in two layers.

Keyboard Main Controller ↔ Display Driver Board Controller: Communication between these two components may take place via USB, UART, or I2C. For example, a key module equipped with a screen connects to the primary host controller via a “communication interface”—such as USB, Bluetooth, or a board-to-board (B2B) connector.
Within the screen driver board, the onboard controller chip manages the display panel using protocols like SPI or I2C. This layered architecture allows the screen module to handle its own rendering logic, thereby reducing the workload on the keyboard’s main controller.

 

III. Large-Format/High-Resolution Displays: QSPI and MIPI DBI

If a keyboard features a larger color LCD or OLED screen (e.g., a 3.1-inch display or larger, such as those found on some flagship keyboards), the main controller may require a higher-speed interface.

QSPI (Quad SPI): By increasing the number of data lines compared to standard SPI, QSPI significantly boosts transmission bandwidth. Certain microcontrollers (such as the BL616) support QSPI mode, making them well-suited for driving displays with higher pixel counts.
MIPI DBI (Display Bus Interface): Defined by the MIPI Alliance, this standard is commonly used when an MCU directly drives a display module that includes its own GRAM (Graphics RAM). It supports both parallel (Type B) and serial (Type C) modes, making it ideal for applications that demand specific refresh rates and color depths.

 

IV. Key Considerations for Engineering Implementation

Pin Resources: SPI requires four pins (CS, SCK, MOSI, and DC), whereas I2C requires only two. For compact keyboard layouts—such as 60% or 65% form factors—where I/O pins on the main controller are often limited, I2C serves as a more efficient, space-saving choice.
Refresh Rate and Bandwidth: If the screen needs to display real-time data (like an audio spectrum) or fluid animations, SPI or QSPI is essential. For displaying static text or simple icons, the lower speed of I2C is perfectly adequate.
Firmware Support: Open-source firmware projects like QMK and ZMK offer mature support for OLED displays; however, complex UI rendering remains dependent on the performance of the main controller. If the controller must simultaneously handle high-polling-rate scanning (e.g., 8K report rates) and screen refreshes, the DMA (Direct Memory Access) capabilities of SPI—which help minimize CPU overhead—offer a distinct advantage over I2C.

Signal Transmission via Magnetic Contacts for Detachable Numpads
Cardápio