From 072cd793c400b944611bd7a3d425c19133aad1f7 Mon Sep 17 00:00:00 2001 From: Commander1024 Date: Thu, 27 Aug 2026 22:08:09 +0200 Subject: [PATCH] Document optional display disablement in README --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index ec2f86b..96c7ee7 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,16 @@ If that import fails, use an up-to-date native-USB MicroPython build for the boa 5. Once it joins Wi-Fi, visit `http://polterhid.local/`. If the client/network does not support mDNS, find the device IP address in the training Wi-Fi DHCP leases and visit `http://DEVICE_IP/` instead. 6. Sign in with username `admin` and the `web_password` from `settings.json`. +### Optional T-Dongle-S3 display + +The T-Dongle-S3's ST7735 display is optional. To disable display initialization and all display rendering for models without the display, set this value in the device's `settings.json`: + +```json +"display_enabled": false +``` + +With the display disabled, the firmware does not initialize the display SPI bus, use the display pins, run the boot/status display sequence, or poll the BOOT button for the display wake action. USB HID, Wi-Fi, the web interface, and RGB activity flashes continue to work normally. Set it to `true` to use the display again; this is already the value in `settings.example.json` for a T-Dongle-S3 deployment. + `boot.py` configures the native USB interface before USB initialisation, while `main.py` runs the application when executed by the runtime. Importing `main` from the REPL only loads its functions; call `main.main()` explicitly if needed. The device is intentionally **HID-only**: its built-in USB serial/CDC REPL is replaced by the HID device after `boot.py` runs. On a LILYGO T-Dongle-S3, its built-in 160×80 ST7735 screen shows a short sparkling starfield, a side-profile ghost crossing the screen, and the `POLTERHID` title before showing the configured Wi-Fi SSID, IP address, station MAC address, and a top-right Wi-Fi signal indicator for 15 seconds. It then clears the panel and turns its backlight off; press **BOOT** once to show the information again for 10 seconds. The screen driver is skipped when `display_enabled` is `false`, which is useful on a display-less DevKit. The firmware sets the ESP32 network hostname to `polterhid` before joining Wi-Fi; standard ESP32 MicroPython builds use their built-in mDNS responder to announce `polterhid.local`. Configuration saved in the web page is retained in `settings.json` and takes effect immediately. ## Maintenance mode and file uploads