A Flipper Zero app that lets you type your own choices and let a roulette wheel decide — powered by the device's hardware true-random-number generator.
- Add up to 20 custom decisions (up to 20 characters each)
- Roulette-style animation with a fast phase that decelerates smoothly before landing
- True randomness via
furi_hal_random_get()(hardware RNG, not a software PRNG) - Scrollable decision list with context-sensitive on-screen hints
- Spin again or return to the list from the result screen
| Manage | Spinning | Result |
|---|---|---|
![]() |
![]() |
![]() |
Search for "Decision Maker" in the Flipper App Catalog and install it directly from the Flipper Mobile App or lab.flipper.net.
- Set up the Flipper Zero firmware build environment.
- Clone this repo into your firmware's
applications_user/directory:git clone https://github.com/Gerijacki/random_decision_maker.git \ applications_user/random_decision_maker - Build and deploy the external app:
./fbt launch APPSRC=applications_user/random_decision_maker
| Button | Action |
|---|---|
UP / DOWN |
Navigate the list (hold for fast scroll) |
OK on "+ Add decision" |
Open the keyboard to add a new entry |
OK on a decision |
Spin immediately (shortcut) |
LEFT |
Delete the highlighted decision |
RIGHT |
Spin the roulette (requires ≥ 2 decisions) |
BACK |
Exit the app |
| Button | Action |
|---|---|
OK |
Confirm and save the decision |
BACK |
Cancel and return to the list |
| Button | Action |
|---|---|
OK |
Spin again with the same list |
BACK |
Return to the manage screen |
The app follows the standard Flipper Zero ViewDispatcher pattern with four views:
ViewIdManage ──[spin/add]──► ViewIdSpinning ──[done]──► ViewIdResult
▲ │
└──────────────────────────[BACK]──────────────────────────────┘
▲
ViewIdTextInput (keyboard)
A FuriTimer drives the spin animation by posting CustomEventSpinTick events to the ViewDispatcher, keeping all model mutations on the GUI thread.
Contributions are welcome! See CONTRIBUTING.md for guidelines.
MIT © 2026 Gerijacki


