Skip to content

English | 简体中文

WatcheRobot ​

Online documentation: wiki.orulink.ai. The Wiki builds from this repository and follows stable Releases. See maintenance and publishing.

The public WatcheRobot desktop-robot repository provides hardware files, mechanical models, the Python SDK, flashing tools, user guides, and Release asset documentation.

Get Your Robot ​

Prefer a finished robot without sourcing parts and assembling it yourself? Pre-order WatcheRobot on JD.com (China).

International purchasing channels are coming soon. We will add the links here when they launch. See the JD.com product page for pre-order details and delivery estimates.

Want to build your own? Follow the DIY build guide for hardware resources, assembly, and flashing instructions.

Project Preview ​

WatcheRobot desktop robot

WatcheRobot is designed for desktop companionship, interactive demos, and developer experiments. It combines a Watcher head, ESP32-S3, an STM32 body board, servos, mechanical parts, and SD-card resources. You can use it through Desktop, the mobile App, or the Python SDK.

Quick Start ​

For users who already have a working, assembled robot. Cloning the repository, preparing flashing tools, or reflashing is not required.

  1. Power on and install a client: download an installer for your computer or phone from the device guide.
  2. Configure networking: scan the robot's QR code in the phone App and complete Wi-Fi setup.
  3. Connect the robot: use Desktop Link for a computer or SDK, and Phone Control for phone control; see Getting started.
  4. Start using it: perform the first-run check for expressions, lights, and movements within a safe range.

For application development, see the SDK quick start. For full operating instructions, see the device guide.

DIY Build Guide ​

Want to build your own? Follow the DIY build guide for hardware files, the BOM, assembly, paired firmware flashing, and SD resources. Then return to Quick Start to connect and use the robot.

Build Your Own Embedded Firmware (Development Preview, Not Publicly Released) ​

Alongside the Python SDK for host applications, we are preparing an independent ESP32-S3 hardware SDK. Developers own their app_main, UI, and application logic, using a unified interface for body motion, lights, body touch, camera, microphone, speaker, display, and screen touch. It does not require the official application, Python SDK, Daemon, or server.

The first release targets three independently buildable examples: body, head, and whole robot. STM32 and Himax use a validated firmware pairing; developers are not expected to modify their firmware. See the Embedded Development Preview for scope and release gates.

Source and three examples are in firmware/sdk/, currently a development preview without full hardware acceptance or a pinned release. Existing Releases and tools flash official firmware, not everyday custom builds. Official application and STM32/Himax implementations remain outside SDK open-source scope.

Project Documentation ​

Open-source Scope ​

  • This repository publishes hardware production files, mechanical models, the Python SDK, flashing tools, and documentation.
  • Python SDK source is provided through the python-sdk/ submodule.
  • Official ESP32-S3 application, Himax, STM32, App, server, and Desktop implementations are not published here; an independent embedded hardware SDK is available as a development preview.
  • Firmware, client installers, and SD-card resources are distributed through GitHub Releases.

Technology Stack ​

AreaTechnology or format
HeadWatcher, Himax, ESP32-S3
Body controlSTM32F103, SWD / ST-LINK
SDK and flashing toolsPython, PowerShell, Bash
Hardware filesSchematic, PCB, BOM, CPL, Gerber, STEP

License ​

This repository uses GPL-3.0. Subprojects and third-party components retain their own licenses.

WatcheRobot official documentation