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

    M5StickC: turn off screen completely

    M5 Stick/StickC
    11
    25
    90.9k
    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.
    • W
      ws1088 @dda
      last edited by

      @dda what a wonderful work you have done! I hope this will enable @Multihelix to use M5StickC as a watch (turn off OLED after a timeout and turn on OLED on button press or accelerometer)

      D 1 Reply Last reply Reply Quote 1
      • M
        maxstack @Multihelix
        last edited by

        @multihelix

        How are you getting 5 hours of life? it seems you would need <16 ma total drain

        Are you sleeping the ESP32?

        M 1 Reply Last reply Reply Quote 0
        • D
          dda @ws1088
          last edited by

          @ws1088 Funny enough I bought my M5StickC with the watch strap and all, but not because I wanted a watch – I don't wear them – but because it enables me to tie it up to my backpack when I do LoRa range tests :-)

          W 1 Reply Last reply Reply Quote 0
          • W
            ws1088 @dda
            last edited by

            @dda said in M5StickC: turn off screen completely:

            @ws1088 Funny enough I bought my M5StickC with the watch strap and all, but not because I wanted a watch – I don't wear them – but because it enables me to tie it up to my backpack when I do LoRa range tests :-)

            why would you use m5stickc to do LoRa range tests? You can get LoRa chip with OLED screen. Do you connect m5stickc to a LoRa chip via I2C? or WiFi AP?

            1 Reply Last reply Reply Quote 0
            • D
              dda
              last edited by

              I have a lot of different LoRa chips and setups. I have one board, at 230 MHz, that I can connect through the hat connector (I need 3 pins + Vcc/GND). I have transceivers, both at 230 and 433 MHz, I connect to via RS485 (I bought a hat for that, and also some RS485 for my M5Stack cores). etc etc. The smaller the better :-)

              1 Reply Last reply Reply Quote 0
              • M
                Multihelix @maxstack
                last edited by

                @maxstack - Yes, I used ESP DeepSleep set to wake on Button A being pressed, but I would say that the 5 hour time was not under ideal conditions, as I occasionally woke up the device to confirm it was still working and to check the time - a resonable activity for a watch.

                S 1 Reply Last reply Reply Quote 0
                • S
                  spiffmonious @Multihelix
                  last edited by

                  @multihelix Can you post a link to your watch code?

                  1 Reply Last reply Reply Quote 0
                  • K
                    klimbot @dda
                    last edited by klimbot

                    @dda said in M5StickC: turn off screen completely:

                    I did a simple test: with only REG 28H the screen stays slightly warm. With both 28H and 10H, the screen cools off after a while. Hardly a scientific test, I know, but seems to point to the need to set both registers.

                    I'm looking at this thread to hopefully implement a complete screen turn off, but am not sure what register mask to use (based on quoted post)

                    Here is what I have, the screen is off but hard to know if the screen has actually been disabled.

                    void turnOffScreen() {
                    Wire1.beginTransmission(0x34);
                    Wire1.write(0x10);
                    Wire1.write(0b00000000); // 7-3=? | 2=EXTEN | 1=? | 0=DC-DC2
                    Wire1.endTransmission();

                    Wire1.begin(21, 22);
                    Wire1.beginTransmission(0x34);
                    Wire1.write(0x12);
                    Wire1.write(0b01001011); // 7=? | 6=EXTEN | 5=? | 4=DC-DC2 | 3=LDO3 | 2=LDO2 | 1=DC-DC3 | 0=DC-DC1
                    Wire1.endTransmission();

                    Wire1.beginTransmission(0x34);
                    Wire1.write(0x28);
                    Wire1.write(0b00001111); // 7-4=LDO2 | 3-0=LDO3
                    Wire1.endTransmission();
                    }

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

                      @klimbot: I think you have to turn LDO3 and LDO2 off, in your code only LDO2 is off. Take a look at this picture: https://docs.m5stack.com/assets/img/product_pics/core/minicore/m5stickc/m5stickc_05.webp

                      1 Reply Last reply Reply Quote 0
                      • V
                        viandou
                        last edited by

                        This is how I init my M5StickC in a full black screen way.

                        M5.begin(0,1,1);
                        M5.Axp.SetLDO2(false);
                        M5.Axp.SetLDO3(false);
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post