How dulnith-liyanage/desk-companion works
Desk Companion is ESP32-C3 firmware for a touch-operated Yeti desk companion. A touch gesture selects its face reactions, clock and alarm views, Pomodoro timer, or Yeti Run game; the OLED presents the resulting interface, while sound and vibration provide alerts and feedback. A browser dashboard configures settings stored in flash, and a background task retrieves weather from OpenWeatherMap. The README describes these capabilities, but no source excerpts were provided, so relationships below are limited to documented behavior; implementation nodes point to the single sketch.
Main entry points: desk_companion.ino Touch Controls
Components 16
Touch and Display
- Touch Controls
desk_companion.ino - OLED Display
desk_companion.ino
Companion Modes
- Animated Face
desk_companion.ino - Clock Views
desk_companion.ino - Alarm Manager
desk_companion.ino - Pomodoro Timer
desk_companion.ino - Yeti Run
desk_companion.ino - Sleep Mode
desk_companion.ino
Network and Settings
- Web Dashboard
desk_companion.ino - Weather Retrieval
desk_companion.ino - NVS Settings
desk_companion.ino
Hardware Feedback
- Buzzer
desk_companion.ino - Vibration Motor
desk_companion.ino
Other components
- User
- Browser
- OpenWeatherMap
Connections 20
- User → Touch Controls: gestures
README.md - Touch Controls → Animated Face: triggers reactions
README.md - Touch Controls → Clock Views: double tap
README.md - Touch Controls → Alarm Manager: long press
README.md - Touch Controls → Pomodoro Timer: triple tap
README.md - Touch Controls → Yeti Run: quad tap
README.md - Touch Controls → Sleep Mode: wakes
README.md - Animated Face → OLED Display: renders
README.md - Clock Views → OLED Display: renders
README.md - Alarm Manager → OLED Display: renders
README.md - Pomodoro Timer → OLED Display: renders
README.md - Yeti Run → OLED Display: renders
README.md - Browser → Web Dashboard: configures
README.md - Web Dashboard → NVS Settings: saves settings
README.md - Weather Retrieval → OpenWeatherMap: fetches weather
README.md - Weather Retrieval → OLED Display: shows conditions
README.md - Pomodoro Timer → Buzzer: alerts
README.md - Pomodoro Timer → Vibration Motor: alerts
README.md - Yeti Run → Vibration Motor: rumbles on collision
README.md - Alarm Manager → Buzzer: sounds alarm
README.md