LILYGO T-Keyboard S3 Pro
A host device is required for operation. The module connects to the host via a magnetic interface.
Introduction
T-Keyboard-S3 Pro is a high-end programmable keyboard based on a dual-MCU architecture (ESP32-S3 + STM32G030F6P6), designed for developers and professional users.
Key highlights include:
Four 0.85-inch RGB LCD screens (128x128 resolution), capable of independently displaying shortcut commands, system status, or dynamic interactive interfaces. Driven via SPI interface (MOSI/SCLK), these screens enable efficient visual interaction.
Four hot-swappable mechanical keys, compatible with custom switches, combined with RGB WS2812 lighting effects and a rotary encoder (Data-A/B pins), supporting programmable backlight modes and precise parameter adjustments (e.g., volume, scrolling control).
On the hardware side:
The ESP32-S3 main controller features 8MB Flash and 16MB PSRAM, supporting Wi-Fi/Bluetooth communication and complex logic processing.
An external STM32 chip assists in real-time input handling via the I2C bus (SDA: IO06/IO42, SCL: IO07/IO02), ensuring low-latency response.
For expansion, the board offers STEMMA QT/Qwiic, JST-SH 4-PIN interface, and support for up to 5 I2C slave devices, allowing connection to sensors, touchpads, and other peripherals to build a multifunctional control terminal.
Appearance and function introduction
Appearance

Pinmap

Module Information and Specifications
Description
1.The default firmware is configured for I2C communication expansion mode. Please note that to expand the number of slave devices, each device must have a unique I2C address to avoid address conflicts. Slave devices cannot operate independently; they must be used in a system where one master communicates with multiple slaves.
2.Up to six devices can be connected. When using multiple devices, the maximum brightness of the onboard LED should be reduced to 10。
3.Due to limitations in hardware long-trace routing, there are certain constraints on expansion directions. Only one device can be expanded on each side (left and right) of the main board, and a maximum of two devices can be added below (as the USB port blocks further expansion).
Therefore, a 2x3 grid layout is the maximum supported configuration, allowing a total of six devices.
Development Board Specifications
Component | Description |
---|---|
MCU | ESP32-S3R8 Dual-core LX7 microprocessor |
Flash | 16M |
PSRAM | 8M |
GPS | MIA-M10Q |
Wireless | Wi-Fi 802.11b /g/n, BLE 5 |
Storage | TF card |
Screen | 0.85 inch All ViewTFT LCD The host has four on-screen keys and the slave has five |
Key | 1 x RST key 1 x BOOT key as well as knob 4 × screen key |
USB | 1 × type-C interface |
UI | LVGL |
Expansion interface | 2 × QWIIC interface + 4 × magnetic suction interface |
Size | 164x46x42mm |
STM32 Module | |
---|---|
MCU | STM32G030F6P6 |
Flash | 64kb |
PSRAM | 8kb |
Related Links
Github:T-Keyboard S3 Pro
Schematic Diagram
Dependency Libraries
Software Design
Arduino Set Parameters
Arduino IDE Setting | Value |
---|---|
Board | ESP32S3 Dev Module |
Port | Your port |
USB CDC On Boot | Enable |
CPU Frequency | 240MHZ(WiFi) |
Core Debug Level | None |
USB DFU On Boot | Disable |
Erase All Flash Before Sketch Upload | Disable |
Events Run On | Core1 |
Flash Mode | QIO 80MHZ |
Flash Size | 16MB(128Mb) |
Arduino Runs On | Core1 |
USB Firmware MSC On Boot | Disable |
Partition Scheme | 16M Flash(3M APP/9.9MB FATFS) |
PSRAM | OPI PSRAM |
Upload Mode | UART0/Hardware CDC |
Upload Speed | 921600 |
USB Mode | CDC and JTAG |