Hardware/Software clarification
-
Hi all. I'm evaluating M5 components for a school purchase. Now I'm looking to verify and clarify some things.
I have an M5 Stick CPlus 1.1 and an angle unit to experiment with.
Let's assume a simple project: variable rate flashing LED (rate changes with angle unit), and display the flash rate on the M5 Stick screen. An appropriate LED attached should be all I need to make this work, right? (with appropriate firmware, of course)Is UIFlow online only?
UIFlow 2 doesn't seem to have documentation? And I didn't find anything in it for output (like PWM?) Is that added somehow, or am I missing where it is? Also, displaying something on the screen in landscape requires guessing and adding a rotation separately? I could get Angle Unit values to display, but haven't figured out how to display a stable value, or a 'calculated value' (if the answer is to learn MicroPython, that's enough to give up on the school's evaluation. Arduino was already ruled out as too fussy for 'ordinary' early teens) 'block' programming seems like a better start. And, of course, I haven't figured out how to output anything yet.
Hopefully, it's a lot of simple projects if this works out. Thermometer, light meter, etc.
suggestions welcomed too.
thank you. -
if you in uiflow 2 there is "project zone" with lots of users examples, bet there is few with PWM there, with display there is screen rotation block available
stable value? calculated value? - maybe use of internal variable block for calculations
-
I've visited the 'Project Zone', and the PWM examples I could find there didn't actually do anything (something still lacking).
The lack of documentation for UIFlow2 is disturbing. I've spent many hours trying to figure out some of the simplest things. Looks like it's been around for years, and still in development, and probably usable if you could figure it all out. The online tutorials seem to leave out some key (simple) things.
I figured out: you have to add hardware features to make them available for programming. There is no 'offline' version available. Screen text alignment is accomplished through experimentation.
I gave up on UIFlow2. UIFlow1 offers documentation, offline software, and many things are more straightforward than trying to do them in 2. I gave a couple of units to some kids who are involved in robotics to see what they could do, and they generally agreed with this observation.
I was able to program a PWM output with a % of frequency display that works well in UIFlow1. I spent hours in UIFlow2 trying to do the same thing, and it never worked.
It all comes down to that I need to find some other option, this one doesn't cut it. Arduino for M5 also seems to be a little 'off',
-
@dm4401
The documentation of UiFlow2 is a bit hidden: https://uiflow-micropython.readthedocs.io/en/latest/index.html
UiFlow2 can of course use PWM, you need to add this function in the Hardware on the left.
We recommend using the online version of UiFlow2, because UiFlow1 is being phased out. The offline version of UiFlow1 has long stopped updating. -
Hi everyone,
I’m currently evaluating M5Stack components (specifically the M5StickC Plus 1.1) for potential use in school-level STEM education. My goal is to verify a few key points and ensure the platform is both functional and student-friendly for early teens.
📘 Project Overview: Angle-Based LED Flasher
For initial testing, I'm using:M5StickC Plus 1.1
Angle Unit (IMU sensor)
External LED
The idea is simple:
👉 As the device is tilted, the LED’s flashing rate changes, and the current rate is displayed on-screen.With the right firmware, a connected LED and angle sensor should make this fully achievable. The Grove port makes sensor/LED integration easy, and the built-in screen is perfect for real-time feedback.
💻 Clarifying UIFlow & Output Features
✅ Is UIFlow online only?
UIFlow v1 is available in both online and offline modes (via downloadable desktop IDE).UIFlow v2, at this point, is primarily online via https://uiflow2.m5stack.com.
You’ll need to use M5Burner to flash the correct firmware for either version.
⚙️ Is PWM or Output Control Supported?
PWM control (for blinking LED with variable timing) is not clearly exposed in UIFlow 2’s block environment as of now.You may need to toggle GPIO pins manually or use UIFlow v1 for better output control using blocks.
Alternatively, UIFlow does allow Python-level customization if needed — but this might be a stretch for middle school use.
📺 Display Issues in Landscape Mode?
Yes, displaying values in landscape requires a bit of manual screen rotation.Some values flicker unless refreshed properly; for stable display, use logic blocks to update only when the value changes significantly.
🧠 MicroPython vs Block Coding?
I completely agree that MicroPython or Arduino can feel too complex for early teens. That's why block-based programming like UIFlow is a far better starting point — especially in a school setting where time and experience may be limited.🔬 Educational Perspective – From MITSDE
As a learner at MIT School of Distance Education (MITSDE), I’ve developed an appreciation for platforms that blend practical hardware use with real-world applications. MITSDE’s curriculum in technology and systems emphasizes:Hands-on project building
Embedded systems basics
Logical thinking and block coding for beginners
This mindset fits perfectly with M5Stack’s mission — allowing students to explore real computing and electronics concepts in an engaging, approachable way.
🌟 Future Potential: If This Works Out…
Build a thermometer with ENV sensorsLight meters, timers, tilt-controlled games, sound alarms, etc.
All built using block code and plug-and-play modules — ideal for STEM labs
[https://mitsde.com/](link url)