CAKE: the Desktop Companion Robot
.png)


.png)
.png)
Meet Cake, a addorable little desktop companion robot with a gentle personality and a focus on movement, expression, and interaction and it also give you fitness related reminders.
Cake doesn’t clean your room or make coffee, but it does roll up, wave hello, and bop to little tunes. Built with love and a few lines of C++, Cake aims to be fun, easy to build, and open to your ideas.
Designed for casual interaction and light productivity, Cake features dual-mobility, audio feedback, sticky notes, and real-time updates — all packed into a compact, beautifully customizable form.
Firmware version: v1.24
Designed in AUTODESK FUSION 360
Features
Dual mobility: Walk or roll mode with real-time switching
Mood modes with eye/LED animation (e.g., happy, angry, curious)
Sticky Notes: Display custom text via the embedded web UI
Reminders: Schedule water breaks or custom alerts
Time/Date: Real-time clock from ESP32 with auto-sync
Joystick control via responsive local web UI
Auto-reconnect on Wi-Fi restart
Battery level display and servo feedback (updated every 2s)
Speed settings with simple slider
Plays short melodies or sounds (via speaker)
Power-saving: Auto-disable servo torque in "stand" mode
Supplies


What You'll Need
Servos: 4x SC09 Serial Servos (Waveshare or equivalent)
Driver: Waveshare Serial Servo Driver Board
Speaker: MAX98357A DAC with any small Speaker
Display: 2.4" OLED
Lights: Neopixel led Strip
Microphone: INMP mic or I2S (mic included, not yet functional in v1.24)
Proximity: ADPS9960 (gesture / ambient light. not yet functional)
Battery: 2S LiPo 2500mAh or equivalent
Charging: USB-C Charging module and Buck Converter (5V rails)
Mini Buck Converter (5V rails)
Connectivity: Wi-Fi AP Mode (ESP32 (no internet required)
Spray Paint of your choice (I use Dark blue, matt black)
And some inner engineering soul with common sense.. etc.
All components which are connected to ESP32 (2) are powered by a regulated buck converter. Servos are connected via serial daisy chain through a junction board Which then connects to the serial servo driver board, powered directly from the battery for consistent torque.
Gather the Components

Collect all the mentioned components listed above.
Its not necssarily this components if you can procure them.. you can choose any other similar or equvivalent compotnents.
The exact components are required if You are going on... with PCB (PFA).
3D Print and Finishing
Print the base, shell, wheel caps, head, head accessorie
Recommended: 0.2mm layer height, PLA or PETG
Optionally spray-paint for a smooth, vibrant look
STL files for the chassis, shell, and wheel clips: Download from GitHub / also attached it here. (PFA)
i aslo attached a reference video so you can see the method.
note: I would suggest you to look once at both wheel designs, print whichever you like.
PCB Order


JUST find the gerber file form my github and upload it to you manufacturers website.
it will just cost around 5$ on pcbway
Assemble Body
.jpeg)
.jpeg)

.png)
- Assembling body is the easiest partt, just connect them.
- you will need m3 screws to connect head and lef.
- lid is snap fit .. but you can also opt for tightning it with m3 screws.
- I will suggest you to stick the (circular attachment which comes with servo) on the wheel.
- its the best method and easily removable while working with it.
- Glue a red wire or a rubber gascket around the wheel for grip and looks.
- Fit servos on feet and wheels with screws.
- Dont forget ot mount leds.. it should be glued facing botton.
and all set!!
Assemble Hardware

- Install servos (IDs: 1 & 3 – arms/feet; 2 & 4 – wheels)
- before connecting servos to junction, you will manually need to assign a id to each servo. (form 1 -4)
- Connect servos to junction board and driver
- Mount speaker, mic, OLED, Neopixel, and ADPS to ESP32
- Power ESP32 (2) via regulated 5V from the buck converter
- Install the battery and toggle switch
- Optional: wire headphone jack for alternate audio output
- I had attached schematics of pcb.
PFA: A detailed connection table is available in the GITHUB repo
Downloads
Flash Firmware
Flash using Arduino IDE / Arduino Cloud
(Validated and uploaded with arduino IDE 2.3.6) / (Arduino Cloud)
There are 2 separate code (.ino) files for ESP1 and ESP2
(Some preview..)
On first boot:
- servo move to neutral
- Wheels (2/4) move to stand pose
- Torque turns off after 1 second
- Battery and servo feedback start updating
Calibrate & Test
Initial Boot:
- LEDs will cycle blue (2 rounds) → green flashes → fade to blue.
- OLED shows "Hi I am CAKE" → plays GIFs → transitions to animated eyes.
Test Servos:
- Connect to WiFi CAKE_ROBOT (password: 12121212).
- Open 192.168.4.1 in a browser.
- Use the web UI to test servo movements.
Use the Web Interface
Controls:
- Motion: Forward/backward, tilt left/right
- Eyes: Angry, happy, sleepy modes
- LEDs: Pulse, static, or mood-based colors
- Reminders: Set timer-based alerts
Enjoy Your CAKE Robot! 🍰
.png)
Experiment with animations, add sensors, or program new behaviors via the web interface!