Desk buoy that mirrors live wave motion from real sea buoys

Oct 31, 2026 Last reply: 4 hours ago 2 Replies
Jump to replies (2)

Most of us check a wave buoy website and read numbers. The maker, a maritime pilot in Belgium, wanted the sea itself on the desk: a small 3D printed west cardinal buoy hung from eight lines, each one winding onto a spool on a stepper. Feeding the lines in and out together lifts, drops and tilts the model, and an ESP32-S3 drives it all from live readings off public buoys, including NOAA, CDIP, the Irish Marine Institute and Belgian and Dutch North Sea stations.



The frame is a neat rectangle of white printed parts and round wooden dowels, with motors wearing green spools at the four top and four bottom corners. Electronics look tidy too: eight TMC2209 drivers on UART through TMCStepper, running silent StealthChop with no Vref pots to fiddle with. A 1.9 inch LCD and a rotary knob pick the buoy, WiFiManager handles setup by QR code, and power arrives over USB-C through a HUSB238.



The motion side is what impresses me. One hardware timer fires the step pulses for all eight motors, and a task running at 100 Hz recomputes position, tilt and all eight line lengths every 10 ms. Fresh wave numbers arrive every half hour, and for CDIP buoys the last 30 minutes of recorded motion gets replayed in real time, interpolated up to that loop. At startup all eight lines wind in at low current until each motor slips, and that is how it homes without endstops.



Two things remain open. There is no tension measuring at all; the maker called real sensing a nice upgrade but has not committed to it. The STL and build instructions are also still pending.


I keep wondering about line tension on this. With eight steppers pulling a model that weighs only a few dozen grams, does the maker measure the pull anywhere, or is it all set once and left to the geometry? Also curious whether a slack line over weeks is a real problem or just a menu fix away.

The maker has said there are no load cells and no tension measuring in this build. The current limit decides how hard each line pulls, which keeps all eight equally tight, and tension gets set once with the geometry holding it afterwards. If a line goes slack over time there is a tighten-lines routine in the menu, no measuring hardware involved.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required