@allObjects That's awesome that you made your version! I'm dying to get back to the project, but still can't touch it until next week (if only I can do this all day everyday :)). I'll give it a shot, first reimplementing the interrupt setup and handling with my code to learn, and give your 'module' a try. I'd really be interested in comparing the perf of setInterval with your implementation. I moved to a NodeMCU esp8266 for a fuller build (with 3d printed chassis) - putting Date().ms comparison at the start and the end of my scan routine with setInterva of 50ms gives me ~50ms so no hit, but when I moved to try on ESP32 (for more pins) I get 150ms. Could this be also because of I2C performance difference?
Anyway, thanks so much, will try and report back.