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.
I have too experimented powering both Atom Lite and the Atom Matrix via the groove connector or via the headers pins and I noticed a weird thing. If the voltage is a little below 5V, for example 4.6 or 4.7 Volts it works fine. If the voltage is a little above 5V, for example 5.2V it power up but it never connect to internet.
I'm trying to use the lvgl canvas on the Core2 with UIFlow V1.7.4.
I'm using the following test program:
import lvgl as lv lv.init() scr = lv.obj() cv = lv.canvas(scr, None) lv.load_scr(lv)
but when it try to create the canvas it raise the following error:
'NoneType' object has no attributes'__deference__'
Can anyone help me?
@iamliubo I'm glad to here that you're going to work on the PaHub problem. I think that is important for the user community to know that there is someone looking at issues and working for fix them. It may takes time to fix an issue but if I know that someone in M5Stack is working on it I'm happy and I can wait.
I think that M5Stack is not going to switch to ESP32 S2 or S3 any time soon. At least not before Micropython has a port for these chips.
I need the same thing. I have created a post in the feature wishlist category.
I would like to make my own vehicle with four mecanum wheels but there is no M5Stack module that can drive four DC motors.
In this post I would like to ask for a module to drive four DC motor or else a new version of the GOPlus2 with a selectable I2C address.