Skip to content

dmd/wxpaper

Repository files navigation

e-ink weather display

It works, but please don't follow this as an example. Practically every decision I made is the wrong one.

  • The e-ink display I chose is awful. The API is basically "draw a pixel or a square or a circle" and that's it. You can also draw a bitmap that's already stored on the device, but you can't upload one over the wire. The built in fonts are awful, so I did all the text rendering by displaying saved bitmaps.

  • The Dark Sky API shut down at the end of 2022; I now use Pirate Weather

    • IMPORTANT The Pip-distributed darksky-weather doesn't work with pirateweather - pirateweather changed the API. The Dockerfile uses forecast.patch to make the needed change.
  • It's not standalone. The actual weather-fetching happens on a separate server; the display wakes up every hour, says "hey gimme weather", and then the server does a push back to the Particle.

  • The case is ugly. I 3D-printed it because I couldn't find any decent cases that would hold the display I chose.

Build with: docker build --build-arg PARTICLE_USERNAME='your-username' --build-arg PARTICLE_PASSWORD='your_password' -t wxpaper .

Build with: docker build --build-arg PARTICLE_TOKEN=your particle token -t wxpaper . You'll probably want to use an unexpiring token.

example image

example image

icons from https://www.iconsdb.com/black-icons/black-weather-icons.html