Expressive robot companion

Build your own expressive robot

Desk Companion is an interactive desk companion built around an OLED face, touch input and an ESP32-C3 brain. It reacts with expressive animations, supports quick firmware flashing from the browser, and packs useful modes like offline mode, emotional mode, vibration feedback, time presets and a small built-in game.

Quick install Flash the Desk Companion directly from your browser

Use Chrome or Edge, plug the ESP32-C3 over USB, then install in one click.

Expressions 12 12 firmware faces, animated or static
Built-in Modes 06 Offline, emotional, vibration, info pages, presets, game
Current Firmware v0.3
Browser Support Chrome / Edge

Emotions

Desk Companion Expressions

Features

What the Desk Companion Can Do

  • Expressive OLED face system with moods and reactions
  • Direct browser-based firmware installer for ESP32-C3
  • Offline mode with improved Wi-Fi reconnection flow
  • Emotional mode for a more expressive interaction profile
  • Vibration mode for tactile feedback
  • Info panel with a small Dino Jump-style game
  • Simplified time presets with built-in time zones
  • Ongoing firmware translations and improvements

Flash

Install the Firmware

WebSerial

Plug the Desk Companion in over USB, open the page in Chrome or Edge, then install the firmware directly from your browser.

  • The page must be served over HTTPS or localhost.
  • Use a real data cable, not a charge-only cable.
  • The microcontroller must appear as a serial device.
Desk Companion Activity Roughly 2 updates per month
Oct Nov Dec Jan Feb Mar Apr

Changelog

Latest Project Updates

From 2025 to 2026
15/03/26
Firmware v0.3 - 1503ex

Added two new expressions.

17/01/25
1.3-inch display support

A beta version for the new display is available on leroyd.com/beta.

03/01/25
Emotional mode, vibration, v0.3 - 3012CM

Added emotional mode and vibration mode to the firmware.

27/12/25
Time presets and time zones

Added UTC+8 and UTC+5:30 to simplify setup.

20/12/25
Firmware v0.2 - 2012EN

Added an almost complete translation of the connection page.

17/12/25
Game and fixes

Added a Dino Jump-style mini-game plus time, memory and Wi-Fi reconnection fixes.

16/12/25
Offline mode and firmware version

Added firmware version and offline mode sections with a UTC+7 preset.