|
| 1 | +--- |
| 2 | +title: LILYGO T-Keyboard S3 Pro |
| 3 | +show_source: false |
| 4 | +--- |
| 5 | +<!-- **[English](README.MD) | 中文** --> |
| 6 | + |
| 7 | +<div style="width:100%; display:flex;justify-content: center;"> |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +</div> |
| 12 | + |
| 13 | +<!-- <div style="padding: 1em 0 0 0; display: flex; justify-content: center"> |
| 14 | + <a target="_blank" style="margin: 1em;color: white; font-size: 0.9em; border-radius: 0.3em; padding: 0.5em 2em; background-color:rgb(63, 201, 28)" href="https://item.taobao.com/item.htm?id=846226367137">淘宝</a> |
| 15 | + <a target="_blank" style="margin: 1em;color: white; font-size: 0.9em; border-radius: 0.3em; padding: 0.5em 2em; background-color:rgb(63, 201, 28)" href="https://www.aliexpress.com/store/911876460">速卖通</a> |
| 16 | +</div> --> |
| 17 | +>! A host device is required during use; slave devices connect to the host via magnetic connectors. |
| 18 | +## Introduction |
| 19 | + |
| 20 | +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. |
| 21 | + |
| 22 | +Its standout features include four 0.85-inch RGB LCD screens (128×128 resolution), each capable of displaying independent shortcut commands, system status, or dynamic UI interfaces. These displays are driven via an SPI interface (MOSI/SCLK), enabling efficient visual interaction. |
| 23 | + |
| 24 | +The keyboard features four hot-swappable mechanical keys that support customizable switch types, along with RGB WS2812 lighting effects and a rotary encoder (Data-A/B pins) for programmable backlighting and precise parameter control—such as volume or scroll adjustments. |
| 25 | + |
| 26 | +On the hardware side, the main ESP32-S3 controller is equipped with 8MB Flash and 16MB PSRAM, supporting Wi-Fi/Bluetooth connectivity and complex logic processing. An external STM32 chip communicates via the I2C bus (SDA: IO06/IO42, SCL: IO07/IO02) and is dedicated to handling real-time input tasks, ensuring low-latency responsiveness. |
| 27 | + |
| 28 | +In terms of expandability, the board offers STEMMA QT/Qwiic, JST-SH 4-PIN interfaces, and I2C expansion for up to 5 slave devices. This allows connection to sensors, touchpads, and other peripherals, making it an ideal platform for building versatile control terminals. |
| 29 | + |
| 30 | +## Appearance and function introduction |
| 31 | +### Appearance |
| 32 | +<img src="./assets/T-Keyboard-S3-Pro-2.jpg" alt="summary" width=80%> |
| 33 | + |
| 34 | + |
| 35 | +### Pinmap |
| 36 | + |
| 37 | +<img src="./assets/T-Keyboard-S3-Pro-en.jpg" alt="summary" width=100%> |
| 38 | + |
| 39 | +## Module Information and Specifications |
| 40 | +### Notes |
| 41 | +1. |
| 42 | +>默认固件配置为 I2C 通信扩展模式。请注意,若要扩展从设备数量,必须确保每个设备具有唯一的 I2C 地址,以避免地址冲 |
| 43 | +> 突。从设备不能独立使用,正确的用法是由一个主设备与多个从设备进行通信的系统中使用。 |
| 44 | +
|
| 45 | +2. |
| 46 | +>最多可连接 6 个设备。当连接多个设备时,需要将板载 LED 的最大亮度调低至 10。 |
| 47 | +
|
| 48 | +3. |
| 49 | +>由于硬件长距离走线的限制,开发板在扩展方向上存在一定限制。主控板左右两侧各只能扩展一个设备,向下最多可扩展两个设备(USB 接口会阻碍扩展)。 |
| 50 | +>因此,最多可形成一个 2x3 的网格布局,总共支持 6 个设备。 |
| 51 | +### Description |
| 52 | + |
| 53 | +| Component | Description | |
| 54 | +| --- | --- | |
| 55 | +|MCU |ESP32-S3R8 Dual-core LX7 microprocessor |
| 56 | +|Flash |16M |
| 57 | +|PSRAM |8M |
| 58 | +|GPS |MIA-M10Q |
| 59 | +|Wireless| Wi-Fi 802.11 b/g/n,BLE 5 |
| 60 | +|Storage | TF card | |
| 61 | +|Display| 0.85 inch All ViewTFT LCD<br>The host device features four screen buttons, while each slave device includes five buttons. |
| 62 | +|Buttons | 1 x RST Buttons <br> 1 x BOOT Button and Rotary Encoder <br> 4 × Screen Buttons | |
| 63 | +| USB |1 × type-C Interfaces| |
| 64 | +|UI | LVGL |
| 65 | +| Expansion Interfaces | 2 × QWIIC Interfaces + 4 × Magnetic Connector| |
| 66 | +| Dimensions | **164x46x42mm** | |
| 67 | + |
| 68 | + |
| 69 | + |
| 70 | +<table role="table" class="center_table"> |
| 71 | + <thead> |
| 72 | + <tr> |
| 73 | + <th colspan = "2">STM32 Module</th> |
| 74 | + </tr> |
| 75 | + </thead> |
| 76 | + <tr> |
| 77 | + <td>MCU</td> |
| 78 | + <td>STM32G030F6P6</td> |
| 79 | + </tr> |
| 80 | + <tr> |
| 81 | + <td>Flash</td> |
| 82 | + <td>64kb</td> |
| 83 | + </tr> |
| 84 | + <tr> |
| 85 | + <td>PSRAM</td> |
| 86 | + <td>8kb</td> |
| 87 | + </tr> |
| 88 | +</table> |
| 89 | + |
| 90 | +### Related Links |
| 91 | +Github:[T-Keyboard S3 Pro](https://github.com/Xinyuan-LilyGO/T-Keyboard-S3-Pro) |
| 92 | + |
| 93 | +* [ESP32-S3-WROOM-1](https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf) |
| 94 | +* [STM32G030F6P6](https://www.st.com/en/microcontrollers-microprocessors/stm32g030f6.html#documentation) |
| 95 | +* [GC9107](https://github.com/Xinyuan-LilyGO/T-Keyboard-S3-Pro/blob/main/information/GC9107_DataSheet_V1.2.pdf) |
| 96 | +* [WS2812C](https://github.com/Xinyuan-LilyGO/T-Keyboard-S3-Pro/blob/main/information/WS2812C-2020.pdf) |
| 97 | + |
| 98 | +#### Schematic Diagram |
| 99 | + |
| 100 | +[T-Keyboard S3 Pro](https://github.com/Xinyuan-LilyGO/T-Keyboard-S3-Pro/blob/main/project/SCH_T-Keyboard-S3-Pro_Keyboard_V1.1.pdf) |
| 101 | + |
| 102 | +<!-- * [SY6970](./datasheet/AN_SY6970.pdf) --> |
| 103 | + |
| 104 | +#### Dependency Libraries |
| 105 | + |
| 106 | +* [RadioLib](https://github.com/Xk-w/Arduino_DriveBus) |
| 107 | +* [TFT_eSPI](https://github.com/Bodmer/TFT_eSPI) |
| 108 | +* [LVGL](https://github.com/lvgl/lvgl/tree/v8.4.0) |
| 109 | +* [Arduino_GFX](https://github.com/moononournation/Arduino_GFX) |
| 110 | + |
| 111 | + |
| 112 | + |
| 113 | +## Software Design |
| 114 | +### Arduino Set Parameters |
| 115 | + |
| 116 | +| Arduino IDE 设置 | Value | |
| 117 | +| --------------- | ------------------ | |
| 118 | +| Board | **ESP32S3 Dev Module** | |
| 119 | +| Port | Your port | |
| 120 | +| USB CDC On Boot | Enable | |
| 121 | +| CPU Frequency | 240MHZ(WiFi) | |
| 122 | +| Core Debug Level | None | |
| 123 | +| USB DFU On Boot | Disable | |
| 124 | +| Erase All Flash Before Sketch Upload | Disable | |
| 125 | +| Events Run On | Core1 | |
| 126 | +| Flash Mode | QIO 80MHZ | |
| 127 | +| Flash Size | **16MB(128Mb)** | |
| 128 | +| Arduino Runs On | Core1 | |
| 129 | +| USB Firmware MSC On Boot | Disable | |
| 130 | +| Partition Scheme | **16M Flash(3M APP/9.9MB FATFS)** | |
| 131 | +| PSRAM | **OPI PSRAM** | |
| 132 | +| Upload Mode | **UART0/Hardware CDC** | |
| 133 | +| Upload Speed | 921600 | |
| 134 | +| USB Mode | **CDC and JTAG** | |
| 135 | + |
| 136 | + |
| 137 | +### Development Platform |
| 138 | +1. [ESP-IDF](https://www.espressif.com/zh-hans/products/sdks/esp-idf) |
| 139 | +2. [Arduino IDE](https://www.arduino.cc/en/software) |
| 140 | + |
| 141 | +## Product Technical Support |
| 142 | + |
| 143 | + |
0 commit comments