A pocket e-paper recorder that transcribes itself.
Annota turns a Waveshare ESP32-S3 1.54" e-paper board into a standalone voice-note device: record straight from the onboard mic, browse the SD card on a two-button e-paper UI, and send any clip off to an AI provider for transcription — on-device or from the built-in web file manager. No app, no cloud dashboard, just a card full of MP3/WAV files and their .txt siblings.
- ▶ memo_014.wav
- voice_note_9.mp3
- meeting_recap.wav
- idea_dump.mp3
- + Record new
Record on-device
ES8311 codec mic straight to 16-bit PCM WAV on the SD card, no working set to allocate.
AI transcription
Send a clip to OpenAI Whisper (or Gemini) and get a sibling .txt file back — from the device or the browser.
Web file manager
Browse, play, upload, download, delete, and transcribe SD files from any browser on the network.
WiFi captive setup
First boot opens a setup AP; after that it reconnects quietly and stays usable offline for everything but transcription.
Deep-sleep idle
Configurable idle timeout drops into deep sleep, woken by a long press on Select.
Two-button UI
Next cycles, Select opens/confirms/backs out — an entire file browser and menu tree on two buttons.
pio run -e esp32-s3-epaper154 -t upload- Board
- Waveshare ESP32-S3-ePaper-1.54
- Display
- 1.54" 200×200 mono e-paper, SSD1681-class
- Input
- 2 onboard buttons (no touch)
- Audio
- ES8311 codec + NS4150B amp, onboard mic
- Storage
- SD card over SDMMC (1-bit)
- UI
- LVGL v9.2.2
- Display driver ported from Waveshare's own ESP32-S3-ePaper-1.54 example repo.
- WiFi provisioning via tzapu/WiFiManager.
- UI powered by LVGL.
- MP3 decode via ESP8266Audio.
- Sleep/battery approach ported from a sibling project on the same board family, pala_note.