the problem with systick is it requires an interrupt at every tick Yea... I think this is why I've been using MCU-specific timers for this. More provincial than Systick which is a big downside, but you can set a balance between how often the interrupt fires (when it overflows), and precision. The ISR ends up like this: ```rust #[interrupt] fn TIM3() { timer::clear_update_interrupt(3); TICK_OVERFLOW_COUNT.fetch_add(1, Ordering::Relaxed); } ```