@bino OH, I FOUND THE PROBLEM. I think this had already bit me in the ass once. Basically, in the framework I'm using (Embassy), whenever a pin structure is dropped (not sure if you're familiar with Rust, but that's when it goes out of scope), it resets the pin's config. I stored the pin in a parent struct, to make sure it stays in scope, and it now just works. So much time wasted trying to figure this one out... Anyway, thanks for your help!