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
MicroPythoneditor 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
Thonnyand make sure it displays the sequence of test images. Then, copy it onto your pico under the nameepd.py. - Create a file named
secrets.pyand in it define variablesSSIDandPASSWORDfor the WiFi network you plan to use. Copysecrets.pyonto your pico. - In
main.py, updateSTATIONandUTC_OFFSETto 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
Thonnyto try runningmain.pyon your Pico. The first sign of life should be the onboard LED turning on. - If you want the program to run automatically, copy
main.pyto your Pico directly and it should always run on start up.
