T-Keyboard-S3-Pro: ESP32-S3 and STM32 Integration for Modular, Customizable Keyboards
The T-Keyboard-S3-Pro is an upgraded version of the T-Keyboard-S3 project, designed for modular configurations and enhanced connectivity. This keyboard integrates ESP32-S3 microcontroller technology for robust wireless communication and advanced control features. It eliminates the external expansion interface present in the previous version and introduces four magnetic quick-connection interfaces, enabling seamless interconnection of up to six devices.
The upgraded design supports five displays, one more than the original version, with the option to replace the fifth screen with a rotary encoder for added functionality. These enhancements facilitate flexible use in applications requiring multiple screens or custom input configurations. However, due to limitations in long-distance hardware wiring, expansion is restricted to a 2×3 grid configuration, allowing only one device on either side of the main unit and up to two devices downward.
To ensure proper performance in multi-device setups, users must reduce the onboard LED brightness to 10. The T-Keyboard-S3-Pro is optimized for compact setups and versatile use cases, offering connectivity, modularity, and customizable interface options for developers and makers.
LILYGO T-Keyboard-S3-Pro Specifications:
- Wireless Module:
-
- ESP32-S3-WROOM-1 (host model only)
- Main MCU:
- ESP32-S3R8 dual-core LX7 microprocessor @ up to 240 MHz
- Vector extension for machine learning
- 8MB PSRAM
- 16MB SPI flash
- Connectivity:
- WiFi 4 and Bluetooth 5 with LE/Mesh
- PCB antenna
- Secondary MCU:
- STMicro STM32G030F6P6 (for I2C magnetic connectors)
- Arm 32-bit Cortex-M0+ CPU @ up to 64 MHz
- 8KB SRAM
- Up to 64KB Flash memory with protection
- Displays:
- Up to 5x 0.85-inch TFT RGB LCDs with 128×128 resolution
- Active area: 15.2064(H) mm x 15.2064(V) mm
- GC9107 driver chip with SPI communication
- The fifth display socket is optionally fitted with a rotary encoder
- Keyboard Features:
- 5x Kailh hot-swappable mechanical keyboard switches with keycaps
- Keycaps equipped with LCD displays (6.35mm spacing)
- Integrated WS2812C RGB LEDs
- Rotary Encoder:
- Four-legged copper top pin knob option
- USB Port:
- 1x USB Type-C for power, host connection, and programming
- Expansion Interfaces:
- 4x magnetic 16-pin connection interfaces (supports up to 6 devices in a 2×3 grid layout)
- 2x STEMMA QT/Qwiic connectors (JST-SH 1.0mm 4-pin) for I2C and UART
- Miscellaneous Features:
- 14 programmable WS2812C RGB LEDs
- ESP32-S3 boot button integrated into the fifth key
- ESP32-S3 reset button
- STM32 reset and boot buttons
- Power Supply:
- 5V via USB-C
- Physical Specifications:
- Dimensions: 164 x 46 x 42 mm
- Weight: 210 grams
The T-Keyboard-S3-Pro integrates 14 programmable WS2812C RGB LEDs for visual customization. While a single board supports maximum brightness for all LEDs, connecting multiple boards imposes limitations due to heat generation, USB power supply current constraints, and increased impedance in the 5V voltage transmission. To ensure stable operation in multi-board setups (up to six devices), the LED brightness should be reduced to level 10, balancing power efficiency and thermal management.
The T-Keyboard-S3 Pro supports programming for both host and slave devices. The host device can be programmed using the Arduino-ESP32 library (v2.0.14) or PlatformIO, while the slave device supports STM32CubeMX (v1.6.2) and Keil μVision5. LILYGO provides example code and comprehensive instructions for Arduino and PlatformIO on its GitHub repository, facilitating development and customization.
Previously, we haven’t covered a keyboard like the T-Keyboard-S3 Pro, but we’ve explored devices such as KEYBON, Raspberry Pi 400, Hackyboard, and iKeybo. Feel free to check them out for more insights.
The T-Keyboard-S3 Pro is priced at $70.98 for the host keyboard and $59.98 for the slave keyboard on AliExpress. On Amazon, the host and slave keyboards are available for $66 and $58, respectively. For additional details, visit the product page.