A bedside clock for Linux devices, synchronized with a phone
short video showing my device running Bedstand, with proximity view switch and live alarm synchronization
Bedstand started as an attempt to give an old Samsung Galaxy S III running postmarketOS a second life as a dedicated bedside display
- Clock display
- Synchronized calendar events and alarm information
- Battery info (both phone and device)
- Touch interaction and scrollable views
- Proximity sensor gestures for switching between views
- Ambient light sensor support with configurable brightness and UI opacity mapping
- Smooth ambient brightness and opacity transitions
- OLED burn-in protection
- Screen power control with custom commands
- HTTP server with API, TLS and authentication
- Web settings interface for debugging and changing configuration, including logs, runtime and hardware state and device controls
- Highly configurable
Bedstand receives calendar and alarm information from a phone through its HTTP server
A MacroDroid template is included for Android phones and can be used to trigger synchronization and send the data to Bedstand
See config.toml for a documented example containing all available options
example-config-s3.toml contains the configuration used on my Samsung Galaxy S III
cargo build --release./target/release/bedstand [config]When no configuration path is provided, bedstand.toml is used
Bedstand was originally developed and tested on a Samsung Galaxy S III (GT-I9300) running postmarketOS
Hardware integration uses Linux sysfs interfaces, so the configuration is device-specific but can be easily adapted to other devices
This is not a vibe-coded project. AI was used to assist, but the design, implementation, and final quality are my own
