Sorry, but new firmware breaks my projects... Again...



  • Guys, I love that M5stack and UIFlow is actively being worked on and improved!!! M5Stack has enabled several projects for me that would have been insurmountable trying to get the hardware together, or, in other projects, being able to leverage UIFlow to get a project off the ground. It's a very unique set of product offerings!!!

    Please give us back the ability to burn 2.0.1 and 2.0.2 in M5Burner. Maybe it doesn't work with the web interface of UIFlow 2.0.3, but maybe it does!

    I spent hours trying to get an M5Stack GPS U032 unit working with an M5Dial in UIFlow, only to realize (in another topic) that it worked with UIFlow 2.0.2, but I had to burn firmware 2.0.1, even though .2 to was available. Since then, I've spent a great deal of time building and testing a project, that really began taking shape.

    I just got into UIFlow, made a very small change, and tried to run it, but now getting an odd error. I notice UIFlow has been upgraded to 2.0.3, which is great! But sadly, that no longer seems to be working with the burned 2.0.1 firmware on my Dial. Burning 2.0.3 firmware onto the Dial again breaks GPS functionality.

    I realize that the UIFlow environment is extremely difficult to maintain, when M5Stack has so many controllers, sensors, and modules, there are SO many combinations and things to keep working! But sadly, I'm dead in the water, again, with my only option being to resort to C programming, and jumping off the LVGL cliff (learning curve) to get this project back on track. It's literally dead right now, as 2.0.3 does not work with UIFlow, Dial, and a U032 GPS.

    We all love M5Stack, and most of us know how difficult it must be to keep all this stuff working - please know that we appreciate it!!!



  • For what it's worth, I'm getting roughly the same errors as I got when using UIFlow 2.0.2 and Dial firmware 2.0.2. I was able to get things working by burning 2.0.1 on the Dial.

    This is with 2.0.3, the only available firmware in MBurner:0_1711155168441_PXL_20240323_003554341.jpg



  • Hello @BrianR

    sad but true. I can confirm that UART (id=1) in general is broken in M5Dial UIFlow2.0.3 firmware.

    Note: M5Dial UIFlow firmware v2.0.1 was the last version where UART (Id=1) worked. In other words: It seems it got broken starting with v2.0.2 (as @BrianR stated).

    @m5stack : please fix. Thank you.

    Note: UART (id=0) is used for REPL connection and debugging, so not an option.

    BTW: I've checked UART (id=1) on M5CoreS3 (UIFlow2.0.3 fw) and M5StampS3 (UIFlow2.0.3 fw) and both work ok.

    Thanks
    Felix



  • Hello @BrianR

    after long hours of searching and trial and error I think I found the reason UART is broken on M5Dial UIFlow2 firmware v2.0.2 and later. At least the fix works for me. I've created a PR for M5Stack engineers to consider.

    Thanks
    Felix



  • @felmue - Felix, thanks so much for taking the time to not only confirm this, but also figure out the fix! You are so helpful to everyone on this forum!!! Thank you for your dedication to helping others!



  • Same issue with AtomS3 and I2C - firmwares 2.0.2 and 2.0.3 don't see anything on the I2C bus, 2.0.1 is fine
    Any clue how one can get v2.0.1?



  • Not that I know of. I wish they'd have left it in Burner, it doesn't make too much sense to remove such recent firmware versions! If new firmware improves or fixes something, great, burn it! But this situation is a good example of why it's a good idea to leave past versions. It's not like 2.0.1 is ancient history?



  • Hello @aleksandar-atanasov

    I cannot reproduce the issue you are describing. With UIFlow2.0.3 firmware on my M5AtomS3 I can scan the internal and external I2C bus just fine. Please see my example in the PlayZone called: M5AtomS3_I2C_Scan_UIFlow2.0.3

    Do you get an error or just an empty list when you try to scan the I2C bus?

    Thanks
    Felix



  • @brianr said in Sorry, but new firmware breaks my projects... Again...:

    U032

    I have same problem with GPS U032 and StickC Plus under UIFlow 2.03, not working...



  • Hello @flex

    sorry, but I cannot reproduce the issue you are reporting. Running UIFlow2.0.3 firmware on my M5StickCPlus with a GPS unit works just fine. Please check PlayZone M5StickCPlus_GPS_unit_UIFlow2.0.3 example.

    What exactly doesn't work for you? Do you get an error message in the log?

    Thanks
    Felix



  • Hello @felmue

    I have a program which works and start by:
    Begin Initialization True
    Init built-in hardware at beginning
    Init BLE Uart client
    ....

    when I add "Init gps_0" before of after "Init BLE Uart client", it crashes

    I tried on your program which works on my StickC Plus and GPS under UIFlow 2.03. When I just add "Init BLE Uart client" before or after "Init gps_0", it crashes also.

    All my programs with BLE Server and BLE Client work fine and I can exchange data between 2 StickC Plus.

    Thanks

    Pascal



  • Hello @flex

    I can confirm that using init gps block with init BLE uart client block results in a crash. Tested with M5StickCPlus UIFlow2.0.4 firmware.

    Note: when I add a 5 second delay in between the two init block I do not see a crash. However I did not confirm whether GPS or BLE still works.

    Thanks
    Felix



  • @felmue

    Hello Felix,

    thanks for confirmation.

    Do you think that reason can be an incorrect memory management in lib gps or lib bleuart or lib M5?

    To whom should be addressed that problem in M5Stack dev. team?

    Thanks
    Pascal



  • Hello @flex

    have you tried to write to support@m5stack.com?

    Thanks
    Felix



  • I have contacted support, and they offered 2.0.4--hotfix to test, but neither that, nor 2.0.4, resolves this issue. They should be able to easily recreate this problem on their end, but I'm happy to keep testing for them.

    Problem easily seen by burning new firmware from Burner, then create a new UIFlow2 project, and just add the M5Stack GPS to Unit, and hit Run. Errors. Take the "Init gps_0" out of the setup block and hit Run, and it loads the expected black screen. Add it back in, it errors...

    Again asked for 2.0.1, even just temporarily, as a testing control to ensure that there is a firmware this worked with. We'll see...



  • Hello @BrianR

    that is not what I am seeing. With M5Dial UIFlow firmware v2.0.4--hotfix my GPS example in the Project Zone runs just fine. M5Dial_GPS_Unit_UIFlow2.0.2

    Edit: Just double-checked:

    • Erase, burn UIFlow2.0.3, new project, add GPS unit, run -> error
    • Erase, burn UIFlow2.0.4--hotfix, new project, add GPS unit, run -> no error

    Thanks
    Felix



  • @felmue , I just spent a bit of time struggling to get any firmware to load onto either Dial that I have, but I finally got the --hotfix firmware loaded, and I can confirm that the GPS now works again!

    Thank you M5Stack for taking the time to resolve!