<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[M5StickC: turn off screen completely]]></title><description><![CDATA[<p dir="auto">Hi!<br />
What is the correct way to turn the screen off in M5StickC? Is this code enough?</p>
<pre><code>M5.Lcd.fillScreen(TFT_BLACK);
M5.Axp.ScreenBreath(7);
</code></pre>
<p dir="auto">Thanks!</p>
]]></description><link>https://community.m5stack.com/topic/1025/m5stickc-turn-off-screen-completely</link><generator>RSS for Node</generator><lastBuildDate>Thu, 05 Mar 2026 11:42:30 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/1025.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 May 2019 18:21:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 21 Sep 2020 17:49:29 GMT]]></title><description><![CDATA[<p dir="auto">This is how I init my M5StickC in a full black screen way.</p>
<pre><code>M5.begin(0,1,1);
M5.Axp.SetLDO2(false);
M5.Axp.SetLDO3(false);
</code></pre>
]]></description><link>https://community.m5stack.com/post/10299</link><guid isPermaLink="true">https://community.m5stack.com/post/10299</guid><dc:creator><![CDATA[viandou]]></dc:creator><pubDate>Mon, 21 Sep 2020 17:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Thu, 09 Jan 2020 21:55:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1748">@klimbot</a>: I think you have to turn LDO3 and LDO2 off, in your code only LDO2 is off. Take a look at this picture: <a href="https://docs.m5stack.com/assets/img/product_pics/core/minicore/m5stickc/m5stickc_05.webp" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.m5stack.com/assets/img/product_pics/core/minicore/m5stickc/m5stickc_05.webp</a></p>
]]></description><link>https://community.m5stack.com/post/6958</link><guid isPermaLink="true">https://community.m5stack.com/post/6958</guid><dc:creator><![CDATA[ForestRupicolous]]></dc:creator><pubDate>Thu, 09 Jan 2020 21:55:04 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Sat, 12 Oct 2019 09:01:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/68">@dda</a> said in <a href="/post/4901">M5StickC: turn off screen completely</a>:</p>
<blockquote>
<p dir="auto">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.</p>
</blockquote>
<p dir="auto">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)</p>
<p dir="auto">Here is what I have, the screen is off but hard to know if the screen has actually been disabled.</p>
<p dir="auto">void turnOffScreen() {<br />
Wire1.beginTransmission(0x34);<br />
Wire1.write(0x10);<br />
Wire1.write(0b00000000);    // 7-3=? | 2=EXTEN | 1=? | 0=DC-DC2<br />
Wire1.endTransmission();</p>
<p dir="auto">Wire1.begin(21, 22);<br />
Wire1.beginTransmission(0x34);<br />
Wire1.write(0x12);<br />
Wire1.write(0b01001011);    // 7=? | 6=EXTEN | 5=? | 4=DC-DC2 | 3=LDO3 | 2=LDO2 | 1=DC-DC3 | 0=DC-DC1<br />
Wire1.endTransmission();</p>
<p dir="auto">Wire1.beginTransmission(0x34);<br />
Wire1.write(0x28);<br />
Wire1.write(0b00001111);    // 7-4=LDO2 | 3-0=LDO3<br />
Wire1.endTransmission();<br />
}</p>
]]></description><link>https://community.m5stack.com/post/5914</link><guid isPermaLink="true">https://community.m5stack.com/post/5914</guid><dc:creator><![CDATA[klimbot]]></dc:creator><pubDate>Sat, 12 Oct 2019 09:01:26 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 13 Aug 2019 03:57:40 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1706">@multihelix</a> Can you post a link to your watch code?</p>
]]></description><link>https://community.m5stack.com/post/5105</link><guid isPermaLink="true">https://community.m5stack.com/post/5105</guid><dc:creator><![CDATA[spiffmonious]]></dc:creator><pubDate>Tue, 13 Aug 2019 03:57:40 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 12 Aug 2019 22:35:18 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1778">@maxstack</a> - 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.</p>
]]></description><link>https://community.m5stack.com/post/5104</link><guid isPermaLink="true">https://community.m5stack.com/post/5104</guid><dc:creator><![CDATA[Multihelix]]></dc:creator><pubDate>Mon, 12 Aug 2019 22:35:18 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 30 Jul 2019 17:46:20 GMT]]></title><description><![CDATA[<p dir="auto">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 :-)</p>
]]></description><link>https://community.m5stack.com/post/4914</link><guid isPermaLink="true">https://community.m5stack.com/post/4914</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Tue, 30 Jul 2019 17:46:20 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 30 Jul 2019 16:00:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/68">@dda</a> said in <a href="/post/4911">M5StickC: turn off screen completely</a>:</p>
<blockquote>
<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1776">@ws1088</a> 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 :-)</p>
</blockquote>
<p dir="auto">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?</p>
]]></description><link>https://community.m5stack.com/post/4913</link><guid isPermaLink="true">https://community.m5stack.com/post/4913</guid><dc:creator><![CDATA[ws1088]]></dc:creator><pubDate>Tue, 30 Jul 2019 16:00:09 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 30 Jul 2019 07:17:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1776">@ws1088</a> 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 :-)</p>
]]></description><link>https://community.m5stack.com/post/4911</link><guid isPermaLink="true">https://community.m5stack.com/post/4911</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Tue, 30 Jul 2019 07:17:56 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 30 Jul 2019 03:47:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1706">@multihelix</a></p>
<p dir="auto">How are you getting 5 hours of life?  it seems you would need  &lt;16 ma total drain</p>
<p dir="auto">Are you sleeping the ESP32?</p>
]]></description><link>https://community.m5stack.com/post/4904</link><guid isPermaLink="true">https://community.m5stack.com/post/4904</guid><dc:creator><![CDATA[maxstack]]></dc:creator><pubDate>Tue, 30 Jul 2019 03:47:59 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 30 Jul 2019 00:00:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/68">@dda</a> what a wonderful work you have done! I hope this will enable <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1706">@Multihelix</a>  to use M5StickC as a watch (turn off OLED after a timeout and turn on OLED on button press or accelerometer)</p>
]]></description><link>https://community.m5stack.com/post/4902</link><guid isPermaLink="true">https://community.m5stack.com/post/4902</guid><dc:creator><![CDATA[ws1088]]></dc:creator><pubDate>Tue, 30 Jul 2019 00:00:41 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 29 Jul 2019 23:03:14 GMT]]></title><description><![CDATA[<p dir="auto">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.</p>
]]></description><link>https://community.m5stack.com/post/4901</link><guid isPermaLink="true">https://community.m5stack.com/post/4901</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Mon, 29 Jul 2019 23:03:14 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 29 Jul 2019 16:12:10 GMT]]></title><description><![CDATA[<p dir="auto">To be tested but I think this turns off OLED_VDD, ie the current to the OLED. Register 10H is said to be for OLED_VPP so setting it to zero could help too.</p>
]]></description><link>https://community.m5stack.com/post/4899</link><guid isPermaLink="true">https://community.m5stack.com/post/4899</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Mon, 29 Jul 2019 16:12:10 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 29 Jul 2019 16:11:07 GMT]]></title><description><![CDATA[<p dir="auto">Does your code cut the voltage to the backlight only? or to the screen as well?</p>
]]></description><link>https://community.m5stack.com/post/4898</link><guid isPermaLink="true">https://community.m5stack.com/post/4898</guid><dc:creator><![CDATA[ws1088]]></dc:creator><pubDate>Mon, 29 Jul 2019 16:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 29 Jul 2019 16:07:05 GMT]]></title><description><![CDATA[<p dir="auto">While I'm at it, an explanation about <code>M5.Axp.ScreenBreath(x);</code>. The code is:</p>
<pre><code>void AXP192::ScreenBreath(uint8_t brightness) {
  Wire1.beginTransmission(0x34);
  Wire1.write(0x28);
  Wire1.write(((brightness &amp; 0x0f) &lt;&lt; 4)); //Enable LDO2&amp;LDO3, LED&amp;TFT 3.3V
  Wire1.endTransmission();
}
</code></pre>
<p dir="auto">What it does is it takes the value you passed, cuts it to 4 bits (0-15) and moves those 4 bits to bits 4-7. Register 28H is voltage control for LDO2 (bits 4-7) and LDO3 (bits 0-3). So the OLED is connected to LDO2.</p>
<p dir="auto">What that 0-15 value represents is a voltage of 1.8 to 3.3V, in 100mV/steps. So <code>M5.Axp.ScreenBreath(0);</code> sets voltage to 1.8V, and <code>M5.Axp.ScreenBreath(15);</code> to 3.3V. Not what we really want – as the goal was to set voltage to zero... :-)</p>
<p dir="auto"><img src="/assets/uploads/files/1564416322858-e7e8bf46-cea3-41c2-bed7-1869e4cb9146-image.png" alt="0_1564416322717_e7e8bf46-cea3-41c2-bed7-1869e4cb9146-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Whereas register 12H controls the state (ON/OFF) of a bunch of wires, including LDO2 (bit 2). Hence the code above.</p>
<p dir="auto"><img src="/assets/uploads/files/1564416424191-0222b6b2-3ed3-473a-9669-0020509cb215-image.png" alt="0_1564416423649_0222b6b2-3ed3-473a-9669-0020509cb215-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://community.m5stack.com/post/4897</link><guid isPermaLink="true">https://community.m5stack.com/post/4897</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Mon, 29 Jul 2019 16:07:05 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 29 Jul 2019 16:04:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/68">@dda</a> Thanks! <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1491">@ricardocosta</a> can probably check to see how much current is used when backlight is off.</p>
]]></description><link>https://community.m5stack.com/post/4896</link><guid isPermaLink="true">https://community.m5stack.com/post/4896</guid><dc:creator><![CDATA[ws1088]]></dc:creator><pubDate>Mon, 29 Jul 2019 16:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 29 Jul 2019 15:55:52 GMT]]></title><description><![CDATA[<p dir="auto">After a little bit of poking around I managed to turn off the screen:</p>
<pre><code>Wire1.beginTransmission(0x34);
Wire1.write(0x12);
Wire1.write(0b01001011);  // LDO2, aka OLED_VDD, off
Wire1.endTransmission();
</code></pre>
<p dir="auto">This turns off LDO2, and thus the backlight. To turn it back on:</p>
<pre><code>Wire1.beginTransmission(0x34);
Wire1.write(0x12);
Wire1.write(0x4d); // Enable LDO2, aka OLED_VDD
Wire1.endTransmission();
</code></pre>
]]></description><link>https://community.m5stack.com/post/4895</link><guid isPermaLink="true">https://community.m5stack.com/post/4895</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Mon, 29 Jul 2019 15:55:52 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 29 Jul 2019 06:32:45 GMT]]></title><description><![CDATA[<p dir="auto">I poked around the APX192 code, and around a datasheet found <a href="https://www.alldatasheet.com/datasheet-pdf/pdf/757469/ETC2/AXP192.html" target="_blank" rel="noopener noreferrer nofollow ugc">here</a>. First, there's this code:</p>
<pre><code>void AXP192::begin(void) {
  Wire1.begin(21, 22);
  Wire1.beginTransmission(0x34);
  Wire1.write(0x10);
  Wire1.write(0xff);  //OLED_VPP Enable
  Wire1.endTransmission();
  Wire1.beginTransmission(0x34);
  Wire1.write(0x28);
  Wire1.write(0xff); //Enable LDO2&amp;LDO3, LED&amp;TFT 3.3V
  Wire1.endTransmission();
</code></pre>
<p dir="auto">A peek at the datasheet says that REG 28H is power management for LD02 and LD03. Sure thing. That's what the comment in the code above says – along with a hint that LD03 is for the TFT.</p>
<p dir="auto"><img src="/assets/uploads/files/1564381512168-c4e39c69-4e7f-43ac-87d0-bb076edd9e54-image.png" alt="0_1564381511757_c4e39c69-4e7f-43ac-87d0-bb076edd9e54-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Meanwhile, REG 10H is two ON/OFF switches, for EXTEN and DC-DC2 – commented in the code as VPP_Enable. Bueno.</p>
<p dir="auto"><img src="/assets/uploads/files/1564381716395-82d5c76f-207d-421e-8db8-ac7556120001-image.png" alt="0_1564381715507_82d5c76f-207d-421e-8db8-ac7556120001-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">I am not sure which of EXTEN or DC-DC2 is connected to the OLED (both?), but turning either or both off will cut off the current to the OLED.</p>
<p dir="auto">Moreover there's this code later:</p>
<pre><code>  Wire1.beginTransmission(0x34);
  Wire1.write(0x12);
  Wire1.write(0x4d); //Enable DC-DC1, OLED_VDD, 5B V_EXT
  Wire1.endTransmission();
</code></pre>
<p dir="auto">And REG 12H seems to do more of the same as 10H:</p>
<p dir="auto"><img src="/assets/uploads/files/1564381854132-5263d5e3-3e9f-48a3-9da5-f8b5f34a41b8-image.png" alt="0_1564381853456_5263d5e3-3e9f-48a3-9da5-f8b5f34a41b8-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Bit 3 turns ON/OFF LD03, which, as we saw above, is supposed to be the OLED. Good odds that setting bit 3 of REG 12H to zero would work too.</p>
<p dir="auto">I don't have time to test it now, but I'll try later tonight.</p>
]]></description><link>https://community.m5stack.com/post/4886</link><guid isPermaLink="true">https://community.m5stack.com/post/4886</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Mon, 29 Jul 2019 06:32:45 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Mon, 29 Jul 2019 09:01:00 GMT]]></title><description><![CDATA[<p dir="auto">I am pretty sure the screen can be completely turned off. I run the default application for awhile until it says "low battery", then I wait for awhile the screen will be completely dark (no back-lit). However, I can press the side button and toggle the LED on and off. This shows that the unit is still running. My guess is you have to talk to the OLED module via I2C and disconnect it. This qualifies as "turn off screen completely"</p>
]]></description><link>https://community.m5stack.com/post/4885</link><guid isPermaLink="true">https://community.m5stack.com/post/4885</guid><dc:creator><![CDATA[ws1088]]></dc:creator><pubDate>Mon, 29 Jul 2019 09:01:00 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Wed, 24 Jul 2019 20:22:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1706">@multihelix</a> It's not going to happen. There is no way to turn the backlight or the rest of this device completely off. I think of the on board battery more like a super capacitor, it gives you enough power for a few minutes of testing but for anything else you need an external power supply with a real on/off switch.</p>
]]></description><link>https://community.m5stack.com/post/4869</link><guid isPermaLink="true">https://community.m5stack.com/post/4869</guid><dc:creator><![CDATA[wikistik]]></dc:creator><pubDate>Wed, 24 Jul 2019 20:22:43 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Sat, 13 Jul 2019 23:49:57 GMT]]></title><description><![CDATA[<p dir="auto">No matter what value i use for ScreenBreath, the backlight remins on and flattens the M5StickC battery within ~5 hours.  I wish to use my M5StickC as a watch and I need a much longer battery life.  Can someone help me understand how to turn the display completely off?</p>
]]></description><link>https://community.m5stack.com/post/4799</link><guid isPermaLink="true">https://community.m5stack.com/post/4799</guid><dc:creator><![CDATA[Multihelix]]></dc:creator><pubDate>Sat, 13 Jul 2019 23:49:57 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Wed, 29 May 2019 11:50:44 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1487">@florian5442</a> You're right but I guess the difference is too small to measure.<br />
The official docs say that the lowest setting is 7 but clearly that is not 100% correct:</p>
<pre><code>brightness	TFT backlight brightness (range: 7~15)
</code></pre>
]]></description><link>https://community.m5stack.com/post/4466</link><guid isPermaLink="true">https://community.m5stack.com/post/4466</guid><dc:creator><![CDATA[ricardocosta]]></dc:creator><pubDate>Wed, 29 May 2019 11:50:44 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 28 May 2019 19:57:04 GMT]]></title><description><![CDATA[<p dir="auto">Well that's weird because with ScreenBreath(7) the screen is still displaying something but with ScreenBreath(0) it is completely dark...</p>
]]></description><link>https://community.m5stack.com/post/4461</link><guid isPermaLink="true">https://community.m5stack.com/post/4461</guid><dc:creator><![CDATA[Florian5442]]></dc:creator><pubDate>Tue, 28 May 2019 19:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 28 May 2019 18:59:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1487">@florian5442</a> Thanks!<br />
I did some measurements with an all white background and it seems M5.Axp.ScreenBreath(7) and lower are the same:</p>
<ul>
<li>ScreenBreath(15): 0.20A</li>
<li>ScreenBreath(12): 0.17A</li>
<li>ScreenBreath(10): 0.15A</li>
<li>ScreenBreath(7): 0.14A</li>
<li>ScreenBreath(0): 0.14A</li>
</ul>
]]></description><link>https://community.m5stack.com/post/4460</link><guid isPermaLink="true">https://community.m5stack.com/post/4460</guid><dc:creator><![CDATA[ricardocosta]]></dc:creator><pubDate>Tue, 28 May 2019 18:59:47 GMT</pubDate></item><item><title><![CDATA[Reply to M5StickC: turn off screen completely on Tue, 28 May 2019 12:57:19 GMT]]></title><description><![CDATA[<p dir="auto">I did M5.Axp.ScreenBreath(0); I don't know if it's the best way but it worked well</p>
]]></description><link>https://community.m5stack.com/post/4455</link><guid isPermaLink="true">https://community.m5stack.com/post/4455</guid><dc:creator><![CDATA[Florian5442]]></dc:creator><pubDate>Tue, 28 May 2019 12:57:19 GMT</pubDate></item></channel></rss>