# DIY Smart Frame > E-ink display powered by raspberry-pi-zero **Published by:** [mani](https://paragraph.com/@mani/) **Published on:** 2025-01-08 **Categories:** eink, smartframe, diy **URL:** https://paragraph.com/@mani/diy-smart-frame ## Content Built a low-power dashboard implementation using Raspberry Pi Zero WH and Waveshare 7.5" E-Ink display (800x480), mounted in a repurposed 5x7 frame. Aggregates data from multiple APIs to display calendar events, weather, market data, and sports information.Hardware ConfigurationRaspberry Pi Zero WH (pre-soldered headers required)Waveshare 7.5" E-Paper HAT (800x480, black/white)5x7 photo frame (modified for component mounting)Standard GPIO ribbon connection5V/2A power supplyAPI RequirementsWaveshare EPD Python library for display controlGoogle Calendar API (OAuth2 authentication)OpenWeatherMap API key (free tier sufficient)Football-data.org API token (free tier)Yahoo Finance API access (free)Python 3.7+ environmentSystem ArchitectureData aggregation occurs through multiple threads with varying refresh intervals:Calendar updates: 15-minute intervalsWeather data: 60-minute intervalsMarket data: 15-minute intervalsSports updates: 1-day intervalsDisplay updates implement partial refresh for static elements while maintaining complete refresh cycles for critical data changes.Interface LayoutMulti-section information display:Calendar (Top Left)24-hour event horizonTime-sorted appointmentsWeather (Top Right)Current temperature/humidityAir quality metricsShort-term forecastMUFC fixture (Center Left)Upcoming PL fixture in local timeMarket Data (Bottom Left)Selected equity tickersPercentage changesIndex trackingTech Updates (Bottom Right)Tech news from TheVerge RSS feed.Technical ConstraintsE-Ink refresh limitations: ~3-4 seconds/refresh, which is not terrible.API rate limits: Weather API calls are okay for personal use.Display artifacts: Managed through partial update schedulingOptimization TargetsCurrent focus areas:Memory usage optimizationUpdate cycle refinementError handling improvementsDisplay buffer optimizationFuture data sections that I want to haveCommute delaysLocal eventsHome automation statusPersonal fitness/health metrics dashboardTodo list integrationWhat other data sections would you be interested in? Are you interested in building one? After refining some code sections, I hope to publish the code and accept pull requests. Once I do that, I will update this section. ## Publication Information - [mani](https://paragraph.com/@mani/): Publication homepage - [All Posts](https://paragraph.com/@mani/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@mani): Subscribe to updates ## Optional - [Collect as NFT](https://paragraph.com/@mani/diy-smart-frame): Support the author by collecting this post - [View Collectors](https://paragraph.com/@mani/diy-smart-frame/collectors): See who has collected this post