ESP32-C3 system monitor with a 240×240 round IPS display — Nothing OS dot-matrix style.
KAIRO is a compact USB system monitor that sits on your desk and shows real-time PC stats on a round display:
- CPU usage — red dot arc with temperature
- RAM usage — white dot arc with GB used
- No signal screen — animated scanning beams when PC app is not running
- Startup animation — dot wave → rotating ring → KAIRO glow
| Part | Details |
|---|---|
| MCU | ESP32-C3 |
| Display | GC9A01 240×240 round IPS (SPI) |
| IO Expander | PI4IO (I2C, 0x43) |
| USB-Serial | CH340 (UART0) |
👉 Download KairoMonitor.exe from Releases
Run it — it finds the display automatically and starts sending data.
The app runs in the system tray. Right-click the tray icon to quit or reconnect.
- Open
Kairo_Display/Kairo_Display.inoin Arduino IDE 2 - Install board: ESP32 by Espressif (boards manager)
- Install libraries:
LovyanGFX,ArduinoJson - Board settings:
- Board:
ESP32C3 Dev Module - USB CDC On Boot:
Disabled - USB Mode:
USB-OTG (TinyUSB)
- Board:
- Select port → Upload
For CPU temperature, install LibreHardwareMonitor and run it as administrator. The app will pick up the sensor automatically.
kairo_monitor/ # Python PC app (tray, serial, metrics)
Kairo_Display/ # Arduino firmware (ESP32-C3)
design_preview/ # HTML mockups used during design
docs/ # Specs and implementation plans
When you plug KAIRO into a new PC, it appears as a USB flash drive called "KAIRO".
Open INDEX.HTM on the drive → browser opens the download page automatically.
Requires the board's native USB (GPIO18/19) to be wired to the USB connector.
cd kairo_monitor
pip install -r requirements.txt
build.batOutput: dist/KairoMonitor.exe
MIT