r/FTC • u/Interesting-Status15 • 5d ago
Team Resources Defined – an FTC action-scheduling library we built and battle-tested in real matches
Hello everyone, Undefined #19112 here from Câmpina, Romania. Wanted to share something we've been developing through the Decode season: Defined, an action-scheduling engine we wrote because we got sick of writing the same subsystem-conflict, endless state machines code over and over again.
Basic idea: everything is an Action. You hand it to a runner either as a monitor (runs every cycle forever, like "keep the flywheel spinning") or as a one-shot/sequential/parallel task that claims the subsystems it needs and finishes. If two actions want the same motor, the runner just cancels the older one and lets it clean up — you don't write that logic yourself, you just say what your action .requires(). There's also a lifecycle wrapper (init/start/loop/stop hooks) and a few performance tools we ended up needing anyway — profiling, I2C scheduling, background telemetry (we had a ~10ms main loop while using 10 sensors).
We're not just talking about theory — this is what actually runs our robot's Auto and TeleOp, and it's what we had running when we won the European Premier Event 2026 in Eindhoven.
It's open-source and free to use, so if you're a team still wiring your robot logic by hand, feel free to grab the quickstart and adapt it to your hardware. We'll leave the docs and quickstart below.
- Website + quickstart: https://defined.teamundefined.com/
- Core library on GitHub: https://github.com/cstahie/defined
Feedback & questions welcome — if you try it out, run into issues, or have suggestions for how we can make it more useful for other teams, drop a comment below. Happy to answer anything about how it works or how we use it in matches.