The problem
A lot of trash in Indonesia ends up in rivers, which will eventually flow into the ocean. We aim to capture them before they pollute the ocean.
What we built
A prototype trash-collector ship, inspired by The Ocean Cleanup’s Interceptor.
- Hull/frame: 2020 aluminium extrusions
- Collector: a conveyor belt that scoops trash up from the water, plus a slider that moves along a track to position the catch
- Electronics:
- ESP8266 hub: connects to Wi-Fi and listens to Supabase Realtime for commands
- Arduino motor controller: receives commands from the hub over serial and drives the conveyor and slider DC motors through L298N motor drivers
- Slider positioning: motor encoder with PID control, homed using a limit switch
- Control: a tablet web dashboard (React + Supabase). A change on the tablet updates Supabase, the ESP picks it up instantly, and the Arduino moves the motors.
Remote control dashboard
A web app for driving the ship's collection system from shore. I built it in React and Vite, and Barra added tablet support.
How it works
There's no direct connection between the tablet and the ship. Both sides read and write one row in a Supabase table, and Supabase Realtime pushes changes as they happen.
tablet ──update──▶ Supabase ◀──reads── ship (ESP) ▲ (realtime) └──── live speeds ◀──┘
Controls
- Conveyor: OFF / LOW / HIGH
- Slider: 4 preset positions, from start to end
- Dump: triggers the dumper
- Live readout of dumper and conveyor speed
Build gallery
Team & funding
- 20+ Team members (Instagram)
- US$1500 from IBO Global Youth Action Fund
My role
- Co-founder
- Led the research team & developed the products
- CAD in Fusion, 3D Printing
- Built the control dashboard with Barra
What I learned/challenges
- CAD Design: I started with minimal CAD experience, but worked my way through and eventually made parts I could 3D print and use.
- How to integrate realtime controls with ESP8266 and supabase.
- PID controls and position encoding: the bin selector required me to write a pid controller to determine the current position relative to the endstop and go to a target location.
- The conveyor part was especially tricky, I had to ensure that the belt had enough tension so the rollers would not slip.
- We never tested the ship on the water itself, as this was a more of a prototype/proof of concept. I can imagine a lot of challenges that would come with waterproofing the entire build.