UIFlow 2.0.1 firmware preview version



  • Hi everyone, after more than 20 days, we are here to release a new version of the UIFlow 2.0 preview firmware, more information can be found in this thread, thank you for your feedback in the last firmware, we believe that some of them have been fixed, but also There may be new bugs introduced, I hope you can help test it again.

    Changelog:

    1. Fix the WIFI error caused by SPIRAM, now the firmware has been divided into two (with SPIRAM and without SPIRAM).
    2. The problem of conflict between SD card and screen (not sure if it is completely fixed, we have not tested the problem yet)
    3. Image display support (BMP, JPG, PNG)
    4. Other known bug fixes
    

    We believe that there are still some bugs that we have not tested yet, but there are also many missing functions, and we will update the new version as soon as possible.

    It is now recommended that you help us develop and test firmware using:

    Thonny (highly recommended)
    Putty (command line)
    Pymakr (VS code plugin, from pycom)
    

    How to write firmware:

    Please download the firmware with SPIRAM or firmware without SPIRAM, use esptool or Flash Download Tools to write the firmware at offset 0x1000.

    esptool.py --chip esp32 --port /dev/ttyUSBx --baud 1500000 write_flash 0x1000 uiflow-c8e825d-dirty-NOSPIRAM-4MB.bin # or uiflow-c8e825d-dirty-SPIRAM-4MB.bin
    

    draw image example

    # -*- encoding: utf-8 -*-
    # draw image test
    import m5
    from m5 import lcd
    import random
    import time
    
    m5.begin()
    
    jpg = open("res/img/m5stack_80x60.jpg", "b")
    lcd.drawImage(jpg.read(), 0, 0)
    jpg.seek(0)
    lcd.drawJpg(jpg.read(), 0, 180)
    jpg.close()
    
    bmp = open("res/img/m5stack_80x60.bmp", "b")
    lcd.drawImage(bmp.read(), 240, 0)
    bmp.seek(0)
    lcd.drawBmp(bmp.read(), 240, 180)
    bmp.close()
    
    png = open("res/img/uiflow_44x44.png", "b")
    lcd.drawImage(png.read(), 116, 98)
    png.seek(0)
    lcd.drawPng(png.read(), 160, 98)
    png.close()
    
    time.sleep(1)
    lcd.clear(0x8BF5CE)
    
    lcd.drawImage("res/img/m5stack_80x60.bmp", 0, 0)
    lcd.drawImage("res/img/m5stack_80x60.jpg", 240, 0)
    lcd.drawImage("res/img/uiflow_44x44.png", 138, 98)
    lcd.drawImage("res/img/m5stack.png", 0, 0)
    lcd.drawBmp("res/img/m5stack_80x60.bmp", 240, 180)
    lcd.drawJpg("res/img/m5stack_80x60.jpg", 0, 180)
    
    time.sleep(1)
    lcd.clear(0x8BF5CE)
    lcd.drawPng("res/img/m5stack.png", 0, 0)
    
    

    P.S.

    Follow M5STACK on twitter for the latest news about UIFlow 2.0 new update.



  • Which version should I download for the M5Stack Core2?
    For flashing eigenet but also Thonny excellent, right?



  • Hello @Wolli01

    M5Core2 has SPIRAM so I'd say try the version with SPIRAM.

    Thanks
    Felix



  • Hi @m5stack

    I can confirm that the NOSPIRAM firmware, flashed onto M5Atom, now allows to scan for WiFi networks successfully.

    Thanks
    Felix



  • Hello @m5stack

    on M5Tough the m5 module incorrectly exposes btnA, btnB and btnC which M5Tough does not have.

    import m5
    help(m5)
    
    object <module 'm5'> is of type module
      __name__ -- m5
      begin -- <function>
      update -- <function>
      BOARD -- <class ''>
      getBoard -- <function>
      btnA -- <>
      btnB -- <>
      btnC -- <>
      btnPWR -- <>
      btnEXT -- <>
      display -- <>
      lcd -- <>
    

    Thanks
    Felix



  • @felmue

    Thanks, this will fix in the future.