🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    M5StickC screen don't work

    M5 Stick/StickC
    11
    25
    89.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • HunterDAceH
      HunterDAce
      last edited by

      Hello, good day,

      I bought an M5StickC, and everything worked fine the first few days.
      I was testing several examples of the arduino ide library, but suddenly the screen stopped working.
      I can continue loading code and with the test code I can turn on and off the LED correctly, but the screen always turns black.

      Any idea what could happen?
      or the screen has died after less than a week of use?

      (Just to clarify, he has not received any blow or connected anything to any pin that may have broken inside)

      thanks in advance

      MatiM liemphL 2 Replies Last reply Reply Quote 0
      • MatiM
        Mati @HunterDAce
        last edited by

        @hunterdace hey
        I have also stick in same condition, and so far there is no way to make SW fix. No matter with FW will be loaded i can"t bring back the lcd....

        HunterDAceH 1 Reply Last reply Reply Quote 0
        • HunterDAceH
          HunterDAce @Mati
          last edited by

          @mati hey :)
          I see that I am not the only one,
          we will wait to see if someone has the solution,
          because it seems to be a very interesting device,
          and I have not had time to play in depth

          1 Reply Last reply Reply Quote 0
          • M
            macsbug
            last edited by macsbug

            There is a similar question below.
            http://forum.m5stack.com/topic/1454/m5stick-oled-cant-turn-on

            ajb2k3A 1 Reply Last reply Reply Quote 0
            • ajb2k3A
              ajb2k3 @macsbug
              last edited by

              @macsbug said in M5StickC screen don't work:

              There is a similar question below.
              http://forum.m5stack.com/topic/1454/m5stick-oled-cant-turn-on

              This is a different stick.
              There are 3 sticks available.
              M5Stick (gray) no longer supported in UIFLOW.
              M5StickC (Orange) Current model
              M5StickV (Blue) Not supported in UIFlow due to its AI Features.

              When writing to the M5StickC Make sure that you have selected the correct board as it works differently to the M5Stack.

              Try using M5Burner to wipe the StickC and install firmware 1.4 for M5Stick

              UIFlow, so easy an adult can learn it!
              If I don't know it, be patient!
              I've ether not learned it or am too drunk to remember it!
              Author of the WIP UIFlow Handbook!
              M5Black, Go, Stick, Core2, and so much more it cant be fit in here!

              HunterDAceH 2 Replies Last reply Reply Quote 0
              • HunterDAceH
                HunterDAce @ajb2k3
                last edited by

                @ajb2k3 hey :D

                Yes I have the orange one, M5StickC
                I will try the M5burner to wipe it

                I never used UIflow by now, only arduino ide

                I hope that works :)

                Thanks

                1 Reply Last reply Reply Quote 0
                • HunterDAceH
                  HunterDAce @ajb2k3
                  last edited by

                  @ajb2k3
                  Still not working,

                  I tried a wipe with M5burner and upload the latest uiflow, not work

                  Another wipe with M5burner and upload the test code with arduino, the led works with the side button

                  Still geting the black screen

                  e.e

                  1 Reply Last reply Reply Quote 0
                  • HunterDAceH
                    HunterDAce
                    last edited by

                    solved, I have tried this:

                    0_1573771109451_llqoArEZ.png
                    Short 'BAT' with 'GND', then connect USB cable to power on.
                    and upload the test code of Arduino.

                    and the screen is working again!

                    Thank you for your answers

                    I hope this works for someone else

                    D I 2 Replies Last reply Reply Quote 5
                    • D
                      davidtgbe @HunterDAce
                      last edited by davidtgbe

                      Same stick, same problem. I was trying to flash stickwatch project (https://github.com/sysdl132/m5stack-stickwatch) through platformio with settings indicated by the author:

                      [env:m5stack-core-esp32]
                      platform = espressif32
                      board = m5stack-core-esp32
                      framework = arduino
                      board_build.flash_mode = qio
                      board_build.f_flash = 80000000L
                      board_build.partitions = no_ota.csv
                      upload_speed = 750000

                      I've tried with the BAT + GND solution but with no success :(
                      Tried erasing and loading m5stick_factorytest firmware.
                      Tried erasing and loading uiflow-v1.4.3 firmware with m5burner:

                      esptool.py v2.5.0
                      Serial port COM4
                      Connecting....
                      Detecting chip type... ESP32
                      Chip is ESP32-PICO-D4 (revision 1)
                      Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse
                      MAC: d8:a0:1d:50:51:d8
                      Uploading stub...
                      Running stub...
                      Stub running...
                      Erasing flash (this may take a while)...
                      Chip erase completed successfully in 2.1s
                      Hard resetting via RTS pin...
                      Finished

                      Command:
                      --chip esp32 --port COM4 --baud 750000 --before default_reset --after no_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x10000 application_0x10000.bin 0x1000 bootloader_0x1000.bin 0x200000 fatfsImg_0x200000.img 0x8000 partitions_0x8000.bin 0xf000 phy_init_data_0xf000.bin
                      ===================================================****
                      esptool.py v2.5.0
                      Serial port COM4
                      Connecting....
                      Chip is ESP32-PICO-D4 (revision 1)
                      Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse
                      MAC: d8:a0:1d:50:51:d8
                      Uploading stub...
                      Running stub...
                      Stub running...
                      Changing baud rate to 750000
                      Changed.
                      Configuring flash size...
                      Auto-detected Flash size: 4MB
                      Compressed 1965600 bytes to 1378389...

                      Writing at 0x00010000... (1 %)
                      ...
                      Writing at 0x0021c000... (100 %)
                      Wrote 2097152 bytes (125780 compressed) at 0x00200000 in 2.5 seconds (effective 6809.0 kbit/s)...
                      Hash of data verified.
                      Compressed 3072 bytes to 122...

                      Writing at 0x00008000... (100 %)
                      Wrote 3072 bytes (122 compressed) at 0x00008000 in 0.0 seconds (effective 1540.8 kbit/s)...
                      Hash of data verified.
                      Compressed 144 bytes to 69...

                      Writing at 0x0000f000... (100 %)
                      Wrote 144 bytes (69 compressed) at 0x0000f000 in 0.0 seconds (effective 72.2 kbit/s)...
                      Hash of data verified.

                      Leaving...
                      Staying in bootloader.

                      Stick is working, but blank screen.
                      Maybe I've messed up partition table or something... I've not connected anything more than the USB-C cable to the computer and shorted the GND-BAT pins to try to solve the problem, so couldn't be a hardware problem...

                      D N 2 Replies Last reply Reply Quote 0
                      • D
                        davidtgbe @davidtgbe
                        last edited by

                        Ok, I've solved it with this sequence.

                        1. Erase and then flash UIFlow with M5Burner.
                        2. Disconnect USB from PC
                        3. Press PWR Button 6 sec to turn stick off.
                        4. Connect M5Stick to PC again
                        1 Reply Last reply Reply Quote 1
                        • liemphL
                          liemph @HunterDAce
                          last edited by

                          @hunterdace I had the same experience several times when I connected the M5StickC with the servo drive unit. However, I managed to resolve the problem by uploading the factor test sample code. I don't know the root problem but it helped. The only thing I suspected (but hopefully not) is that the problem appeared AFTER I updated my Ardunio IDE from 1.8.9 to 1.8.10. However, this may be a coincidence only.

                          1 Reply Last reply Reply Quote 0
                          • F
                            ForestRupicolous
                            last edited by

                            Hello together,
                            I had an Issue with the screen together with micropython (see http://community.m5stack.com/topic/1578/micropython-port-form-m5stickc) and it is possible that for the same reason your sw isn't working. The M5MicroC uses the AXP192 PMIC (this picture is really good: https://docs.m5stack.com/assets/img/product_pics/core/minicore/m5stickc/m5stickc_05.webp) to control all the energy related stuff. As far as I've seen the documents it was introduced in the orange version and is not part of the bigger M5Core (at least not for the version I saw the code). Therefore a lot of libraries don't enable the LDO for the display and background led which led to my issues. In the code you are referencing I'm also not seeing any AXP192 files.

                            1 Reply Last reply Reply Quote 0
                            • N
                              nsfilho @davidtgbe
                              last edited by nsfilho

                              @davidtgbe Did you found any solution? Because I have the same problem. My M5Stick-C is fully functional, except by screen (which is totally black).

                              I tried the Factory Test Firmware, put my own firmware and nothing. I tried to short-cut pins BAT+GND, and insert the USB-C cable, but the screen does not lit (I waited for 2 secs), after that, I removed the short-cut (I'm afraid about fry my device).

                              How much time are you waited in this short-cut? Anyone can help us??

                              EDIT: in my firmware I used the default settings as bellow

                              void setup(void)
                              {
                                  M5.begin(true, true, true);
                                  M5.Lcd.fillScreen(WHITE);
                                  M5.Axp.ScreenBreath(15); // 7-15
                              }
                              

                              Anyways, the screen isn't show anything including in the Factory Test Firmware. When I try to used UIFlow, show me an error when connect via I2C to AXP. Are anyone experienced something like that?

                              @m5stack can you help me, please?

                              EDIT2: More information when I run UIFlow (terminal info):

                              --- Miniterm on /dev/cu.usbserial-3D527252B4  115200,8,N,1 ---
                              --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
                              ␛[0;32mI (9) boot: ESP-IDF v3.3-beta1-696-gc4c54ce07 2nd stage bootloader␛[0m
                              ␛[0;32mI (9) boot: compile time 19:32:01␛[0m
                              ␛[0;32mI (9) boot: Enabling RNG early entropy source...␛[0m
                              ␛[0;32mI (14) boot: SPI Speed      : 80MHz␛[0m
                              ␛[0;32mI (18) boot: SPI Mode       : DIO␛[0m
                              ␛[0;32mI (22) boot: SPI Flash Size : 4MB␛[0m
                              ␛[0;32mI (26) boot: Partition Table:␛[0m
                              ␛[0;32mI (29) boot: ## Label            Usage          Type ST Offset   Length␛[0m
                              ␛[0;32mI (37) boot:  0 nvs              WiFi data        01 02 00009000 00006000␛[0m
                              ␛[0;32mI (44) boot:  1 phy_init         RF data          01 01 0000f000 00001000␛[0m
                              ␛[0;32mI (52) boot:  2 factory          factory app      00 00 00010000 001f0000␛[0m
                              ␛[0;32mI (59) boot:  3 internalfs       Unknown data     01 81 00200000 00200000␛[0m
                              ␛[0;32mI (67) boot: End of partition table␛[0m
                              ␛[0;32mI (71) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0xe95ac (955820) map␛[0m
                              ␛[0;32mI (354) esp_image: segment 1: paddr=0x000f95d4 vaddr=0x3ffbdb60 size=0x034dc ( 13532) load␛[0m
                              ␛[0;32mI (359) esp_image: segment 2: paddr=0x000fcab8 vaddr=0x40080000 size=0x00400 (  1024) load␛[0m
                              ␛[0;32mI (361) esp_image: segment 3: paddr=0x000fcec0 vaddr=0x40080400 size=0x03150 ( 12624) load␛[0m
                              ␛[0;32mI (374) esp_image: segment 4: paddr=0x00100018 vaddr=0x400d0018 size=0xdcac4 (903876) map␛[0m
                              ␛[0;32mI (638) esp_image: segment 5: paddr=0x001dcae4 vaddr=0x40083550 size=0x12a98 ( 76440) load␛[0m
                              ␛[0;32mI (664) esp_image: segment 6: paddr=0x001ef584 vaddr=0x400c0000 size=0x00064 (   100) load␛[0m
                              ␛[0;32mI (664) esp_image: segment 7: paddr=0x001ef5f0 vaddr=0x50000000 size=0x00808 (  2056) load␛[0m
                              ␛[0;32mI (685) boot: Loaded app from partition at offset 0x10000␛[0m
                              ␛[0;32mI (685) boot: Disabling RNG early entropy source...␛[0m
                              ␛[0;32mI (685) cpu_start: Pro cpu up.␛[0m
                              ␛[0;32mI (689) cpu_start: Application information:␛[0m
                              ␛[0;32mI (694) cpu_start: Compile time:     Dec 27 2019 19:32:08␛[0m
                              ␛[0;32mI (700) cpu_start: ELF file SHA256:  0000000000000000...␛[0m
                              ␛[0;32mI (706) cpu_start: ESP-IDF:          v3.3-beta1-696-gc4c54ce07␛[0m
                              ␛[0;32mI (712) cpu_start: Starting app cpu, entry point is 0x400836e4␛[0m
                              ␛[0;32mI (0) cpu_start: App cpu up.␛[0m
                              ␛[0;32mI (723) heap_init: Initializing. RAM available for dynamic allocation:␛[0m
                              ␛[0;32mI (730) heap_init: At 3FFAE6E0 len 0000F480 (61 KiB): DRAM␛[0m
                              ␛[0;32mI (736) heap_init: At 3FFCB2D8 len 00014D28 (83 KiB): DRAM␛[0m
                              ␛[0;32mI (742) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM␛[0m
                              ␛[0;32mI (748) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM␛[0m
                              ␛[0;32mI (755) heap_init: At 40095FE8 len 0000A018 (40 KiB): IRAM␛[0m
                              ␛[0;32mI (761) cpu_start: Pro cpu start user code␛[0m
                              ␛[0;32mI (107) cpu_start: Starting scheduler on PRO CPU.␛[0m
                              ␛[0;32mI (0) cpu_start: Starting scheduler on APP CPU.␛[0m
                              
                              Internal FS (FatFS): Mounted on partition 'internalfs' [size: 2097152; Flash address: 0x200000]
                              ----------------
                              Filesystem size: 2035712 B
                                         Used: 479232 B
                                         Free: 1556480 B
                              ----------------
                              Traceback (most recent call last):
                                File "boot.py", line 4, in <module>
                                File "flowlib/uiflow.py", line 1, in <module>
                                File "flowlib/m5stack.py", line 14, in <module>
                                File "flowlib/hw/axp192.py", line 28, in powerAll
                                File "flowlib/hw/axp192.py", line 125, in _regChar
                              OSError: I2C bus error (-1)
                              Traceback (most recent call last):
                                File "main.py", line 1, in <module>
                              NameError: name 'lcd' isn't defined
                              MicroPython v1.11-316-gca0d8a0a5 on 2019-12-27; ESP32 module with ESP32
                              Type "help()" for more information.
                              >>> 
                              
                              1 Reply Last reply Reply Quote 0
                              • F
                                ForestRupicolous
                                last edited by

                                Is see two possible issues:

                                OSError: I2C bus error (-1)

                                The AXP192 PMIC is controlled via I2C, if the bus isn't working maybe the LDO3/2 isn't enabled. Start with a I2C scan to see if a device with address 52 (thats the AXP192) is available. More code is in the post linked above.

                                NameError: name 'lcd' isn't defined

                                Something went wrong with the initialization of the lcd python module. Maybe the wrong version is included?

                                N 1 Reply Last reply Reply Quote 0
                                • N
                                  nsfilho @ForestRupicolous
                                  last edited by nsfilho

                                  @forestrupicolous first of all, thank you by your support. No I2C devices was found.

                                  M5StickC initializing...OK
                                  M5StickC I2C Tester
                                  Millis: 4041 - Scanning Address
                                  Finished, total: 0 devices!
                                  

                                  I made the code bellow to scan:

                                  #include <M5StickC.h>
                                  
                                  void setup() 
                                  {
                                    M5.begin();
                                    Serial.println("M5StickC I2C Tester"); 
                                    Wire.begin();
                                    delay(3000);
                                  }
                                  
                                  void loop() 
                                  {
                                    byte address, error;
                                    byte devices = 0;
                                    
                                    Serial.print("Millis: ");
                                    Serial.print(millis());
                                    Serial.println(" - Scanning Address");
                                    
                                    for(address = 1; address < 127; address++ ) 
                                    {
                                      Wire.beginTransmission(address);
                                      error = Wire.endTransmission();
                                      if (error==0)
                                      {
                                        devices++;
                                        Serial.print("- Found: 0x");
                                        Serial.println(address, HEX);
                                      }
                                  
                                      delay(10);
                                    }
                                    Serial.print("Finished, total: ");
                                    Serial.print(devices);
                                    Serial.println(" devices!\n\n");
                                    delay(5000);
                                  }
                                  

                                  What you believe I need to do? Because my hardware are entirely new and I don't used any pins for nothing.

                                  I bought more U$ 400.00 in hardware from M5Stack and I'm very preocupated if something like that happens to others. Because the logistic process to repair could be inviable (country rules: Brazil).

                                  If you have any insight to solve that, I'll be appreciate. Thank you in advance.

                                  @m5stack please, help me!!

                                  N 1 Reply Last reply Reply Quote 0
                                  • N
                                    nsfilho @nsfilho
                                    last edited by

                                    Today has arrived more two M5Stick-C units for me. After some tests, I discovered more I2C Channels to test. In a fully functional M5Stick-C Unit, I have this result:

                                    M5StickC initializing...OK
                                    M5StickC I2C Tester
                                    Millis: 4057 - Scanning Address
                                    Port: 1 - Found: 0x34
                                    Port: 1 - Found: 0x51
                                    Port: 1 - Found: 0x68
                                    Finished, total: 3 devices!
                                    

                                    When I run the same software in a unit with problem, I obtain the bellow result:

                                    M5StickC I2C Tester
                                    Millis: 4047 - Scanning Address
                                    Port: 1 - Found: 0x51
                                    Port: 1 - Found: 0x68
                                    Finished, total: 2 devices!
                                    

                                    The AXP I2C address (0x34) is not found. Are anyone knows how to solve that?

                                    @m5stack please help me.
                                    @lukasmaximus I see you have a big knowloged about M5Stack products. Are you know something about that? Could you help me, please?

                                    My I2C tester code:

                                    #include <M5StickC.h>
                                    
                                    void setup()
                                    {
                                      M5.begin();
                                      Serial.println("M5StickC I2C Tester");
                                      Wire.begin();
                                      Wire1.begin();
                                      delay(3000);
                                    }
                                    
                                    byte checkResult(byte error, byte address, byte wirePort)
                                    {
                                      if (error == 0)
                                      {
                                        Serial.print("Port: ");
                                        Serial.print(wirePort);
                                        Serial.print(" - Found: 0x");
                                        Serial.println(address, HEX);
                                        return 1;
                                      }
                                      return 0;
                                    }
                                    
                                    void loop()
                                    {
                                      byte address = 1;
                                      byte devices = 0;
                                    
                                      Serial.print("Millis: ");
                                      Serial.print(millis());
                                      Serial.println(" - Scanning Address");
                                    
                                      for (; address < 127; address++)
                                      {
                                        Wire.beginTransmission(address);
                                        Wire1.beginTransmission(address);
                                        devices += checkResult(Wire.endTransmission(), address, 0);
                                        devices += checkResult(Wire1.endTransmission(), address, 1);
                                        delay(10);
                                      }
                                      Serial.print("Finished, total: ");
                                      Serial.print(devices);
                                      Serial.println(" devices!\n\n");
                                      delay(5000);
                                    }
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      clive.dent
                                      last edited by

                                      Hi. I just want to say that I was able to solve this strange issue with the BAT - GND cable trick. It didn't work at first and I was getting only two ports from nsfilho's script. But then I figured it out. I just had to turn the device off by holding the power button for 6s first and then the cable trick worked.

                                      N 1 Reply Last reply Reply Quote 0
                                      • N
                                        nsfilho @clive.dent
                                        last edited by

                                        @clive-dent How much time have you waited with a jumper between GND and BAT? I'm asking that, because I'm a little afraid about to jumper GND and BAT, specially because it is a LIPO Battery (can explode).

                                        But if it is a solution, I'll do that! If you can tell me the how much time, I really appreciate. Please, let me ask you something, If you could create a Youtube video showing that solution, I belive it will be amazing. Many M5Stick-C buyers will go to face this same problem and now have no reference to follow.

                                        Thank you again by your disposition to share how to solve the problem :)

                                        C 1 Reply Last reply Reply Quote 0
                                        • mdevel1M
                                          mdevel1
                                          last edited by

                                          I had the same issue with one of my two sticks, which appeared and disappeared without (intentionally) shorting anything and found two loose magnets inside. See the Loose magnets inside can short the battery and other components topic for more details. The magnets might have shorted some pins while I was trying to remove them (or caused the whole issue beforehand).
                                          While my stick was defective I had access to the AXP on the I2C bus (I think the M5.Axp.GetBatState() or any other Axp call would not work otherwise), but the returned values were incomprehensible. Since my stick is working now, can you test the code posted there to dump the data form the AXP chip?

                                          N 1 Reply Last reply Reply Quote 0
                                          • N
                                            nsfilho @mdevel1
                                            last edited by

                                            @mdevel1 After your message, I opened my M5Stick-C too, but in my case, the magnets is in a properly slots. I didn't found any problems after a quick look in the board and components.

                                            If anyone have any idea about how to procedure, I'll appreciate!
                                            Thank you in advance and thank you for share with us.

                                            mdevel1M 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post