All Projects
01

Surf Clock

A physical tide clock that pulls live surf data from an API and moves a real clock arm to show the current tide — built from Raspberry Pi, stepper motors, and the joy of making things.

A working prototype that turns live ocean data into a physical object on a wall.

Client
Personal Project
Role
Hardware & Software
Year
2023 – ongoing
02
Overview

Surf Clock is a personal hardware project: a physical clock that shows the real-time tide level for a chosen surf spot. The first version used a Raspberry Pi running Python to fetch tide data from a surf API, then drove a stepper motor to move the clock arm to the correct position. The second iteration switched to a Raspberry Pi Pico (an ESP32-class microcontroller) running MicroPython with a servo motor — smaller, lower power consumption, and with built-in Wi-Fi and Bluetooth for future app connectivity. The clock face, arm mechanism, and housing were all designed and assembled by hand. It's the kind of project that has no client, no deadline, and no business model — just a surfer who wanted to glance at a wall and know if the tide was right.

The Challenge

Turning live web data into physical movement involves bridging two worlds that rarely overlap: API-driven software and precision motor control. The tide API returns water levels as floating-point numbers updated every few minutes. Translating those into exact angular positions on a clock arm requires mapping a continuous data range to discrete motor steps — with enough precision that the arm position actually means something at a glance. The stepper motor in version one was accurate but power-hungry, making it impractical for a wall-mounted device that should run quietly and indefinitely. The Raspberry Pi was powerful but overkill for a single-purpose IoT device. Every iteration was a trade-off between precision, power, size, and simplicity.

The Approach

Version one prioritized getting the concept working: a full Raspberry Pi running a Python script that polled the tide API on a schedule, mapped the water level to a step count, and drove a NEMA-17 stepper motor through a driver board. This proved the concept but drew too much power and was physically too large. Version two reconsidered every component. The Raspberry Pi Pico — a microcontroller with built-in Wi-Fi, running MicroPython — replaced the full computer. A servo motor replaced the stepper, trading positional granularity for dramatically lower power draw and simpler wiring. The servo also eliminated the need for a separate driver board. The Pico's Wi-Fi and Bluetooth capabilities opened the door for a future companion app that would let users configure their surf spot, update intervals, and calibration — though the project hasn't reached that stage yet. Each iteration was driven by the same instinct that drives all good engineering: make it work, then make it right, then make it small.

Have a similar challenge?

03
Results
2Hardware Iterations

From Raspberry Pi + stepper motor to Raspberry Pi Pico + servo motor. Each version challenged assumptions about power, size, and complexity — the same iterative mindset applied to every client project.

LiveReal-Time Tide Data

The clock pulls actual tide information from a surf spot API and translates it into a physical arm position. Not a simulation, not a demo — a real data pipeline from ocean to wall.

Curiosity

No client asked for this. No brief existed. A surfer who writes code wanted to know the tide without pulling out his phone — so he built a clock. That's the kind of engineer you're hiring.

04
What We Delivered
01

Tide API Integration

A Python script that connects to a surf data API, fetches real-time tide levels for a specific spot, and converts floating-point water heights into motor positions. The same API-integration discipline used in SaaS products — authentication, error handling, data transformation — applied to a physical device.

02

Stepper Motor Control (v1)

The first version used a NEMA-17 stepper motor driven through a controller board, giving precise positional control measured in individual steps. This approach provided high accuracy but consumed significant power — a lesson in overengineering that directly informed the leaner second version.

03

Servo Motor & Pico (v2)

The second version replaced the full Raspberry Pi with a Pico microcontroller and swapped the stepper for a servo motor. The result: a fraction of the power consumption, a dramatically smaller footprint, and built-in Wi-Fi/Bluetooth that creates a path toward a companion app for user configuration.

04

Physical Clock Design

The clock face, arm, and housing were designed and assembled by hand. This isn't a screen displaying a number — it's a physical object that blends into a room. The design constraint was the same as any good product: glanceable information, zero learning curve, nothing to charge or update.

05
Why This Worked
01

Make it work, then make it right, then make it small. Version one was a full computer driving an industrial motor to move a clock arm. Version two is a microcontroller and a servo doing the same job in a quarter of the space with a tenth of the power. The first version wasn't a mistake — it was a necessary step. This is how every good product evolves, in software and hardware.

02

The best interfaces disappear. A tide clock on a wall requires zero interaction. No app to open, no screen to read, no notification to dismiss. You glance at it and know whether the tide is right. The same principle drives the best software design: reduce the distance between the question and the answer to zero.

03

Personal projects keep your tools sharp and your curiosity alive. The Surf Clock touches API integration, data transformation, hardware control, power optimization, and physical design — skills that show up in client work in unexpected ways. A design engineer who builds things for fun builds differently than one who only builds on spec.

06
Built With
Python
MicroPython
Raspberry Pi
Raspberry Pi Pico
Stepper Motor
Servo Motor
LET'S WORK TOGETHER

Got a project in mind?

I partner with founders and teams who care about craft. Fast turnaround, obsessive detail, conversion-focused from day one.

See more work