Firmware for the Tab5-based writing device. The focus is instant boot, safe autosave, and a minimal UI that keeps writers in flow.
- Instant boot to the last open document and cursor.
- Piece table editor for fast edits and safe background saves.
- Autosave with atomic writes and local snapshots.
- "Send to Computer" export via USB HID typing.
- Optional cloud backup and AI assistance (opt-in only).
- ESP-IDF 5.5+ with target
esp32p4 - RISC-V toolchain (
idf_tools.py install riscv32-esp-elf) - Python 3 and ESP-IDF environment initialized
# Set target once per workspace
idf.py set-target esp32p4
# Build / flash / monitor
idf.py build
idf.py flash
idf.py monitorThis repo includes wokwi.toml, diagram.json, and sdkconfig.wokwi to run in Wokwi with an ILI9341 SPI TFT.
# Install Wokwi CLI (one-time)
curl -L https://wokwi.com/ci/install.sh | sh
# Set your token (do not commit this)
export WOKWI_CLI_TOKEN=...
# Build Wokwi firmware
idf.py -B build-wokwi -D SDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.wokwi" build
# Run simulator
wokwi-cli .Notes:
sdkconfig.wokwienables the Wokwi display pin mapping incomponents/scribe_ui/ui_app.cpp.- If the display is blank, verify the ESP32-P4 pin labels in Wokwi and update
diagram.jsonaccordingly. - Serial output is forwarded on RFC2217 port 4000 (see
wokwi.toml).
- UI strings live in
assets/strings/en.jsonand can be overridden at/sdcard/Scribe/strings/en.json. - Product spec lives in
SPECS.md.
main/- Entry point and task initializationcomponents/scribe_ui/- LVGL UI screens and widgetscomponents/scribe_input/- USB HID keyboard inputcomponents/scribe_editor/- Piece table editor corecomponents/scribe_storage/- SD card storage and autosavecomponents/scribe_export/- "Send to Computer" USB device modecomponents/scribe_services/- Power, battery, time, Wi-Fi, AIcomponents/scribe_secrets/- NVS-based token/key storageassets/- String resources, fonts, icons
Apache License 2.0. See LICENSE.
See CONTRIBUTING.md.
See SECURITY.md.