For developers · open source

Stack-chan, on an M5Stack CoreS3 Lite.

An ESP32-S3 with a touch display, camera, two microphones and a speaker, on a two-servo neck in a printed shell. It runs the open-source Stack-chan firmware, in JavaScript on the Moddable SDK, and Arduino and M5Unified work too. Build it yourself, or have it arrive assembled.

Kit or assembled · ₹5,999 either way · ₹599 to book, the rest on delivery

Two finished robots, one white and one black, side by side on a dining tablePhoto
Two finished robots, white and black. Photographed, not rendered.

What is on the board

Stock parts, named exactly.

Look every one of them up before you buy. Nothing here is proprietary, and nothing is locked.

Face and eyesU1 · ILI9342C
Animated expressions, blinking and gaze on a 2.0" 320 × 240 IPS display. Draw your own faces.
Two-axis headM1 · M2 · A1
Pan and tilt on two SCS0009 bus servos, each on its own address on one RS485 pair, with position readback.
VoiceU1 · ES7210 · AW88298
Dual microphones on an ES7210 codec and a 1 W speaker on an AW88298 amplifier, for voice applications.
TouchU1 · FT6336U
A capacitive touch display, and three-zone touch on the body.
CameraU1 · GC0308
A GC0308 camera for video viewing and programmable vision features.
ConnectivityU1 · ESP32-S3
Wi-Fi, Bluetooth LE and NFC hardware. ESP-NOW for wireless remote control, and firmware updates over the air.

In the box

8 parts. Nothing else to buy.

Including the printed shell and the fasteners. For the kit, you supply a USB-C cable and a computer.

  • U1× 1M5Stack CoreS3 LiteESP32-S3 controller with a 2.0" touch display, camera, dual mics and speaker. This is the face and the brain.
  • M1× 1SCS0009 bus servo, pan6 V, 2.3 kg·cm, 300° of travel. Turns the head left and right.
  • M2× 1SCS0009 bus servo, tiltSame servo, its own address on the bus. Nods the head up and down.
  • A1× 1Waveshare bus servo driverDrives both servos over one RS485 pair and carries the servo power rail.
  • PS1× 15 V 3 A power supply5.5 mm DC plug, sized so both servos can stall at once without a brownout.
  • H1× 1 set3D-printed shell and bracketsPrinted here and shipped with the kit. You do not need a printer.
  • W1× 1 set20 cm Dupont cable set40-pin, male/male, male/female and female/female.
  • F1× 1 setM2×8 and M3×16 fastenersHigh-tensile, black oxide, countersunk so the shell sits flush.

How you build it

Four steps, one evening.

In order, because the order matters. No soldering.

  1. 01

    Check the servos

    Both arrive already addressed and centred: pan on one ID, tilt on the other. Power them up and confirm each answers before anything is bolted shut.

  2. 02

    Build the neck

    Both servos bolt into the printed brackets with the M2 and M3 fasteners. Pan on the bottom, tilt on top.

  3. 03

    Wire the bus

    Servos to the driver board, driver board to the controller, power supply to the rail. One pair of wires for both servos.

  4. 04

    Flash it

    Pull the Stack-chan firmware, build with the Moddable SDK, push it over USB-C. The face comes up and the head finds centre.

Real footage
One kit going together, unedited

Finished

What it becomes.

The same robot, built: one black, one white, on an ordinary table. And a video call from the phone app.

Real footage
Video call · shot on a phone
A white and a black PebbleRobo side by side on a patterned tableclothPhoto
Black and white
Two PebbleRobos on a dining table in the late-afternoon lightPhoto
On the dining table
Close up of the two robots, the white one turned towards the black onePhoto
Up close

Specifications

Read the whole datasheet.

ControllerU1

SpecificationDetail
Main controller
ESP32-S3
Xtensa LX7 dual-core 32-bit, 240 MHz
16 MB Flash, 8 MB PSRAM
Wireless
2.4 GHz Wi-Fi
Bluetooth LE
Wired
USB-C, OTG and Serial/JTAG
HY2.0-4P (PORT.A), M5-BUS
Display
2.0-inch IPS LCD, 320 × 240, ILI9342C driver
Capacitive touch, FT6336U driver
CameraGC0308, 0.3 MP
Audio
AW88298 16-bit I²S amplifier, 1 W speaker
ES7210 codec, dual microphone input
Sensors
BMI270 6-axis IMU + BMM150 magnetometer
LTR-553ALS-WA proximity and ambient light
Power
AXP2101 PMIC
BM8563 RTC
200 mAh LiPo
StoragemicroSD slot
Dimensions
54.0 × 54.0 × 16.5 mm
54 g

MotionM1 · M2

SpecificationDetail
ServoSCS0009 serial bus servo, two supplied
Bus
RS485, individually addressable
Position readback
Operating voltage6 V
Stall torque2.3 kg·cm
Travel300°
Axes
Pan, driven by M1
Tilt, driven by M2

Power and driverA1 · PS1

SpecificationDetail
Driver board
Waveshare serial bus servo driver
ST/SC series compatible
Supply
5 V, 3 A
5.5 mm DC barrel plug
RailServo supply kept off the controller rail

Software

SpecificationDetail
Firmware
Stack-chan on the Moddable SDK
Behaviour written in JavaScript
Also supportedArduino core and M5Unified, in C++
LicenceApache License 2.0

Two ways to have one

Same robot. Same price.

₹5,999 for either, with ₹599 to book and ₹5,400 in cash on delivery. The only difference is who puts it together.

You build it

Build-it-yourself kit

The same robot as eight parts. One evening, no soldering.

We match the parts, print the shell, and address and centre the servos.

Book today

₹599

Full price

₹5,999
Book the kit for ₹599

SKU PBL-KIT-01

Done for you

Fully assembled

Ready the moment it arrives. Plug it in and it wakes up.

We build it, set it up, and check its face and every movement before it’s boxed.

Book today

₹599

Full price

₹5,999
Book it assembled for ₹599

SKU PBL-BOT-01

Questions

Questions builders ask.

Something we haven’t answered? support@pebblerobo.com

Stack-chan, the open-source desk robot by Shinya Ishikawa and contributors, built on an M5Stack CoreS3 Lite with two SCS0009 bus servos and a 3D-printed shell. We match the parts, print the shell, and address and centre the servos. It is not an official Stack-chan or M5Stack product, and the software is Stack-chan’s; we take no credit for it.

Order

Book yours.

Kit or assembled, your details and your colour. It takes about a minute.

Choose yours
Colour
Ember · same price in every colour
How would you like to pay?
Pay now to book
₹599
Remaining, charged after booking, on delivery
₹5,400

Total ₹5,999.

Card · UPI · netbanking · EMI

Prefer Amazon? Also available on Amazon — ₹5,999 in full there, with Amazon’s delivery and returns.

Only ₹599 is charged now. The remaining ₹5,400 is charged after booking: the courier collects it in cash when the box reaches you. Your address and phone go to the courier, because that is how a parcel arrives, and to Mixpanel so we can follow up if an order does not complete. Payment is handled by Razorpay, and your card details never reach us.