I usually just buy my mom flowers for Mother’s day; but this year I decided to make something more personal. That’s at least the cover story I’m going with. The truth is that I started working on a completely separate project a couple of months prior but never finished. Rather than throw away the hardware I already built, I re-purposed it to be a digital photo frame.
Since this was a last minute project switch, everything about this was rushed in order to get it ready in time. The code was rushed out, so was the 3D printing, and the cloud infrastructure. Despite these short-comings, I still missed my Mother’s Day deadline. Lesson learned, don’t trust my own project time estimates.
What does it do
Every 15 minutes it downloads and displays a new family image.
How does it work
The devices uses an ESP32C3 to connect to the internet. Upon receiving an MQTT message, it connects to an API gateway in AWS to retrieve an image from an S3 bucket. For security, there’s a WAF in place along with a lambda authorizer to validate the security token before invoking the image lambda.
I also configured the device with AWS IoT so that the device state (whether it’s online or not) can be recorded though an AWS IoT rule and automatically written to dynamodb.
GitHub: