CAKE: the Desktop Companion Robot

by pxvn in Circuits > Robots

90 Views, 4 Favorites, 0 Comments

CAKE: the Desktop Companion Robot

head (5).png
Meet CAKE – My Custom Built Desktop Companion Robot
WhatsApp Image 2025-05-13 at 12.01.55 AM.jpeg
head (3).png
head (4).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

cake labled.png
cake labled2.png

What You'll Need


MCU: ESP32 DevKIT V1 Board

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)

Power Button

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

CAKE COMPONENTS ON DESKT.png

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

WhatsApp Image 2025-05-13 at 12.01.55 AM.jpeg
WhatsApp Image 2025-05-13 at 12.01.56 AM.jpeg

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

WhatsApp Image 2025-05-14 at 4.24.06 AM (2).jpeg
WhatsApp Image 2025-05-14 at 4.24.06 AM (1).jpeg
WhatsApp Image 2025-05-14 at 4.24.06 AM.jpeg
head (1).png
  1. Assembling body is the easiest partt, just connect them.
  2. you will need m3 screws to connect head and lef.
  3. lid is snap fit .. but you can also opt for tightning it with m3 screws.
  4. I will suggest you to stick the (circular attachment which comes with servo) on the wheel.
  5. its the best method and easily removable while working with it.
  6. Glue a red wire or a rubber gascket around the wheel for grip and looks.
  7. Fit servos on feet and wheels with screws.
  8. Dont forget ot mount leds.. it should be glued facing botton.


and all set!!

Assemble Hardware

head.png
  1. Install servos (IDs: 1 & 3 – arms/feet; 2 & 4 – wheels)
  2. before connecting servos to junction, you will manually need to assign a id to each servo. (form 1 -4)
  3. Connect servos to junction board and driver
  4. Mount speaker, mic, OLED, Neopixel, and ADPS to ESP32
  5. Power ESP32 (2) via regulated 5V from the buck converter
  6. Install the battery and toggle switch
  7. Optional: wire headphone jack for alternate audio output
  8. I had attached schematics of pcb.

PFA: A detailed connection table is available in the GITHUB repo

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:

  1. servo move to neutral
  2. Wheels (2/4) move to stand pose
  3. Torque turns off after 1 second
  4. Battery and servo feedback start updating


Calibrate & Test

Initial Boot:

  1. LEDs will cycle blue (2 rounds) → green flashes → fade to blue.
  2. OLED shows "Hi I am CAKE" → plays GIFs → transitions to animated eyes.

Test Servos:

  1. Connect to WiFi CAKE_ROBOT (password: 12121212).
  2. Open 192.168.4.1 in a browser.
  3. Use the web UI to test servo movements.


Use the Web Interface

Controls:

  1. Motion: Forward/backward, tilt left/right
  2. Eyes: Angry, happy, sleepy modes
  3. LEDs: Pulse, static, or mood-based colors
  4. Reminders: Set timer-based alerts


Enjoy Your CAKE Robot! 🍰

head (2).png


Experiment with animations, add sensors, or program new behaviors via the web interface!