Concept Flow - Non-blocking code architecture
Start loop()
Check time elapsed?
No→Do other tasks
Repeat loop()
Perform action
Update last action time
Do other tasks
Repeat loop()
The loop checks if enough time has passed to do an action without stopping other tasks, then performs the action and continues running other code.