I made the Circuitpython porting for several M5Stack devices:
Go to the Circuitpython download page and burn the firmaware directly from your browser
I have made all ports excepts the M5Stamp C3. More are coming!!
The C3 uses a RISCV core where as the rest of the range uses the ESPcore. The RISCV core has issues with Micropython which is the core of UIFLow.
Currently UI flow use an old version of Micropython that do not support ESP32-C3
The next major release of UIFlow is suppose to suuport ESP32-C3
Micropython 1.12 does not support ESP32-C3. Current UI Flow is based on that version therefore at the moment M5Stack can not add support to M5Stamp C3.
The next UIFlow version, 2.0, is base on Micropython 1.17 which support ESP32-C3, but M5Stack said that we are a couple of month away from the release of UIFlow 2.0
I found a bug in the firmaware when a programs draws lots of lines and the SD card is plugged in.
This is my test program:
import m5 from m5 import lcd m5.begin() def lines_show(color): steps = 20 w = lcd.width() h = lcd.height() ws = w / steps hs = h / steps lcd.startWrite() for s in range(steps): x1 = int(ws * s) x2 = w - 1 y1 = 0 y2 = int(hs * s) lcd.drawLine(x1, y1, x2, y2, color) for s in range(steps): x1 = w - 1 y1 = int(hs * s) x2 = w - 1 - int(ws * s) y2 = h - 1 lcd.drawLine(x1, y1, x2, y2, color) for s in range(steps): x1 = w - 1 - int(ws * s) y1 = h - 1 x2 = 0 y2 = h - 1 - int(hs * s) lcd.drawLine(x1, y1, x2, y2, color) for s in range(steps): x1 = 0 y1 = h - 1 - int(hs * s) x2 = int(ws * s) y2 = 0 lcd.drawLine(x1, y1, x2, y2, color) lcd.endWrite() lcd.fillScreen(lcd.BLACK) lines_show(lcd.WHITE) lines_show(lcd.RED) lines_show(lcd.GREEN) lines_show(lcd.YELLOW) lines_show(lcd.BLUE)
If no SD is plugged in the drawing is correct:
If an SD card is inserted the output changes. The drawing appear with wrong colors and and some artifacts (horizontal lines):
BNO055 is 9-DOF absolute orientation sensor with all the required math inside it:
I would love to have a core module with this sensor.