Unsupported browser. The Web Serial API requires Google Chrome 89+ or Microsoft Edge 89+ on desktop. Safari, Firefox, and mobile browsers are not supported. The Web Serial API provides direct hardware access to your USB port, which is only available in Chromium-based browsers for security reasons.

v0.1.17-alpha SimpleGo Firmware for ESP32-S3
LilyGo T-Deck Plus

Firmware Installation

Disconnected
1
Connect Device
Connect your T-Deck Plus via USB-C. Use a data cable, not charging-only. First time? Install CH343 drivers. The flasher auto-detects your ESP32-S3 chip and reads its MAC address for verification.
·
2
Download Firmware
Fetches the merged binary (~2–3 MB) from the server. The package includes the ESP-IDF second-stage bootloader, custom partition table with NVS and OTA partitions, and the complete SimpleGo application firmware compiled from source.
3
Write to Flash
Do not disconnect during this process. The firmware is written at 921,600 baud with compression enabled. A 3 MB binary typically completes in 60–90 seconds depending on your USB connection.
0%Waiting...
4
Complete
Device restarts automatically. You should see the SimpleGo splash screen within seconds. The device will initialize its cryptographic subsystems, generate Ed25519 identity keys, and connect to WiFi on first boot.
Serial Output

What Gets Installed

Bootloader
ESP-IDF v5.5.2 second-stage bootloader with Secure Boot v2 capability
Partition Table
Custom layout: NVS (128KB), OTA data, application (3.5MB), storage
Application
SimpleGo firmware: FreeRTOS dual-core, mbedTLS, complete SMP protocol stack
Crypto Engine
Double Ratchet, X3DH (Curve448), XSalsa20-Poly1305, Ed25519, AES-256-GCM
Protocol
Full SimpleX Messaging Protocol (SMP v6) with TLS 1.3 transport layer
UI Framework
LVGL v9 graphics library with cyberpunk theme, chat bubbles, QR code generation
Storage Layer
NVS ratchet state persistence, AES-256-GCM encrypted MicroSD chat history
Codebase
~50,000 lines of auditable C, compiled with -Os optimization from source

Requirements & Technical Details

Browser
Chrome 89+ or Edge 89+ (Web Serial API)
USB Cable
USB-C data cable (not charging-only)
Target Device
LilyGo T-Deck Plus (ESP32-S3)
Flash Size
16 MB OPI Flash, 8 MB PSRAM
Baud Rate
921,600 baud (compressed transfer)
Flash Mode
DIO @ 80 MHz, compressed writes
Flash Time
~60–90 seconds for complete firmware

Troubleshooting

Device not detected
Install the CH343 USB driver. Try a different USB-C cable — many cables are charge-only and lack data pins.
Connection timeout
Hold the BOOT button on the T-Deck Plus while connecting, then release after the port appears. This forces download mode.
Flash fails mid-write
Use a shorter USB cable (under 1m) and connect directly to your computer, not through a hub. Hubs cause signal integrity issues.
Wrong chip detected
The firmware is built specifically for ESP32-S3. If the flasher detects a different chip variant, the binary will not be compatible.
No splash screen
Press the RST button on the device. If the screen stays blank, the display may need reinitialization — try flashing again with full erase.
WiFi not connecting
After first boot, enter your WiFi credentials in the settings menu. The device needs an internet connection to reach SMP relay servers.
Previous firmware conflict
If upgrading from a different firmware, erase the NVS partition first. Old cryptographic state in NVS can cause desynchronization.
Build from source
Clone the repository, install ESP-IDF v5.5.2, and run idf.py build flash monitor