Clawd Mochi: the ESP32-C3 desk mascot you drive from a phone hotspot
Clawd Mochi: a physical desk companion inspired by Clawd (Claude Code mascot)
At a glance
- What is it?
- Clawd Mochi is a small C++ project that puts an animated pixel crab on a 1.54 inch colour display using an ESP32-C3, controlled through a web page served by the device's own WiFi hotspot. It is a hobby build with a documented part list, a one hour assembly claim and a few rough edges around file paths and configuration.
- Who is it for?
- Clawd Mochi suits a maker who already owns a 3D printer, a USB-C cable and about an hour, and who wants a small animated desk display rather than a production device. It is the wrong project for a team that needs telemetry, updates over the air or a stable API, since the sketch is driven from a fixed hotspot password and the repository publishes no releases.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 117 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A desk display that answers to a phone, not a cloud service
Clawd Mochi is a physical desk companion modelled on Clawd, the pixel crab mascot of Claude Code. The project description gives the hardware in one sentence: an ESP32-C3 drives a 1.54 inch colour TFT display and hosts a mobile web controller, with no app, no internet and no cloud required. That sentence is the whole design argument. There is no server component, no account system and no vendor API, because the microcontroller itself is the web server and the display is attached to it over SPI.
Who it is for is narrow and stated plainly. A hobbyist who wants a small animated object on a desk and is comfortable with a breadboard, a soldering-free jumper wire set and a 3D printer. The project quotes a cost of roughly six to eight dollars, a build time of about one hour and a skill level of Beginner. The four things the device can show are pixel art eyes that wiggle and blink, a squinting happy face, a Claude Code display with an interactive terminal, and a canvas mode where you draw on the screen from the phone.
There is a legal and community boundary worth stating early. The project is an independent fan effort, not affiliated with, sponsored by or endorsed by Anthropic, and the names Claude and Clawd are Anthropic trademarks. The MIT licence covers the code. The trademark position does not.
The ESP32-C3 is both the display controller and the web server
The mechanism is compact because one chip does two jobs. The ESP32-C3 Super Mini is a microcontroller with built-in WiFi. It drives the ST7789 1.54 inch TFT, a 240 by 240 SPI colour display, over the chip's hardware SPI pins, and in parallel it runs a small web server that serves the control page to any phone or laptop that joins the access point the device creates.
The two libraries named for the build are the `Adafruit GFX Library` and the `Adafruit ST7735 and ST7789 Library`. GFX handles the drawing and font layer, the display driver handles the panel itself. The animation content is pixel art, which suits a 240 by 240 panel: the eye states are small sprite-like shapes that the sketch redraws, and a speed slider in the controller changes how fast the animation plays, with slow, normal and fast positions.
The controller also reaches beyond the eyes. It can change the background colour of all views, set the pen colour used in canvas mode, and toggle the display backlight entirely through the on/off control. Canvas mode is the most interactive piece: you draw on the phone and the strokes appear on the desk display in real time, and a done button exits the mode.
Because the panel is small and the resolution is modest, the visual language has to be simple. That is a constraint the project embraces rather than hides, and it is the reason the whole thing fits into a single sketch file.
SPI on GPIO 8 and 10, and a hard 3.3V limit
The wiring section is where a build either succeeds or wastes an evening, and the project is unusually specific about it. The display connects to the ESP32-C3 with eight short wires, and the guidance is explicit: VCC goes to 3.3V only, never 5V. SPI uses GPIO 8 and GPIO 10, and the documentation warns against using GPIO 6 or 7 for SPI, presumably because on this board those pins are tied to the USB serial bridge.
The full pin map given is VCC to 3V3, GND to GND, SDA to GPIO 10 for MOSI, SCL to GPIO 8 for SCK, RES to GPIO 2, DC to GPIO 1, CS to GPIO 4 and BL to GPIO 3. Each line also has a suggested wire colour, which is a nice touch for a first build since it removes the chance of a mis-pinned MOSI or clock line.
Two extra mechanical parts appear in the parts list. Two M2 by 6 millimetre screws mount the display bezel, and double-sided tape secures the components inside the case. A USB-C cable handles power, and the case itself is a 3D printed part in PLA or PETG weighing about 30 grams.
The 5V warning deserves emphasis. It is the one instruction in the project that can destroy a component, and it sits in a callout at the top of the wiring section for that reason. Nothing else in the assembly is a safety issue.
Arduino IDE setup and the one URL you have to paste
The build path runs through Arduino IDE 2.x, and the project assumes you can install board support and libraries yourself. The first configuration step adds the Espressif board index in the Preferences panel, under Additional boards manager URLs, where you paste the index URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonAfter that, the Boards Manager search for `esp32` should find the package named "esp32 by Espressif Systems", which is the one to install. In the Library Manager you add `Adafruit GFX Library` and `Adafruit ST7735 and ST7789 Library`.
The Tools settings matter and one of them is marked as important in the documentation. Set the board to `ESP32C3 Dev Module`, set CPU Frequency to 160 MHz, set Upload Speed to 921600, and set USB CDC On Boot to Enabled. That last setting is what makes the serial console and the upload path behave correctly on a board that presents USB directly rather than through a separate serial adapter.
Uploading is then a matter of opening the sketch in the IDE, connecting the board with USB-C, picking the right port under Tools, and pressing Upload. The IDE prints a line about a hard reset via the RTS pin, and the documentation treats that message as the success signal. Watch the port selection step, because an ESP32-C3 that enumerates as a different device after a first flash is a common source of confusion.
The controller is a browser page at 192.168.4.1 on a named hotspot
Running the device is short. Power it over USB-C from any charger or power bank, wait about three seconds for the boot animation to finish, then open the WiFi settings on a phone or computer and join the network named `ClaWD-Mochi` using the password `clawd1234`. Open a browser and navigate to `http://192.168.4.1`, and the web controller appears.
The address is the giveaway that this is a standalone access point rather than a device on your home network. The device hands out its own address space, so the controller works in a room with no router, no internet connection and no cloud account. That is the same property that makes the project attractive in the first place, and it also means the controller is only reachable from a device that knows the fixed network name and the fixed password written in the documentation.
The trade-off is worth stating plainly for anyone planning to use this beyond a novelty. The credentials are static and published in the README, there is no pairing flow and no way to change them through the controller interface, and the controller has no authentication of its own. On an open network, anyone who knows the name can connect and take over the display. For a desk toy in a private room, that is a reasonable default. For a device in a shared office, it is the first thing to fix, and the fix has to happen in the sketch source rather than in a configuration file.
The controller table lists nine controls: normal eyes, squish eyes, Claude Code view, canvas mode, the speed slider, background colour, pen colour, a display on/off toggle and the canvas done button. The Claude Code view shows a code display and opens a terminal on the small screen, which is the part that reads as a joke about the mascot's origin.
The printed case is half the object, and it has two variants
The enclosure is not an afterthought. The repository carries the case model in the `models/` folder, and the README points at `models/clawd_mochi/clawd_mochi_v1.stl`, described as the main case layout with body and back parts. There is also a separate 3D Clawd model with no screen or electronics cutouts, for the case where you only want a display piece.
The print settings are given so a first attempt does not need guesswork. The filament is PLA or PETG, layer height runs from 0.15 to 0.20 millimetres, infill is 15 percent gyroid, supports are needed for the display window overhang, and the orientation is face-down with a flat back on the build plate. Suggested colours are orange PLA for the body and matte black for the back plate. The case is about 30 grams, and the parts list puts it at roughly fifty cents.
Print support for the overhang is worth taking seriously, since the display window is where a failed print shows most. The orientation guidance assumes a printer that can handle a small part sitting flat, and a machine with a small build volume or a warped first layer will make the fit harder than the one hour estimate suggests.
The case is also where the assembly risk concentrates. A 3D printed bezel and a 1.54 inch panel are off-the-shelf parts with tolerance differences between manufacturers, and the documentation does not give a clearance figure. If the panel does not sit in the printed window without forcing, that is the point to stop and adjust the model before soldering anything together.
The sketch path in the setup steps does not match the repository root
There is a concrete inconsistency in the instructions, and it is the kind of thing that costs a newcomer ten minutes. The upload section says to open `clawd_mochi/clawd_mochi.ino` in the IDE, which implies a subfolder holding the sketch. The listing of top level repository entries shows `clawd_mochi.ino` sitting at the root alongside `models/`, `pics/`, `README.md`, `LICENSE` and `.gitignore`, with no separate `clawd_mochi` directory. Elsewhere the documentation refers to the case model folder as `clawd_mochi` under the models directory, which may be where the name in the path comes from.
The safe move is to open whichever `clawd_mochi.ino` file your clone actually contains and check that it is the only sketch in the project. This is not a fatal flaw, and it does not affect the wiring or the controller, but it does mean the written steps and the tree do not fully agree.
A second gap is documentation depth. There is no troubleshooting section, no explanation of the boot animation, and no description of what happens if the sketch is flashed but the display stays black because the backlight pin or the chip select line is wired wrong. There is no wiring diagram image either, so the pin table in text is the only reference you have while building.
MIT code, no releases, and a last push on 2026-06-28
The licence is MIT, so the sketch, the case model and the documentation can be reused and modified freely. The trademark position is separate and worth repeating before printing anything for sale: Claude and Clawd belong to Anthropic, and the project states that it is not affiliated with or endorsed by them. Selling a physical build as a Claude Code accessory is a different question from using the code, and the repository does not offer guidance on that.
On maintenance, the facts are limited. The repository is not archived, and the last push was on 2026-06-28. There are no GitHub releases at all, so there is no version history to follow, no changelog and no tagged sketch to roll back to. Anyone who wants to reproduce a build later should keep a copy of the sketch they flashed, because there is no release to point at.
The trade-off for a hardware project of this size is that activity matters less than reproducibility. The project is a single sketch plus a printable model, so a quiet repository is not a blocker if the parts are documented, and the parts are documented in detail. What is missing is any record of firmware changes over time, which means you cannot tell from the repository whether a later change fixed a display issue someone posted about.
The practical reading is that this is a complete, followable build that a maker can finish in a sitting, provided they accept that support means reading the sketch when something misbehaves.
Editorial conclusion
Clawd Mochi suits a maker who already owns a 3D printer, a USB-C cable and about an hour, and who wants a small animated desk display rather than a production device. It is the wrong project for a team that needs telemetry, updates over the air or a stable API, since the sketch is driven from a fixed hotspot password and the repository publishes no releases. Before ordering parts, confirm two things: whether `clawd_mochi/clawd_mochi.ino` resolves in your clone, because the repository root lists `clawd_mochi.ino`, and whether the printed case fits the bezel of the display you buy. The MIT licence lets you modify the sketch freely, and the trademark notice means you should not present the result as an official Anthropic product.
Frequently asked questions
What is Clawd Mochi and what hardware does it need?
It is a desk companion that shows an animated pixel crab on a 1.54 inch ST7789 colour display driven by an ESP32-C3 Super Mini. The parts list is an ESP32-C3, an ST7789 1.54 inch TFT, eight short wires, two M2 by 6 millimetre screws, double-sided tape, a USB-C cable and a 3D printed case.
How do I connect to the Clawd Mochi controller?
Power it over USB-C, wait about three seconds for the boot animation, join the WiFi network named `ClaWD-Mochi` with the password `clawd1234`, then open `http://192.168.4.1` in a browser. The device serves the controller from its own access point, so no internet connection is needed.
What display and libraries does the Clawd Mochi sketch use?
The display is an ST7789 1.54 inch 240 by 240 SPI colour panel, and the sketch uses the `Adafruit GFX Library` and the `Adafruit ST7735 and ST7789 Library`, both installed from the Arduino Library Manager. SPI runs on GPIO 8 and GPIO 10, and VCC must be 3.3V only.
Can I build Clawd Mochi without a 3D printer?
The case is a 3D printed part, and a separate 3D Clawd model exists for people who only want a display piece. The electronics still need a home, and the documentation does not describe an alternative enclosure, so printing or sourcing an equivalent case is part of the build.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/yousifamanuel-clawd-mochi)Was this useful?