Download Game! Currently 117 players. Last logged in:MarvinVerenSpannAtletico

Blitzer's Blog >> 72839

Back to blogs index
Posted: 29 Sep 2026 19:51 [ permalink ]
Designing a 3D-printed humanoid with an Android core and angular joints
requires balancing structural integrity with the "ragdoll" requirement. In
robotics, a true ragdoll state (where joints can be physically manipulated or
go limp without breaking) requires backdrivability and persistent positional
awareness.
Here are the primary architectural options for this build:
1. Actuation: Achieving "Ragdoll" Compliance
To achieve a ragdoll effect, the control system must know the angle of every
joint even when the motors are unpowered or actively yielding.
 * Smart Serial Bus Servos (Recommended): Actuators like the Feetech STS3215
or Robotis Dynamixel XL430 are ideal. They daisy-chain together (reducing a
20-joint robot's wiring to a single 3-wire bus) and feature built-in magnetic
encoders. Crucially, you can programmatically disable their torquedropping the
robot into a limp ragdoll statewhile continuously reading their angles for
"teach-by-demonstration" pose recording.
 * BLDC Gimbal Motors with SimpleFOC (Premium): Using small brushless drone
motors paired with magnetic encoders provides true active compliance (virtual
springs and dampers). This yields the most lifelike, fluid ragdoll physics,
but requires complex tuning and a custom motor driver for each joint.
 * Avoid PWM Hobby Servos: Standard RC servos (like the MG996R) have
high-friction gearboxes that resist backdriving. Forcing them into a ragdoll
pose will quickly strip their gears, and they lack the telemetry needed to
read joint angles.
2. The Android Core & Control Stack
Housing the phone in the torso centralizes the battery, IMU, camera, and
compute. Because an Android device cannot easily output serial commands
directly to a high-speed servo bus, you need a hardware middleman.
 * The Hardware Bridge: An ESP32 or RP2040 microcontroller sits between the
phone and the servo daisy-chain, handling the low-level serial protocol and
power distribution (servos need a dedicated 6V-12V power supply; the phone
cannot drive them).
 * Web-Native Orchestration: Instead of compiling a native Android app, you
can build the control logic entirely within Android Chrome. Using the Web
Serial API (via a USB-C OTG cable to the ESP32) or Web Bluetooth, you can
command the entire servo mesh using dependency-free vanilla JavaScript.
High-frequency kinematics and pose interpolation can be isolated inside Web
Workers to prevent UI blocking.
 * Vision & Edge Routing: The phone's rear camera (facing out of the torso)
acts as the primary sensor. Frames captured via the HTML5 getUserMedia API can
be streamed over WebSockets to an external local vision-model cluster for
semantic grounding, while the browser receives high-level execution commands
in return.
3. 3D Printed Chassis Architecture
 * Motor-as-Structure (Bracket Style): The most common approach for DIY
builds. The 3D printed plastic limbs act as brackets that screw directly onto
the servo horns and motor casings. The motors themselves bear the structural
load. Open-source projects like the Poppy Humanoid and pib utilize variations
of this architecture.
 * Exoskeleton with Linkages: The motors are housed centrally in the torso or
upper limbs, using 3D printed pushrods to actuate the extremities. This
reduces the moving mass of the arms and legs, making the ragdoll movements
faster and less prone to pendulum effects.
 * Material Constraints: Print the motor housing brackets in PETG, ABS, or
ASA. PLA has a low glass transition temperature (~60B0C) and will warp and
fail under the sustained heat generated by servos holding a static pose.