E-Paper Weather Station

The weather station project is great, and it’s still sitting on the table next to the duck. But it has a cord and it always will. Powering always-on stepper motors with a battery isn’t going to work well.

So I built an e-paper weather display based on the same weatherbit.io system as the original.

Hardware

The main bits of of hardware are:

I added two buttons to it:

  • Wake : Wakes up the sleeping weather station and updates the temperature right away. Then it goes back to sleep for the normal polling interval.

  • Service : Puts the station in service mode. That means instead of going to sleep between weather updates, it just calls delay(). That makes the device use more power, but it stays connected to the cloud all the time. That’s useful for monitoring it or flashing new firmware.

Firmware

The firmware is on GitHub, along with the bitmaps used to display the weather. All of the weather stuff is the same as the weather forecast display (forecastmojo.ino). It gets the same 3 numbers: current temperature, dew point, and forecast high temperature.

The epd.h library from WaveShare to controls the e-paper display.

When it wakes up, it publishes a weathermojo_request event to the Particle cloud. If there’s another station running a firmware that listens for those (like forecastmojo.ino), it will publish a weathermojo_response event containing weather data. This station is subscribed to those, and it will wait up to 30 seconds for its weather data.


The other big difference is that after an update, it goes to sleep to save power. It updates weather conditions twice an hour, with no updates overnight from 11pm to 5am. I think the station should run on that battery for a couple weeks. It can be recharged on a micro USB charger.

Assembly

A janky leather box holds the weather station display

A janky leather box holds the eInk display

I put the Particle, Power Shield, battery and charging port cable inside a janky leather box to keep it all together. I picked the material mostly because I want to learn to sew leather, and I technically did.

The back flaps open with leather hinges so I can still access the stuff inside.

Failures along the way

My first battery (400 mAh LiPo) was too low-capacity. It also suffered from my ignorance of the care and feeding of LiPo batteries: I ran it all the way down and now I don’t think it’s ever going to take a charge again.

I tried using an Adafruit PowerBoost 500 in one iteration because I really liked the tiny form factor. Battery life was WAY shorter with the PowerBoost than the Particle Power Shield. I think the PowerBoost lasted about 2 days, compared to a couple weeks on the Power Shield.