Published on August 8, 2024
I designed and assembled two solar-powered tide trackers. I had roughly one month to complete the project from its conceit in late November of 2023 to its completion in early January of 2024. The project was primarily written in Python, and the plots were created using the Matplotlib and SciPy packages.
The tide tracker device plots the tide height vs. time at a given location and displays the plot on an e-ink display. The data is publicly available online from the National Oceanic and Atmospheric Administration (NOAA).
The first tide tracker was a gift for a friend who lives directly on the water, and the second was a gift for a family member who likes to go sailing on a nearby river. In the gif below, you can see the graph undergoing an update, which occurs every two hours.
The code for the project can be found at github.com/briansgithub/TideTracker_repo
I decided to make two tide trackers for several reasons:
The plot below displays one snapshot of the tides in Fort Myers, FL on January 5, 2024.
*height: The data used for the y-axis is measured as the present water level height relative to a standard average water level height (the reference datum). The reference point used is the mean lower low water (MLLW) level, defined as the average low tide level over the past measurement period (typically 19 years).
**"now": My initial desire was to represent "now" by using a single point on the graph. However, this would require the entire screen to be continuously refreshed. To conserve power, the device only updates once every two hours, so "now" is represented as a sweep along the curve corresponding to the 2-hour refresh interval.
The tide tracker contains a 4500mAH LiPo battery and can run on its own for several days. To charge the device, there is a USB-C port and five JST connectors for solar panels.
I also designed and resin printed custom stands for the solar panels:
What if my friend moves and wants to track tides at a different location? What if they change their Wi-Fi? I included a webpage hosted on the device for configuring settings.
If the device becomes disconnected from Wi-Fi, the error image below appears on screen.
The user can then toggle the settings switch to "Setup" mode, which boots the Raspberry Pi into a mode that broadcasts a Wi-Fi hotspot and hosts the settings webpage.
On a mobile device, the "tide-tracker" Wi-Fi network becomes visible:
Upon connecting, the configuration page opens in a web browser where the Wi-Fi credentials and NOAA station can be set: