I propose to add Speaker.beep, Speaker.volume and play tone blocks also to Core2

I propose to add Speaker.beep, Speaker.volume and play tone blocks also to Core2

I would like to save my UIFlow program in the cloud (M5 account) or at least in web browser storage.
Like in MakeCode the program is autosaved at every change. The autosave is a very important feature when you work with kids.
Later, when the user open again UIFlow, instead of an empty project he should see the list of his projects and a button to create a new project.
Can you please add also the Speaker.beep, Speaker.volume and play tone blocks to Core2 as well?

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!!
I need to record the audio from stick-c internal microphone and I want to use python.
I found a couple of examples that show how to play the audio in python via I2S internal dac:
Instead I can't find anything in python for recordind audio via the integrated microphone. I found an example for Arduino but I don't know how to port it in python.
Can anyone help me?
In UIFlow for Core2 under MediaTrans there are Mir Record and Audio Play sections with serveral blocks. I tried to search a little bit but I wasn't able to find any documentation on these blocks. Can you please point me to the documentation if already exist or else give me some information about these blocks?


In my point of view it would be great to have an M5 core with the ESP32-S2.
The S2 variant has the USB-OTG, and with the right bootloader (TinyUF2 Bootloader), it can expose the internal flash as a USB drive. No more AMPY or custom tools to updload files on the core. We would be able to use the Mu editor on the same easy way as we can do with the Micro:bit.
Last but not least, there is already a port of Adafruit CircuitPython for the ESP32-S2. CircuitPython is very well documented with tons of library alredy written for it.
I find easier to work with CircuitPython than MicroPython.
Let's look for example how CircuitPython handle the audio:
@ajb2k3 said in M5 Stamp C3 -> No Usage in UIFLOW ?!?!:
Correct.
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
I have just run in this blog message from Scott Shawcroft. He explains that in 2021 they will probably spend some time to try to create a port of CircuitPython for ESP32-S3 and maybe also a port for ESP32.
I'm crossing my finger hoping to see CircuitPython support for ESP32!!
Core2 has both an I2S speaker and an I2S microhone like the Atom Echo Smart. Can you please add the Echo STT functionality for the Core2 as well?

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!!
@ajb2k3 said in M5 Stamp C3 -> No Usage in UIFLOW ?!?!:
Correct.
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
@genvex
+1 to ulab in the firmare
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.
Hello @m5stack, I'm facing the same problem reported by @felmue with Core 2 and GoPlus2. Are you working on this bug?
I would like to use the Thermal Unit in UIFlow (1.7.6) but in the unit selection dialog is always disabled. Take a look at the following picture.

I tried with a StickC, StickC Plus and a Core2 but UIFlow doesn't let me add the Thermal unit.
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.