I tried micropython on an ESP32-S3. On one hand, it's just amazing in a lot of regards. Writing BT with aioble is a breeze (can't say that about ESP-IDF). On the other hand, it's limited. No dual core support, no hardware interrupts, no enums... Dual core support is needed for anything real time at multi-kHz together with BT (BT takes over the core for about half a millisecond when sending anything).<p>The saving grace is that modifying or adding functionality to micropython is pretty straight forward. It's just a FreeRTOS app, the organization is intuitive, the code is fairly short. Anything performance heavy can be written in C and called from micropython (same idea as torch or numpy).