Skip to content
Conduit

skill

docsbot-robot

Open-source DocsBot Robot monorepo: ESP32 firmware, printable hardware, and iOS BLE remote

uglyrobot/docsbot-robotcommunitylistedunreviewed

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

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 26, 2026

DocsBot 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

AreaLocationPurpose
ESP32 firmwarefirmware/esp32/ESP-IDF voice, face, Wi-Fi portal, servo, and BLE control firmware
Firmware helperfirmware/scripts/run-idf.shBuild and flash wrapper for ESP-IDF 5.4.2
iPhone and Watch appsapps/ios/SwiftUI BLE remote and momentary Watch push-to-talk companion
3D-printable robothardware/3d/Current STL printables, editable OpenSCAD sources, and assembly notes
Shared conversion toolstools/Face-animation and SceneKit asset conversion scripts
Verification mediadocs/verification/Public simulator and model-review evidence
Agent skills.agent/skills/Contributor guidance for each project area

Quick start

iOS and Apple Watch

  1. Open apps/ios/DocsBotBLE.xcodeproj in Xcode.
  2. Select your own Apple Developer team under Signing & Capabilities.
  3. Keep the public bundle identifiers or change them to identifiers you own.
  4. 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 NOTICE for 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.

↑↓ navigate openesc close