The hardware, all open.
Tufty-classic portrait layout. Eight buttons, IR for line-of-sight quests, an MPU6050 for shake and tilt, four LEDs around the frame. Schematics and BOM live on the repo — fork them and roll your own.
Full schematics
KiCad project (4-layer FR-4, ENIG finish), Gerbers, and a full BOM with substitutions live in docs/hardware/. PCB v1 fab files coming soon.
MCU
ESP32-S3 dual core @ 240 MHz
Memory
16 MB flash · 8 MB PSRAM
Radio
WiFi 2.4 GHz · BLE 5 · IR transceiver
Display
ST7789 240×320 IPS · portrait
Power
USB-C + LiPo deep-sleep · ~5 µA standby
I/O
8-button matrix · IMU · 1-wire IR · I²C bus
Dimensions
55 × 90 mm portrait PCB
Layers
4-layer FR-4 · 1.6 mm · ENIG finish
Layered architecture
Four layers, each can be rewritten without the others noticing.
apps/L4Userland — manifest.json + main.py per app.
oreoOS/L3The OS: launcher, store, OTA, notifications, file transfer.
oreoWare/L2HAL / Board Support: drivers for screen, buttons, IMU, BLE, WiFi, IR, battery.
MicroPythonL1Runtime — we credit it loudly; we did not write it.
