Overview
A hardware project that creates a multi-functional time control panel using modern microcontrollers and Go programming language. The system uses two Raspberry Pi Picos to manage different time displays, complete with sound effects and persistent memory.
Features
- Three time displays (Target, Current, Previous)
- Real-time clock functionality
- Rotary encoder input for time setting
- Sound effects via DFPlayer Mini
- Persistent memory for time settings
- Inter-controller communication via UART
- Time travel simulation with visual and audio feedback
Technical Stack
Hardware
- 2× Raspberry Pi Pico
- 7-segment LED displays with TM1637 chip
- Rotary encoders for time setting
- DFPlayer Mini for audio playback
- SD card for sound storage
Software
- TinyGo compiler for microcontrollers
- Go standard library features:
- Goroutines for concurrent operations
- Channels for event handling
- Time and date manipulation
- UART communication protocol
- Flash memory operations
Implementation Details
Multi-Controller Architecture
- Left Pico: Handles target time setting and display
- Right Pico: Manages current time and previous time
- UART communication for time synchronization
Time Management
- RFC3339 time format for inter-controller communication
- Real-time clock implementation
- Persistent storage in flash memory
- Gray code implementation for rotary encoders
Sound Integration
- MP3 playback via DFPlayer Mini
- Sound effects triggered by time travel events
- UART commands for audio control
Current Status
- Core functionality working
- Time setting and display operational
- Sound effects implemented
- Flash memory persistence working
Future Plans
- Add GPS integration for actual speed detection
- Implement speed-based trigger for time travel
- Create DIY kit version
- Add Pomodoro timer mode
- Develop chess clock functionality
- Improve sound effect timing
Similar projects
I found several similar projects using LED displays for time and various method to set the date/time.
- Display Wall Clock by Jake Conhale
- Time Circuits by Dave Madison
- Time Circuit Clock by AussieMakerGeek
- Time Circuit Clock by Adafruit
- Complete Time Circuits Display Kit from CircuitSetup (the repo is also available)
Updates
2024-12-31: Illustrations
- Added more pictures to the blog
- I used these instructions to work with green screen in GIMP
- Added explanation of the time setup process
- Renamed several things
2024-12-23: Documentation Update
- Converted project documentation to new format
- Added detailed technical specifications
- Updated future plans