Back to home@lovaxi

Rubato_Device

Rubato is a palm-sized retro-Macintosh screen built for one job: looking after the bodies of programmers and heavy AI users.

Stars
0
Language
C
Created
Aug 30, 2026
Updated
Sep 1, 2026

Introduction

Rubato

When AI thinks, you move.

中文说明 | English

Rubato

Rubato in action

Rubato is a palm-sized retro-Macintosh screen (ESP8266, 240×240 color display) built for one job: looking after the bodies of programmers and heavy AI users. Long sessions keep you pinned to the chair — dry eyes, a stiff neck, an aching back. Rubato watches your AI coding sessions and turns long waits into real, gentle breaks — water, eye rest, a stretch — on time, every day. The rest of the time it just sits quietly on your desk, never in your way.

How it works

  1. A small PC plugin publishes your AI session state over MQTT (TLS): thinkinggeneratingdone
  2. A breathing orb mirrors the state — cream while thinking, glacier blue while generating, green when done
  3. When a task looks long (est. ≥ 30 s), Rubato eases into a full-screen micro-break reminder

Six daily breaks

Water · Bathroom break · Eye rest · Neck stretch · Kegels · Standing desk

The six targets are what sitting all day actually costs: dehydration, eye strain, a stiff neck, stagnant circulation. Each activity has a daily quota, and two full-screen breaks stay at least 30 minutes apart. The design is quiet and natural — soft colors, slow rhythm, one gentle nudge at a time — so every break feels light and pleasant, never like an interruption. The promise is reminders delivered, not completion-rate check-ins.

More than reminders

  • Desk clock — NTP time, western date format, weather with auto-location (Open-Meteo)
  • State orb — per-device MQTT credentials; Rubato mirrors the session state, never the message text
  • OTA self-update — segmented HTTPS download with an anti-brick guard: a bad update lands in Safe Mode and self-heals remotely, no USB needed
  • Web settings — brightness, orientation, °C/°F from your browser; everything survives power loss

Plugins

A plugin for every coding agent, all speaking the same MQTT contract — install from Rubato_Plugins.

AgentStatus
DeepSeek Harnessavailable
OpenClawavailable
Cursoravailable
OpenCodeavailable
Codexplanned
Claude Codeplanned

Hardware & source

ESP8266 (NodeMCU) + 240×240 TFT, powered over USB Type-C. Arduino framework (ESP8266 core 3.1.2, TFT_eSPI). Firmware in rubato.ino, health-icon pipeline in tools/. Flash, provision WiFi through the built-in hotspot, pair with the broker via one serial command — done.

License

GPL-3.0 — original clock by Misaka (2021), redesigned as Rubato. Hardware design scheme from SmallDesktopDisplay by chuxin520922.

Full development history in changelog.md.