FloatingFace
A small multifunctional robot mounted on three paracord ropes that moves by tensioning or loosening each rope.
- Other
- Open source
- Work in progress
- arduino
- 3D printable
Suggested by Robotheca, created by @mrk-fox (opens in a new tab), from github.com/mrk-fox/FloatingFace (opens in a new tab). Pinned to commit 7d4d82d (opens in a new tab).
- Hardware license
- CERN-OHL-S-2.0 (opens in a new tab)
- Software license
- CERN-OHL-S-2.0 (opens in a new tab)
- Commercial use
- Allowed
Photo and 3D model

3D preview converted from github.com/mrk-fox/FloatingFace at 7d4d82d, under CERN-OHL-S-2.0. View the original files from GitHub (147 KB) (opens in a new tab)
- Cable length
- 3 mm
What it can do
Written by Robotheca from the project's documents.
- Moves a platform within and under three mounting points by tensioning or loosening three paracord ropes arranged in a triangle
- Calibrates itself automatically, using light sensors and magnetic encoders at the end of moves
- Adjusts its angle at the end of a move using an MPU5060 sensor relative to gravity, one motor step at a time until within 10 degrees
- Can be extended via a cheeseplate with an additional servo for mechanization
- Movement algorithm validates coordinates, computes per-motor run vectors, slows near the end, and finishes on magnetic encoder feedback
Bill of materials
14 parts14 of 14 parts shown
≈ € amounts use the ECB reference rate of 22 Oct 2026, for comparison only.
Parts total: $328.47. Read from BOM.csv at the pinned commit.
Build guide
The creator's steps, each with its instructions.
- 1Assemble the level one baseplate with the motors and line drums, and place it on
- 2Mount the servo and the MCU to the motor mount and baseplate
- 3Assemble the 20x20 frame hexagon and mount the baseplate to it together with the
- 4Assemble the second level (electronics) and connect all electronics
- 5Fix everything together with the threaded rods and spacers
- 6Add the cheeseplate
- 7Flash the firmware
The guide appears here as you scroll.
Guide by @mrk-fox (README.md), under CERN-OHL-S-2.0.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- Custom driver PCB with three TMC2209 stepper driver slots
- ESP32-S3 microcontroller (ESP32-S3-DevKitC-1 / ESP32-S3-WROOM-1 module)
- Three AS5600 magnetic angle encoders for redundant travel distance sensing
- TCA9548A I2C multiplexer for the three AS5600 sensors
- MPU5060 inertial sensor for angle calibration
- U-Light light sensors used as guide sensors on the line rolls
- NEMA17 0.5Nm stepper motors driving the line drums
- ST3215 Waveshare serial bus servo with a serial bus servo driver board, for the cheeseplate mechanism
Connections
- The TCA9548A I2C multiplexer switches among the three AS5600 encoders on one I2C bus
- The overview schematic is in the repository's KiCad and EasyEDA files and a delta_drive v1.1 schematic image
- Every cable leading to the line measurement units and motors is routed through the through-leading holes of the appropriate third of the robot
- Cables are bundled with zip ties every 2cm and a 1cm cable-free safe zone is kept around the line roll cutout