Some of the most loved maker projects do one simple thing well. Clawd Mochi is one of them. It is a little desk companion that shows animated eyes and expressions on a small colour screen. You control it from your phone, with no app, no account and no internet. It is a fan project inspired by Clawd, the pixel-crab mascot of Claude Code, and it is not made or endorsed by Anthropic.
The project is open source, including the firmware and the 3D print files. Its documentation lists parts that cost only a few dollars in total, and it is designed to be a beginner's first hardware build. This article explains what it is, how it works and how you could build it or make your own character with help from an AI coding tool.
What it is
Clawd Mochi sits on your desk and shows faces. From the web controller you can switch between normal eyes, squished eyes and other expressions, open a terminal-style code view, or switch to a drawing canvas where you draw on your phone and the drawing appears on the little screen. You can also change the background colour.
The firmware is a single Arduino sketch file. The author chose this on purpose, so beginners can open one file, read it top to bottom and change it without hunting through folders.
How it works in plain words
The ESP32-C3 does three jobs at once.
It drives the screen. The display is a 1.54-inch ST7789 colour TFT with 240 by 240 pixels, connected over SPI. The firmware draws the faces and animations.
It makes its own Wi-Fi network. Instead of joining your home network, the board acts as an access point with its own name and password. Your phone connects to it directly.
It runs a small web server. When you open the board's address in your phone's browser, it sends a control page. Each button on that page sends a short request back to the board, such as a single letter that means show the squished eyes. The board reads the request, changes the screen and replies.
Because everything happens between your phone and the board, it works anywhere there is power.
Parts
An ESP32-C3 Super Mini board.
An ST7789 1.54-inch 240 by 240 SPI colour display.
Eight short jumper wires.
Two small M2 screws for the display bezel, and some double-sided tape.
A USB-C cable for power.
A 3D-printed case in PLA or PETG. If you do not have a printer, many libraries, maker spaces and online services can print one for you.
Wiring
The display needs eight connections: power, ground, the two SPI data lines, reset, data or command select, chip select and backlight. The pin numbers are listed at the top of the firmware file. Take a photo of your wiring before you close the case, so you can check it later.
Flashing the firmware
Install the Arduino IDE and add Espressif's ESP32 board package through the boards manager.
Open the sketch file from the repository.
Choose the ESP32C3 Dev Module board. The project marks one setting as important: USB CDC On Boot must be enabled. Without it, the serial port may not appear after flashing, and the board can seem dead when it is not.
Pick the right port and upload. When the output says the board is resetting, the upload worked.
Power it, wait a few seconds for the boot animation, and join the board's Wi-Fi network from your phone. The screen shows the network name, password and address. Open the address in your browser and the controller page appears.
Making it your own with an AI coding tool
The project is a good playground for an AI code editor, because it is small, it is in one file and every change shows up on the screen at once.
Start by asking the agent to explain the file in sections: setup, the drawing functions, the web routes and the main loop. Ask it to list every web route and what it does.
Then try small changes, one at a time.
Ask it to add a new expression, such as a sleepy face, and a new button on the control page that shows it.
Ask it to change the hotspot name and password to your own. Do this before you take the device anywhere, because the default password is public in the repository.
Ask it to add a timer that switches to the sleepy face after a few minutes with no input.
Build and flash after each change. If something breaks, you know which change caused it, and you can undo it. Keep the project in Git so undoing is easy.
When you feel confident, ask the agent for bigger features: a clock face that gets the time from your phone, a Pomodoro timer or a mode that joins your home Wi-Fi and shows the status of a build or a calendar event.
Pitfalls
Charge-only cables. If the board does not appear as a port, try another cable before anything else.
The CDC setting. If uploads work once and then the port disappears, check that USB CDC On Boot is enabled.
Blank or garbled screen. Check the wiring against the pin list, and make sure the display is the ST7789 240 by 240 version. Similar-looking screens use different driver chips.
Memory. The ESP32-C3 is a small chip. Large images or many animations can run out of memory. Draw shapes in code where you can, rather than storing big pictures.
Open hotspot risk. The board runs a web server that anyone on its network can use. With the default password, anyone nearby who knows the project could connect. Change it.
Variations
Design your own character instead of Clawd. Draw faces in a pixel-art tool and ask your agent to turn them into drawing code.
Add a small speaker or buzzer for sounds.
Add a touch sensor or a button so it reacts when you tap it.
Swap in a slightly larger board, such as an ESP32-S3, if you want more room for animations, a microphone or a link to a voice assistant.
Connect it to your AI coding tool, so the face changes when an agent finishes a task or needs your approval.
The short version
Clawd Mochi is a small desk character built from an ESP32-C3 Super Mini, a 1.54-inch ST7789 screen, eight wires and a printed case. The board makes its own Wi-Fi hotspot and serves a control page to your phone, with no internet needed. Flash the single sketch with USB CDC On Boot enabled, change the default hotspot password, and use an AI coding tool to add new faces and features one small step at a time.
Project resources: https://github.com/yousifamanuel/clawd-mochi
