This is an MicroPython
program for a Raspberry Pi Pico W micro-controller which fetches tide height predictions from NOAA and displays the predictions for
the current day on a ePaper (also known as eInk) display. There display graphs the height predictions as well as indicating the current time, making it easy to see
if the tide is rising or falling and the time of the next low or high tide. Pressing Key0
on the display triggers a refresh, which redraws the graph and current time as
well as re-fetching data if needed.
- Raspberry Pi Pico WH - WiFi (
W
) is required to make NOAA API requests, but pre-soldered headers (H
) just makes this a solderless project. - Waveshare Pico ePaper display - This device is designed to plug directly onto the Pico's headers. Other Waveshare devices should work as well, you'd just need to do the wiring yourself.
- MicroPython
MicroPython
editor and deployment tool for interating such asThonny
- Waveshare EPD drivers for your device
- NOAA tides and currents API
- Attach your Pico and EPD to each other. Then, plug your USB into the Pico and your computer.
- Find the module corresponding to your EPD in waveshare's repo. I suggest running it directly on you Pico with
Thonny
and make sure it displays the sequence of test images. Then, copy it onto your pico under the nameepd.py
. - Create a file named
secrets.py
and in it define variablesSSID
andPASSWORD
for the WiFi network you plan to use. Copysecrets.py
onto your pico. - In
main.py
, updateSTATION
andUTC_OFFSET
to match the location and timezone you want to display. Use the station listings to find the station id. - Verify the GPIO pin that corresponds to your EPD's
Key0
- Use
Thonny
to try runningmain.py
on your Pico. The first sign of life should be the onboard LED turning on. - If you want the program to run automatically, copy
main.py
to your Pico directly and it should always run on start up.