skill
docsbot-robot
Open-source DocsBot Robot monorepo: ESP32 firmware, printable hardware, and iOS BLE remote
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/uglyrobot/docsbot-robot itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 26, 2026DocsBot Robot
DocsBot® Robot is an open-source hardware and software monorepo for a small voice robot: ESP32-S3 firmware, printable mechanical parts, and native iPhone and Apple Watch remotes.
DocsBot® is a registered trademark of DocsBot. This repository is an independent open-source project; the licenses below do not grant permission to use the DocsBot® marks as a product or company name.
Project photos
The current build is shown assembled in several finishes, in the hand, and with the head opened for wiring:
Assembly overview
The public assembly is organized as four modules: the head, neck, body, and articulated limbs. The optional shoulder mount attaches beneath the body for a wearable configuration.
flowchart TD
Display[ESP32-S3 display] --> HeadShell[Head shell]
NodServo[MG90S nod servo] --> HeadShell
HeadShell --> Yoke[Neck yoke]
NodServo --> Horn[Single-arm horn]
Horn --> TiltLink[Printed tilt link]
TiltLink --> Yoke
Yoke --> NeckTube[Neck tube]
NeckTube --> BodyShell[Body shell]
YawServo[MG90S yaw servo] --> BodyShell
Sled[Electronics sled + PCA9685] --> BodyShell
Speaker[Speaker + retainer] --> BodyShell
BodyShell --> BackPanel[Rear back panel]
BodyShell --> ArmAdapters[Body adapters]
ArmAdapters --> Arms[Toolkit arms + hands]
BodyShell --> HipAdapters[Hip adapters]
HipAdapters --> Legs[Toolkit legs + feet]
BodyShell --> ShoulderMount[Optional shoulder mount]
Firmware[ESP32 firmware] -.controls.-> Display
Firmware -.controls.-> NodServo
Firmware -.controls.-> YawServo
For the complete numbered procedure, hardware checklist, wiring checks, and first-boot calibration, see docs/assembly.md. The assembly guide also includes board reference illustrations for the Waveshare controller and PCA9685, plus the complete electronics wiring diagram.
Repository layout
| Area | Location | Purpose |
|---|---|---|
| ESP32 firmware | firmware/esp32/ | ESP-IDF voice, face, Wi-Fi portal, servo, and BLE control firmware |
| Firmware helper | firmware/scripts/run-idf.sh | Build and flash wrapper for ESP-IDF 5.4.2 |
| iPhone and Watch apps | apps/ios/ | SwiftUI BLE remote and momentary Watch push-to-talk companion |
| 3D-printable robot | hardware/3d/ | Current STL printables, editable OpenSCAD sources, and assembly notes |
| Shared conversion tools | tools/ | Face-animation and SceneKit asset conversion scripts |
| Verification media | docs/verification/ | Public simulator and model-review evidence |
| Agent skills | .agent/skills/ | Contributor guidance for each project area |
Quick start
iOS and Apple Watch
- Open
apps/ios/DocsBotBLE.xcodeprojin Xcode. - Select your own Apple Developer team under Signing & Capabilities.
- Keep the public bundle identifiers or change them to identifiers you own.
- Build on a real iPhone for CoreBluetooth testing; the Simulator can only exercise demo UI states. The Watch companion relays push-to-talk through the iPhone.
The BLE service UUIDs and packet contract are documented in the iOS source and
must stay aligned with firmware/esp32/main/docsbot_ble.c.
ESP32
ESP-IDF 5.4.2 is expected. From the repository root:
./firmware/scripts/run-idf.sh build
./firmware/scripts/run-idf.sh -p /dev/cu.usbmodemXXXX flash monitor
The checked-in firmware/esp32/main/settings.h is a credential-free template.
If you need private DocsBot identifiers for a local build, create the ignored
firmware/esp32/main/settings.local.h; never commit it. Wi-Fi credentials are
entered through the robot's captive portal and stored in NVS. There is no
compiled fallback Wi-Fi network or password in this repository.
3D printing
Start with hardware/3d/README.md and its print
layout guide. The hardware/3d/printables/ directory contains one canonical
current set. Deprecated one-piece limbs, raw shoulder meshes, inspection-only
meshes, and historical release duplicates are intentionally absent.
See the parts list for the electronics, fasteners, magnets, filament, and Amazon shopping links that match this build.
Attribution and licensing
- Software, firmware, app source, scripts, and original documentation are licensed under the Apache License 2.0.
- Original DocsBot Robot 3D designs and printables are licensed under CC BY 4.0, which requires attribution.
- The adapted Toy Robot Toolkit limb files remain under
CC BY-SA 3.0, with the original attribution
and license text preserved in
hardware/3d/references/toy-robot-toolkit/. - See
NOTICEfor required DocsBot® and third-party attribution notices.
When redistributing a modified copy, retain the applicable copyright, attribution, and license notices. Do not imply endorsement by DocsBot or use DocsBot® branding to market an unapproved product.
Contributing
Read CONTRIBUTING.md, the relevant skill under
.agent/skills/, and SECURITY.md before opening a pull
request or sharing changes.
Project name
The intended public repository name is docsbot-robot; the project name is
DocsBot Robot.