This device displays how long it is until the next high or low tide and graphically shows the current water level using two electro-mechanical displays. It uses a WiFi connection to the internet to ask the noaa.gov tides and currents HTTPS GET REST api for the information it needs. You can select which tide station to use from a long list of them that NOAA maintains.
The upper display is the tide clock. It’s made from a hacked quartz clock movement. The single hand points to the current time-to-next-tide.
The lower display shows the current water level. It uses a small stepper motor to raise and lower the level of the “sea” in an illustration of a seaside scene. Just because I could, I used StableDiffusion v2.1 to produce the illustration by giving it a text description of what I wanted and a photo of a similar scene for guidance.
You can talk to the firmware using serial-over-USB and a terminal emulator. It has a command interpreter you can use to change various runtime parameters such as the WiFi SSID and password to use and to tell it which tidal station to show the data for.
I’m glad you like it. It was fun to design and build.
As to the clock mechanism, there seem to be two common types, “continuous” and “jump second.” I’m using the jump-second kind because the continuous ones don’t like to start and stop (they occasionally miss a couple of steps when starting). I’ve found I can step the jump-second kind once every 200ms without losing steps. It could probably go faster, but that’s fast enough for this application.
Yes, I could have used a stepper for the clock, too. I didn’t because the clock mechanism is so easy to drive, cheap, and comes mounting hardware and a variety of clock hands. To drive it, just solder wires to the two ends of its internal coil and attach them directly to GPIO pins normally held low. To step, alternate putting a pulse of about 20 ms on the pins. Each pulse moves the mechanism one second forward.
Yup. Is it particularly sensitive to voltage? You are using an ESP* looks like, so the data pins should be 3.3v … does the clock like that, or do you have to divide to get closer to 1.5v? [I assume they are designed to run at 1.5 and lower, given the AA power source and the decaying nature of voltage with alkaline batteries. ]
The best way to go! Does it do around the world? The upper reaches of Baja are fun as the waterway is deep and north/south so it has it’s own natural timing that is different from the moon so the tides at the far end go from in sync to out of sync, one tide huge and the next hardly noticeable, to almost the same and the timing irregular as well.
Yes, the GPIO pins are 3.3V, but the little Lavet motor in the mechanism seems fine with that. I’ve got a clock I built about ten years ago using the same approach but driven with an Arduino Uno at 5V. It’s still running without complaint. I just shortened the pulses to the point it didn’t run reliably and then lengthened them until it did.
It uses the NOAA Tides and Currents Web Service api for its data, so it can only do the tide stations NOAA does tide predictions for. As I recall, there are about 3300 of them. But US-centric, for sure, and none in Baja.
Yes, where I live, in Port Townsend, WA, the tides are super irregular, too. That’s what got me going on the project to begin with! The Strait of Juan de Fuca, the passages through the San Juan Islands, the Salish Sea and the Puget Sound all slosh around and couple together in ways that are just not obvious. I’m happy to let NOAA model it all for me.
Cheapest Solunar device I have ever seen. Simple concept that a lot of fishers and hunters swear by for critter movement cycles. A few friends have shown off theirs and they looked cool, (until you hear the Rolex like price tag).
Thanks for the share.
This is so beyond fantastic. I WISH I understood all of the electronics because I would make this in a heartbeat for my husband’s upcoming birthday. We live on the water and he uses a tide app on his phone all the time. I would absolutely pay you to put the electronics together for me…