Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/yousifamanuel/clawd-mochi/llms.txt

Use this file to discover all available pages before exploring further.

The web controller is a single-page app served directly from the ESP32 at http://192.168.4.1. It runs in any browser and is optimized for mobile screens. Use it to switch views, draw on the display, type into the terminal, and adjust settings.

Views

Clawd Mochi has four display modes. Tap a view button to activate it.

Normal eyes

Command: GET /cmd?k=w Displays square pixel-art eyes that wiggle left and right, then blink twice. The animation plays 5 wiggle frames, followed by a double blink, then holds the eyes static. Eye dimensions are defined in the firmware:
#define EYE_W   30    // eye width in pixels
#define EYE_H   60    // eye height in pixels
#define EYE_GAP 120   // gap between eyes

Squish eyes

Command: GET /cmd?k=s Displays > < chevron-style squished eyes. The animation opens and closes the eyes 3 times, then holds them open.

Claude Code

Command: GET /cmd?k=d Displays “Claude Code” text on a dark background with orange accents. Activating this view automatically opens the terminal panel in the web UI so you can start typing immediately. Exit the terminal with the exit terminal button (GET /cmd?k=q).

Canvas

Command: GET /canvas?on=1 Puts the display into drawing mode. The web UI shows a 240×240 canvas that mirrors the display. Draw with your mouse or finger — strokes are sent to the display in real time when you lift your finger or release the mouse button. Tap ✓ done to exit canvas mode.

Controls

ControlWhat it does
Normal eyesPlays wiggle + blink animation
Squish eyesPlays open/close animation
Claude CodeShows code display, opens terminal
CanvasEnter drawing mode — draw on display from phone
Speed sliderControls animation speed (slow / normal / fast)
Background colorChanges background color of all views
Pen colorSets drawing color for canvas
Display on/offToggles the backlight
✓ done (in canvas)Exits canvas mode

Terminal

The terminal panel appears automatically when you activate the Claude Code view.
  • Type in the input box — each character is sent to the display via GET /char?c=<char> as you type.
  • Press Enter or tap the button to send a newline.
  • The display shows a clawd:~$ prompt in green with a cursor block on the active line.
  • The terminal is 8 rows × 15 columns. When the display fills up, it scrolls automatically.
  • Exit the terminal with the exit terminal button, which sends GET /cmd?k=q.

Speed slider

The speed slider controls how fast animations play. There are three settings:
ValueLabelEffect
1slowAnimation delays are doubled
2normalDefault animation timing
3fastAnimation delays are halved

HTTP API

All web controller functions are available as plain HTTP GET requests. This lets you control Clawd Mochi from scripts, shortcuts, or other tools while connected to the ClaWD-Mochi network.
MethodPathParametersDescription
GET/Serves the web controller page
GET/cmdk= w / s / d / a / qSwitch view: w=normal eyes, s=squish, d=code, a=logo, q=quit terminal
GET/charc=<char>Send one character to the terminal
GET/speedv= 1 / 2 / 3Set animation speed
GET/redrawbg=<hex>Set background color and redraw current view
GET/canvason= 0 / 1Enable or disable canvas mode
GET/draw/clearbg=<hex>Clear the canvas with the given color
GET/draw/strokepen=<hex>&pts=<x,y;...>Draw a stroke on the canvas
GET/backlighton= 0 / 1Toggle the display backlight
GET/stateReturns the current device state as JSON

State response

GET /state returns a JSON object with the current device state:
{
  "view": 0,
  "busy": false,
  "term": false,
  "bl": true,
  "speed": 1
}
FieldTypeDescription
viewintegerActive view: 0=normal eyes, 1=squish, 2=code, 3=canvas
busybooleantrue while an animation is playing
termbooleantrue when the terminal is active
blbooleantrue when the backlight is on
speedintegerCurrent animation speed: 1=slow, 2=normal, 3=fast