M5Stack-Fire board detection should be:
i2c0 = I2C(0, sda=Pin(21), scl=Pin(22))
if {0x68} <= set(i2c0.scan()): # IMU (MPU6886)
return "m5stack-fire"
But there are some pin incompatibilities between ESP32 and ESP32-S3 boards that don't allow I2C scan.
Currently, the file is a bit too small and there are interruptions,
probably from the timer stopping and starting to tweak it.
I guess this should be done in C rather than pure MicroPython.
It seems to cause SSL/TLS session corruption on ESP32.
There is a performance impact, so maybe it should be reintroduced again later,
but for now, let's keep it simple and fix this bug.
The old one was a bit too big, but looked better than the new one, IMHO.
So this updated one is the old one, but a bit smaller (55x55) like the others.
The new one looked very good for a chat app, with the text bubble,
so let's save it for a messaging app. The old one was a bit too big
and the "World" in blue on yellow was hard to write, so here's an alternative.