Tide and Time

IoT powered tide clock and water level display

Similar projects worth following
Ever wanted to know what the local tide was doing? Here's an IoT device that uses a NOAA api to tell you all about it. It displays how long it is until the next high or low tide and shows the current water level.

This device displays how long it is until the next high or low tide and graphically shows the current water level using two electromechanical displays. It uses a WiFi connection to the internet to ask the 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.

Once you've set the configuration, you can store it in non-volatile memory using the "save" command. Once saved, the configuration values are used whenever the power comes on or the device is reset.

The microprocessor, an Adafruit featheresp32-s2, supports a built-in LiPo battery that lets the clock continue to run when USB power goes away. To allow the clock to run for as long as possible, the water level display is paused when running on battery. When USB power is restored, it will once again display the correct water level. The tide clock continues to run when operating on battery.

See the github repo and setup instructions for more details.

  • Update DigiCert Root CA pem

    Dave Ehnebuske08/24/2023 at 18:51 0 comments

    Recently, DigiCert -- the Certificate Authority NOAA uses for SSL for its tides and currents API -- updated the root CA certificate NOAA's cert is based on. Since the tide clock just uses a local pem format copy of the root certificate, when DigiCert changes it, connecting to NOAA's API via SSK fails.

    Keeping a local copy of the root certificate in this way is subject to this sort of change. But it's also a bunch simpler than a full certificate management solution. 

    To fix the problem, I just got a copy of the pem for the new root CA certificate. When it happens again, I'll just do the same thing again.

View project log

Enjoy this project?



Harper wrote 03/24/2023 at 16:50 point

The project ideas are superb i get more information from this .your work ideas are great and excellent .Thanks guys for sharing .

  Are you sure? yes | no

Dave Ehnebuske wrote 03/04/2023 at 20:11 point

Thanks for the compliments!

It was a fun project to design and build. Like all such projects I'm kind of sad to see it done and am having a tough time resisting opening it up again for feature creep!

  Are you sure? yes | no

Tom Nardi wrote 03/03/2023 at 19:53 point

My parents have a place on the water, and have been thinking of doing some kind of tide clock for them. This is definitely giving me some ideas, love it.

  Are you sure? yes | no

Bharbour wrote 03/03/2023 at 18:54 point

This is a very nice looking project, good job!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates