Here we go, easy work-around for the faulty lcd.image():
from m5stack import *
buffer = open("/sd/images/test.jpg").read()
lcd.image_buff(lcd.CENTER, lcd.CENTER, buffer)
Here we go, easy work-around for the faulty lcd.image():
from m5stack import *
buffer = open("/sd/images/test.jpg").read()
lcd.image_buff(lcd.CENTER, lcd.CENTER, buffer)
Adding upip to the firmware image would make developer's live much easier.
How to manually install the urllib.parse library.
Create folder /upip and add files upip.py and upip_utarfile.py manually.
Install the library with upip:
%cd /flash/upip
import upip
upip.install("micropython-urllib.parse", "/flash/lib")
To get it working, remove re.py and ffilib.py from lib. Hat-tip to Andreas.
Finally you can encode URL parameters for GET requests:
%cd /flash/lib
import urllib.parse
urllib.parse.urlencode({"a":1, "b": 2})
=> 'a=1&b=2'
In the forum I read that there is some advanced touch/swipe functionality available for the Arduino language.
Will there be high level touch/swipe functions for UIFlow?
I would like to do some photo swiping/scrolling on my Core2, like on a smart phone.
Cheers
Mike
@felmue Thanks again! It's now placed in my shopping basket :-)
I would like to build a line follow robot and read the analog values of three sensors. How can I connect three Unit Reflective IR via Unit PaHUB V2 to my AtomS3 Lite? It seems in the UIFlow2 GUI I can only add a single Unit Reflective IR. And it needs some custom pin input?
I want to build a driving robot with Atomic Motion Base and 2x 360 servos.

I started with Atom Matrix. After motion base and ToF4M have been added in UIFlow2, it always tells me that I2C is not correctly initialized. I tried chat, it didn't help. Maybe it's an error with the UIFlow defaults for the combination?
Next was AtomS3 Lite, there UIFlow2 just continued to work after adding motion base and ToF4M.
During boot of Atom Matrix and AtomS3 Lite on USB, I often saw an error about "Wrong Password" in the log. It seems the WiFi is connecting, but it's not waiting long enough before trying cloud login. But that's just a guess. Sometimes it works, so a lot of reboots to get to stable state.
Next was the servo setup, two 360 servos connected to the motion base. It took some time to figure it out. Angle at 90 means stop, pulse at 1500 means stop. I would have expected that the same value means the same speed, but with pulse 1300 and 1700 it was always not going straight. I would have expected that servos can handle this better.
Finally the ToF4M was added to the code, to turn before getting to close to an object. Sometimes it works, sometimes it doesn't, I am not sure what the issue is, maybe the sensor needs more stable power than the 18350 battery can supply.

Overall it was a unpleasent experience. Atom challanges, servos not going reliably straight, ToF not always working, it was a bit disappointing. Happy to get any kind of constructive feedback, how to improve the situation.
Why do those two Atom devices behave differently when being reset?
When I reset the Atom Matrix, the USB serial connection is kept, I see the full console output.
When I reset the Atom S3 Lite, the USB serial connection is always terminated and I need to re-connect, missing parts of the console output.
The block "get timezone (return string)" is also not working, showing traceback.
When getting the time in UIFlow2, date tuple has the year 2054 and the minutes are 17 off, so it's seems not to be a timezone issue.
I tried multiple NTP servers when flashing, like the pre-configured ntp.aliyun.com and also de.pool.ntp.org. The device is connected to Internet, I can run my program via UIFlow2 cloud, but the time is not synchronized correctly.
It would be great to be able to manually trigger the NTP sync of time.
"Set timezone" block does not work, neither with the dropdown nor with the string, in v2.1.8 on Core2.
Both blocks are converted into the same python code:
import time
time.timezone('GMT+1')
Traceback:
AttributeError: 'module' object has no attribute 'timezone'
@ajb2k3 Using M5Burner v3.0.0 on MacOS v14.7 on MacBook M3.
Using a Core2 with fresh v2.1.8-CORE2 image flashed and UIFlow2 V2.1.8 in web, connected via cloud.
Every time I run a brand new project file (just Setup and Loop), this is shortly shown on device, before the program runs:
Traceback (most recent call last):
File "<stdin>", line 27, in <modules>
Keyboardinterrupt:
Every time I flash an image with M5Burner, I have to change again COM, BaudRate, SNTP0, SNTP1 and Timezone.
It would be great if M5Burner could save all the config items for next time re-use.
It seems WIFI SSID and WIFI Password are already saved.