Skip to content

T-Keyboard S3 Pro get it now

Note: A host device is required. Slave devices connect to the host via magnetic interfaces.

Overview

T-Keyboard S3 Pro is a high-end programmable keyboard based on dual-MCU architecture (ESP32-S3-WROOM-1 + STM32G030F6P6). Features 4 independent 0.85-inch GC9107 TFT LCD screens (128 × 128), 4 hot-swappable mechanical keys, WS2812C RGB lighting, rotary encoder, 2 × QWIIC, and 4 × magnetic expansion interfaces (up to 6 slave devices). ESP32-S3 handles graphics and Wi-Fi; STM32 ensures low-latency key input. 164 × 46 × 42 mm.

Quick Start

Example Support

ExamplePlatformIO/ArduinoESP-IDFDescription
GFXDisplay graphics test
KeyboardKeyboard input example
Original_Test_2ESP32-S3 factory test
Lvgl_UILVGL UI example
Shortcut-KeysShortcut key example
Rotary_EncoderRotary encoder example

PlatformIO

  1. Install Visual Studio Code and Python
  2. Search for and install the PlatformIO IDE extension in VS Code
  3. Clone the T-Keyboard-S3-Pro repository
  4. Open platformio.ini and under [platformio] uncomment the desired environment
  5. Click to compile, click to upload

Arduino

  1. Install Arduino IDE
  2. Add ESP32 boards URL: https://espressif.github.io/arduino-esp32/package_esp32_index.json
  3. Copy all directories from the project libraries folder to your Arduino libraries folder
  4. In ToolsBoard, configure (for ESP32-S3 host device):
Arduino IDE SettingValue
BoardESP32S3 Dev Module
Upload Speed921600
USB ModeHardware CDC and JTAG
USB CDC On BootEnabled
USB Firmware MSC On BootDisabled
USB DFU On BootDisabled
CPU Frequency240 MHz (WiFi)
Flash ModeQIO 80 MHz
Flash Size16MB (128Mb)
Core Debug LevelNone
Partition SchemeDefault (6.25MB APP/3.43MB SPIFFS)
PSRAMOPI PSRAM
Arduino Runs OnCore 1
Events Run OnCore 1
  1. Click Upload

For STM32G030 slave device firmware, use STM32CubeMX + ARM Keil μVision5 or STM32CubeProgrammer. See the repository for details.

Development Platforms

  1. PlatformIO
  2. Arduino IDE
  3. STM32CubeMX + ARM Keil μVision5 (for STM32 co-processor)

Video

Key Features

  • ESP32-S3-WROOM-1 (R8) @ 240 MHz, 16 MB Flash, 8 MB OPI PSRAM, Wi-Fi + BT 5.0
  • 4 × 0.85-inch GC9107 TFT (128 × 128), 4 × hot-swappable mechanical keys, WS2812C RGB
  • STM32G030F6P6 co-processor, rotary encoder, 2 × QWIIC, magnetic expansion (up to 6 devices)

Product Parameters

FeatureSpecification
Main MCUESP32-S3-WROOM-1 (R8) @ Dual-core LX7
Main Flash16 MB
Main PSRAM8 MB (OPI)
Co-processorSTM32G030F6P6
Co-processor Flash64 KB
Co-processor SRAM8 KB
Wi-Fi2.4 GHz 802.11 b/g/n
BluetoothBluetooth 5.0 LE
Display4 × 0.85-inch GC9107 TFT, 128 × 128 (SPI)
Keys4 × Hot-swappable mechanical + rotary encoder
RGBWS2812C
StorageTF card
USB1 × Type-C
Expansion2 × QWIIC + 4 × magnetic interface
ButtonsRESET + BOOT
Dimensions164 × 46 × 42 mm

Pin Diagram

T-Keyboard S3 Pro pin diagram

Pin Mapping (ESP32-S3)

NameGPIO
I2C1 SDAIO42
I2C1 SCLIO2
I2C2 SDA (External)IO6
I2C2 SCL (External)IO7
LCD MOSIIO40
LCD SCLKIO41
LCD DCIO39
LCD RSTIO38
LCD BLIO1
Encoder AIO4
Encoder BIO5
Encoder KeyIO0

Dimension Diagram

Schematic

Datasheet

Software Development

Dependent Libraries

FAQ

  • Q. Why does my board keep failing to upload programs? A. Hold BOOT and press RST once, release RST while still holding BOOT, then start the upload.

  • Q. How to expand slave devices? A. Connect via magnetic interfaces. Maximum 6 devices in a 2×3 grid (1 on each side, max 2 downward). Reduce LED brightness to 10 when using multiple devices.

  • Q. Which switch types are supported? A. Hot-swappable mechanical switches using Kailh connectors with 6.35 mm pin spacing. Choose switches with center openings (spacing > 7 mm) to accommodate the ribbon cable.

  • Q. What are the advantages of the dual-MCU architecture? A. ESP32-S3 handles complex graphics and wireless, while STM32 ensures low-latency real-time key input.

Version History

VersionRelease DateUpdate Description
T-Keyboard-S3-Pro MCU V1.12024-09-05Initial version
T-Keyboard-S3-Pro Keyboard V1.12024-09-05Initial version