I've been doing a bunch of sailing recently, and even though I live near the where we lanch, I have a hard time gauging how the wind is going to be in a repeatable way. New Zealands weather service do have a wind report, but it only updates hourly, and in this region the wind often picks up in the afternoon as a thermally generated sea breeze - so an hour can make a lot of difference. Well, 3D printing to the rescue.....
It's all 3D printed, modelled in FreeCAD. It uses a pair of 10x4x3 bearings of which I replaced the grease with oil to reduce the friction. The design of the housing is such that there are no openings from the top:
And because the rotor overhangs the base, water ingress should be unlikely (at least, I hope so).
The sensor is a an RPR220 - a reflective optocoupler - effectively a light that shines, bounces off a surface, and then gets picked up, and the encoder is thus just a set of ridges in the rotor. This means that the part count of this system is very low (and I happened to have the sensor, but didn't have any hall sensors or anything else). This is connected to an ESP32-lolin-lite. Currently it doesn't have an integrated battery, but I plan to hook up a solar panel from a bunnings garden light.
The software stack is all vibe coded arduino and an NPM package. It did a great job of making a web interface, doing the sensor processing etc. No reason for me to do this sort of thing manually any more. I kindof miss it, but it also means I can tackle bigger/different projects than I used to. I emphatically don't miss doing networking/web hosts in C for the ESP....