E-Paper Weather Forecast Gadget

Electronic craft
2023-02-04

Motivation

I bought a Raspberry Pi Pico E-Paper Module because it looked interesting.

I thought it would be great to see the rainfall forecast when doing laundry, so I decided to use it as a rainfall monitor.

Server-Side Design

For the weather forecast API, I used Open Metro, which is available for free.

I set up a separate server, and the gadget sends requests to the server at regular intervals.

The server receives these requests, sends a request to Open Metro, generates a black-and-white PNG image based on the results, and responds to the gadget.

The gadget simply displays this black-and-white PNG image.

By offloading complex processing to the server side, development becomes easier and the system's stability is enhanced.

Gadget Design

Initial USB-Powered Type

Initially, I created a rainfall monitor powered by USB.

Image

Image

Image

The microcontroller is always on and sends requests to the server every 5 minutes.

However, since this requires a cable, it doesn't fully utilize the benefits of e-paper.

Switching to Battery Power

I switched to battery power.

I bought a 1,000mAh Li-Po battery and a charging board module from AliExpress and set up a charging system.

Connect the Li-Po battery to the B+ and B- of the charging board module, and the VSYS and GND of the microcontroller to the OUT+ and OUT-; this enables battery-powered operation.

Image

↑ It became slightly larger due to the battery. At this time, the graph is maxed out due to heavy rain.

Reducing Power Consumption with Deep Sleep

Leaving the microcontroller always on would quickly drain the battery, so I put it in Deep Sleep mode during standby to save power.

The code looks something like this:

# Disconnect Wi-Fi
wlan.disconnect()
wlan.active(False)
# Deactivate Wi-Fi
machine.Pin(23, machine.Pin.OUT).low()
machine.deepsleep(settings.DEEP_SLEEP_SECONDS * 1000)

Deep Sleep Code

Explanation

Lowering the Power Consumption of the Raspberry Pi Pico W with Deep Sleep - MSR LLC

Results

After setting the gadget to request the server and update the e-paper display, then enter Deep Sleep for 30 minutes, the battery lasted more than 10 days. It doesn't last for 2 weeks.

It’s at a practical level.

The combination of e-paper + battery power + Deep Sleep seems versatile, and I plan to apply it to other projects in the future.

Source Code

ytyng/rpi-pico-w-monitor-pull

The README contains photos of an OLED display, but it also works with e-paper.

Insights

By actually making a device that uses a battery myself, I realized how efficiently designed commercially available small battery-powered products (like wireless earphones) are. Professional work is impressive.