As I’ve mentioned before I’m working on making our home ‘smart’ using Home Assistant with a variety of sensors/controllers. This is accessible from our phones/laptops for controlling temperatures and switching lights on/off, etc.
I also use Grocy to plan meals, kitchen stock control and making shopping lists of missing ingredients. This isn’t integrated into Home Assistant. Then there’s my weather station (data loaded into Home Assistant but not used for anything yet) and WxSim forecasts (not loaded into Home Assistant).
I’ve long thought it would be nice to create a display panel to show useful information without having to get a phone out. I’ve tried a few things but they’ve suffered from a couple of different issues. They’ve been pretty small screens and due to the screen/processor technologies end up tethered to mains electricity in some way, e.g. via a USB adapter. I’m now embarking on another attempt at the project and I feel happier that I might succeed this time.
There are a number of e-ink/ePaper devices hitting the market with a Raspberry Pico on-board. The one I’m waiting to be delivered is a 7.3" 7 colour display with Pico 2W on-board. This has a number of good features, i.e.
- It’s a decent size display with 800*480 pixels
- Being eInk/ePaper the display only consumes power when it’s being updated. These kind of displays don’t refresh fast - this one can take 42s to do a full refresh - so my thought is to update it once an hour which will minimise the power consumption
- The Pico 2W board is built onto the back of the display, so no messy display cables needed. The Pico has WiFi built in so I can get data from the Internet/my own servers as I need it. The Pico board also has a super deep sleep mode where it only draws about 20uA of power and can be woken up by pressing one of the buttons or triggered by the real time clock. So the Pico is drawing next to no power most of the time.
- The display and Pico can be powered by a battery pack. I’m not sure how long it will last but I’m hoping a month or two between recharges. The battery can be fixed to the back of the display so once again no messy wires or mains tethering so it can be a portable unit.
- The Pico2W has MicroPython installed by default, so programming it will be relatively easy.
In anticipation of the display arriving I’ve started coding and now have Python code to do the following:
- Answer the daily question of “What’s for tea?” (tea is the nothern UK name for our evening meal) by reading the Grocy API to extract today’s meal plan in human readable form.
- Answer the regular question of “What ingredients do we need to make ‘x’?” by reading the Grocy API to extract the ingredients for today’s tea in human readable form.
- Read a WxSim output file to extract the local forecast for the next (approx) 36 hours to display it in some way - text or graphics or maybe mixed text/graphics
- Read a realtime weather data file to extract various local weather values for display. Again, not sure if this will be text or graphics or combined text/graphics.
This code is running on my laptop so I’m sure it will need some tweaking to get it into MicroPython format, but hopefully that won’t be too difficult. I’ll also need to add code to handle the RTC and sleep mode/buttons and make the data I’ve got so far look good on the screen. So there’s still plenty to do!
Hopefully the display will arrive tomorrow (it was sent yesterday on a 24 hour delivery service so it’s already late) and then I can try code running on it to see it it goes.