Minimal always-on display clock for Android
Big readable time — perfect as nightstand / wireless charging screen / modem stand
- Huge, readable time in center (HH:mm format)
- Always-on screen (prevents device sleep via wakelock)
- Dyslexia-friendly font — OpenDyslexicM Nerd Font
- Pure black AMOLED background — great for battery life when display is on
- Fullscreen / immersive mode — no status/navigation bars
- AMOLED burn-in prevention — subtle pixel-shift every 5 minutes
- Portrait-only layout — optimised for vertical phone placement on nightstand
| Platform | Supported | Notes |
|---|---|---|
| Android | ✅ Yes | Main target (always-on works best) |
| iOS | ⚠ Partial | Wakelock may be restricted |
| Web / Desktop | ❌ No | Not useful for always-on use-case |
# Clone
git clone https://github.com/berlogabob/flutter_aod_clock_application.git
cd flutter_aod_clock_application
# Install dependencies
flutter pub get
# Run on connected Android device
flutter run --releaseflutter_aod_clock_application/
├── assets/
│ ├── fonts/
│ │ └── OpenDyslexicMNerdFont-Regular.otf # The only font used
│ └── icons/
│ └── icon.png
├── lib/
│ └── main.dart # All app code (minimal single file)
├── android/ # Android-specific configuration
├── pubspec.yaml
├── analysis_options.yaml
└── README.md
| Package | Purpose | Version |
|---|---|---|
wakelock_plus |
Keep screen always on | ^1.2.0 |
flutter (sdk) |
Core framework | ≥3.24 |
No other external packages — kept ultra-simple.
Easy edits in lib/main.dart:
| Property | Description |
|---|---|
fontFamily: 'OpenDyslexicNerd' |
Change the font family |
letterSpacing: -12 |
Adjust spacing between digits |
fontSize: 300 |
Base font size (FittedBox scales it) |
color: Colors.white |
Text colour on black background |
Distributed under the MIT License. See LICENSE for more information.
- OpenDyslexic Nerd Font — dyslexia-friendly font with Nerd Font icons
- wakelock_plus — reliable always-on screen
- Flutter community & simple nightstand clock ideas
Made with ❤️ in Lisbon by @berlogabob Star ⭐ if you find it useful!
Use make release to automatically:
- Bump build number in
pubspec.yaml - Build web version to
/docs - Build release APK
- Commit changes and create git tag
- GitHub Actions automatically creates GitHub Release with APK attached
# Full release pipeline
make release
# Check current version
make versionIf tags exist but GitHub Releases are missing:
# Option 1: Using GitHub CLI (requires gh installed and authenticated)
make release-manual TAG=v1.0.1.5
# Option 2: Using script (requires GITHUB_TOKEN)
export GITHUB_TOKEN=your_github_token_here
make create-missing-releases- Go to https://github.com/settings/tokens
- Create new token with
reposcope - Export:
export GITHUB_TOKEN=ghp_xxxxx
Release APKs are attached to GitHub Releases: https://github.com/berlogabob/flutter_aod_clock_application/releases
This app supports Obtanium for automatic updates. Add the repository URL to Obtanium to receive update notifications.