Skip to content

dan-parker/Presto-Cal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This Python application turns a Raspberry Pi Pico W with a Presto display into an intelligent calendar display that fetches and shows events from iCalendar feeds. The project demonstrates hardware integration specific to the Presto's capabilities. What It Does The application creates a smart calendar interface that:

Pulls events from any .ics URL (Google Calendar, Outlook, etc.) Displays events with intelligent categorization and color coding Provides touch-based navigation and interaction Shows ambient status through hardware indicators Automatically manages power and display states

Presto-Specific Hardware Features Dual RGB LEDs for Ambient Status The Presto's two RGB LEDs create a sophisticated event awareness system:

Solid green: Currently in a meeting/event Pulsing red: Event starting within 15 minutes (urgent) Orange: Event within the next hour Blue/purple: All-day or multi-day events Off: No upcoming events

Touch Gesture System The Presto's capacitive touch enables intuitive navigation:

Horizontal swipes for pagination Pull-down gesture triggers calendar refresh with animated feedback Upward swipe toggles between dark/light themes Sophisticated debouncing and gesture recognition

Adaptive Backlight Control

Automatically dims after 30 seconds of inactivity Stays bright when events are active or imminent Instantly responds to touch interaction Integrates with sleep mode for power savings

Screen Sleep Mode

Enters low-power state during configured hours Implements burn-in prevention by shifting content every 3 minutes Shows minimal "Sleep Mode" display Instant wake on touch with full state restoration

Audio Integration

Uses the Presto's buzzer for configurable event alerts Respects quiet hours settings Only alerts for actionable timed events

Hardware Performance Optimizations The application leverages the Presto's capabilities for efficiency:

Partial screen updates: Only redraws changed regions using the PicoVector library Regional rendering: Divides screen into zones (header, pagination, events, status) Memory-aware operation: Real-time memory monitoring and garbage collection Network status integration: Visual feedback for WiFi connectivity

The code shows thoughtful integration with the Presto's hardware capabilities, creating an ambient information display that provides both passive awareness and active interaction. The LED system is particularly clever - it gives users instant visual feedback about their calendar status without requiring them to look directly at the screen. This type of always-on calendar display would be useful for office environments, meeting rooms, or home offices where people need ambient awareness of their schedule combined with the ability to interact when needed.

About

A micropython iCal display for the Pimoroni Presto

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages