Skip to content

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).

Photo and 3D model

FloatingFace, photo from its repository
Photo:@mrk-fox (opens in a new tab)CERN-OHL-S-2.0source file (opens in a new tab)

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 parts
Export parts list (CSV)

14 of 14 parts shown

Parts list
#ComponentQuantityEst. priceSupplier
1695 Bearing15$5.13≈ €5Supplier: buy 695 Bearing, opens in a new tab
2ST3215 Waveshare1$2.99≈ €3Supplier: buy ST3215 Waveshare, opens in a new tab
3Serial Bus Servo Driver Board1$4.99≈ €4Supplier: buy Serial Bus Servo Driver Board, opens in a new tab
4TMC2209 Drivers4$10.52≈ €9Supplier: buy TMC2209 Drivers, opens in a new tab
5900mm 2020 Profile1$8.25≈ €7Supplier: buy 900mm 2020 Profile, opens in a new tab
6U-Light Sensor3$3.18≈ €3Supplier: buy U-Light Sensor, opens in a new tab
710x10x5 Neodym magnets5$8.07≈ €7Supplier: buy 10x10x5 Neodym magnets, opens in a new tab
8AS5600 Magnetic Encodes3$10.35≈ €9Supplier: buy AS5600 Magnetic Encodes, opens in a new tab
9delta_drive v1.15$7≈ €6Supplier: buy delta_drive v1.1, opens in a new tab
10ESP32-S3-DevKitC-11$7.77≈ €7Supplier: buy ESP32-S3-DevKitC-1, opens in a new tab
11TCA9548A1$1.52≈ €1Supplier: buy TCA9548A, opens in a new tab
12MPU 50601$1.17≈ €1Supplier: buy MPU 5060, opens in a new tab
13NEMA17 0.5Nm3$12.27≈ €11Supplier: buy NEMA17 0.5Nm, opens in a new tab
141kg ABS1$30≈ €27Supplier: buy 1kg ABS, opens in a new tab

≈ € 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.

  1. 1Assemble the level one baseplate with the motors and line drums, and place it on
  2. 2Mount the servo and the MCU to the motor mount and baseplate
  3. 3Assemble the 20x20 frame hexagon and mount the baseplate to it together with the
  4. 4Assemble the second level (electronics) and connect all electronics
  5. 5Fix everything together with the threaded rods and spacers
  6. 6Add the cheeseplate
  7. 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