Flo Period Tracker for Flipper Zero
May 27, 2026 · View on GitHub
A menstrual cycle tracking application for Cat on her Flipper, following a standard 14-day luteal phase model.
Author
Harim Woo
Features
- Status Screen — Shows current cycle day, days until next period, fertile window status, and average cycle length
- Calendar View — Monthly calendar with period days highlighted (filled blocks). Navigate months with Left/Right
- Log Period — Record a new period with date and duration using the D-pad
- Settings — Configure average cycle length (20–45 days) and default period duration (1–14 days)
- Predictions — Automatic prediction of next period, ovulation, and fertile window based on logged data
- Persistent Storage — All data is saved to the Flipper's SD card and persists across reboots
How to Build
Prerequisites
- Clone the Flipper Zero firmware
- Set up the build environment following the official docs
Build Steps
-
Copy the
flipper-flo-trackerfolder into the firmware'sapplications_user/directory:cp -r flipper-flo-tracker /path/to/flipperzero-firmware/applications_user/flo_tracker -
Build the app using
fbt(Flipper Build Tool):cd /path/to/flipperzero-firmware ./fbt fap_flo_tracker -
The compiled
.fapfile will be inbuild/f7-firmware-D/.extapps/flo_tracker.fap -
Copy it to your Flipper's SD card under
apps/Tools/or use:./fbt launch_app APPSRC=applications_user/flo_tracker
Using ufbt (Standalone)
Alternatively, use ufbt for standalone builds without cloning the full firmware:
# Install ufbt
pip install ufbt
# Navigate to the app directory
cd flipper-flo-tracker
# Build
ufbt
# Flash to Flipper (connected via USB)
ufbt launch
Usage
- First launch — Go to "Log Period" and enter the start date and duration of your most recent period
- Status — The main status screen shows predictions based on your logged data
- Calendar — Visual overview of your cycle with period days marked
- Settings — Adjust cycle length and period duration defaults (auto-calculated after 2+ logged periods)
File Structure
flo_tracker/
├── application.fam # Flipper app manifest
├── flo_tracker.c # Main app entry, menu, settings, lifecycle
├── flo_app.h # App struct and view model definitions
├── flo_data.h # Data types, date utils, prediction API
├── flo_data.c # Date math, storage, prediction engine
├── flo_views.h # View allocation function declarations
├── flo_views.c # Status, Calendar, and Log Period views
├── icons/ # App icon (10x10 PNG for launcher)
└── README.md
Notes
- The app icon (
icons/flo_10x10.png) needs to be a 10x10 pixel 1-bit PNG. You can create one with any image editor — a simple droplet or flower shape works well. - Data is stored at
apps_data/flo_tracker/flo_data.binon the SD card.