<?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[Lesson 14. UI Flow. Hello M5 UI Flow]]></title><description><![CDATA[<h2>The purpose of this lesson</h2>
<p dir="auto">Hi! Today we will get acquainted with our new development - M5 UI Flow. This is an amazing development environment for M5STACK in Blockly and Python programming languages. M5 UI Flow is a cloud-based platform, so there is no need to compile and download a sketch via cable - now just press one button and wait a couple of seconds for the sketch to be executed on the device.</p>
<p dir="auto"><img src="https://pp.userapi.com/c844321/v844321516/e62bb/mlg9bICwk00.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">This tutorial will teach you how to: prepare a device to work with M5 UI Flow; write the first program on Blockly and load it into the device wirelessly.</p>
<h2>Short help</h2>
<p dir="auto"><strong>List of components for the lesson</strong></p>
<ul>
<li>PC;</li>
<li>M5STACK;</li>
<li>USB-C cable from standard kit.</li>
</ul>
<h2>Let's start!</h2>
<h3>Step 1</h3>
<p dir="auto">Visit <strong>Download</strong> on our website and download <strong>M5Burner-for-windows</strong>(Fig. 1).<br />
Click here to go to the website <a href="http://m5stack.com" title="http://m5stack.com" target="_blank" rel="noopener noreferrer nofollow ugc">http://m5stack.com</a> or here to download version 0.0.6 immediately <a href="http://m5stack.com/download/M5Burner-for-windows-v0.0.6.zip" title="http://m5stack.com/download/M5Burner-for-windows-v0.0.6.zip" target="_blank" rel="noopener noreferrer nofollow ugc">http://m5stack.com/download/M5Burner-for-windows-v0.0.6.zip</a></p>
<p dir="auto"><img src="https://pp.userapi.com/c848620/v848620618/6daaa/P2OhVy8LB9U.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 1. Section <strong>Download</strong> on this site M5STACK</p>
<h3>Step 2</h3>
<p dir="auto">Unzip to the desktop the contents of the archive and execute with admin rights executable file <strong>M5Burner.exe</strong> (Fig. 2).</p>
<p dir="auto"><img src="https://pp.userapi.com/c848620/v848620618/6dab4/lpZ3NnZQkPU.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 2. Run the utility as an administrator</p>
<h3>Step 3</h3>
<p dir="auto">Connect the device to your computer using a standard USB-C cable (Fig. 3).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8a8b/1eFl1KSiwEQ.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 3. Connection M5 to PC</p>
<h3>Step 4</h3>
<p dir="auto">Specify the COM port that is connected to M5; then specify the port speed 921600; also select the latest stable version of M5 UI Flow and press <strong>Burn</strong> (Fig. 4).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8a95/mG6MEgUzACc.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 4. Preparation, start flashing process and its completion</p>
<h3>Step 5</h3>
<p dir="auto">Disconnect the M5 from the computer (Fig. 5).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8a9e/DKNxYA9s9yo.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 5. Disconnecting the M5 from the PC</p>
<h3>Step 6</h3>
<p dir="auto">Now the device needs to be rebooted. To do this, briefly press the red power button on the left side of the device case (Fig. 6).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8aa8/de8FNYbzGvk.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 6. Reboot device</p>
<h3>Step 7</h3>
<p dir="auto">When the device beeps, press and hold the third button (C button) on the device, and the device creates an access point and prompts you to connect to it (Fig. 7).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8abc/Px14j1_h6W8.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 7. The device waits for customers</p>
<h3>Step 8</h3>
<p dir="auto">Connect to the created access point using a computer (Fig. 8).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8ac3/W_uPpWRBHa0.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 8. Connect to the M5 via Wi-Fi</p>
<h3>Step 9</h3>
<p dir="auto">Open a modern browser and go to your device's address, then enter your work or home Wi-Fi network information so that the M5 can access the Internet (Fig. 9).<br />
In order to avoid mistakes in typing the address, click <a href="http://192.168.4.1" title="http://192.168.4.1" target="_blank" rel="noopener noreferrer nofollow ugc">http://192.168.4.1</a></p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8acc/HIBDkgfqki4.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 9. M5 connection to the Internet</p>
<h3>Step 10</h3>
<p dir="auto">After M5 successfully connects to the network, you will see a similar page (Fig. 10).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8ad5/YKfx6dzIxc0.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 10. Wifi connection is successful ^_^</p>
<h3>Step 11</h3>
<p dir="auto">After the device beeps, press and hold the first button (button A) on the device - the M5 will try to establish wifi connection to Your network (Fig. 11).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8ade/SqN6xtWQA4o.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 11</p>
<h3>Step 12</h3>
<p dir="auto">After the device successfully connects to the Internet, an access code (Api key) and a QR code will appear on the screen (figure 12).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8ae7/-JQmie62DXo.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 12</p>
<h3>Step 13</h3>
<p dir="auto">Re-open the browser and go to <a href="http://flow.m5stack.com" target="_blank" rel="noopener noreferrer nofollow ugc">http://flow.m5stack.com</a>, then enter the Api key and click <strong>Finish</strong> (Fig. 13).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8af0/xWzIjIuPL8U.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 13</p>
<h3>Step 14</h3>
<p dir="auto">Note - if specified in Fig. 14 the indicator is red and has the inscription Offline, then make sure that Your M5 is connected to Wi-Fi, then click on the indicator itself and after a few seconds the indicator will change color to green and the inscription will be Online.</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8af9/t8sH4ZJUvbU.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 14</p>
<h3>Step 15</h3>
<p dir="auto">Now we will try to write our first program on Blockly and execute it on the device. First, drag the Label element to the virtual screen of the device. Second, drag the Label puzzle from the middle column and glue it to the setup puzzle. Third: inside the added puzzle, select the <strong>Label: label_1</strong> and enter the text in the box <strong>Show: Hello M5 UI Flow!</strong>. Fourth: click on the arrow in the upper right corner-the program will boot into the device.</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8b03/IsztOvVxr-E.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 15. Writing and uploading the program to the M5</p>
<h3>Test and run step</h3>
<p dir="auto">Pay attention to the screen of Your M5 (Fig. 16). This concludes the lesson.</p>
<p dir="auto"><img src="https://pp.userapi.com/c845124/v845124618/e8b0d/h6HgFgZQpU0.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Figure 16. Hurray! Got :)</p>
<h2>Downloads</h2>
<ul>
<li>M5Burner-for-windows-v0.0.6 (Yandex Disk): <a href="https://yadi.sk/d/4dnf2NfdsIAj3Q" title="https://yadi.sk/d/4dnf2NfdsIAj3Q" target="_blank" rel="noopener noreferrer nofollow ugc">https://yadi.sk/d/4dnf2NfdsIAj3Q</a></li>
</ul>
]]></description><link>https://community.m5stack.com/topic/313/lesson-14-ui-flow-hello-m5-ui-flow</link><generator>RSS for Node</generator><lastBuildDate>Tue, 10 Mar 2026 22:12:11 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/313.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Sep 2018 16:48:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Mon, 20 May 2019 12:49:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/481">@m5-docs</a> This link points to a " page not available yet"  message</p>
]]></description><link>https://community.m5stack.com/post/4346</link><guid isPermaLink="true">https://community.m5stack.com/post/4346</guid><dc:creator><![CDATA[Alpine-Lake]]></dc:creator><pubDate>Mon, 20 May 2019 12:49:07 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Thu, 25 Oct 2018 13:00:51 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/729">@cpyarger</a> it basically runs microPython so you can import any module supported by micro python.</p>
<p dir="auto">For example to connect to a wifi hotspot you can import the "network" module:<br />
<a href="https://docs.micropython.org/en/latest/esp8266/quickref.html#networking" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.micropython.org/en/latest/esp8266/quickref.html#networking</a></p>
<p dir="auto">To upload custom files/modules you can use "adafruit ampy" or any of the other tools described in this tutorial: <a href="https://learn.adafruit.com/micropython-basics-load-files-and-run-code/overview" target="_blank" rel="noopener noreferrer nofollow ugc">https://learn.adafruit.com/micropython-basics-load-files-and-run-code/overview</a><br />
just make sure you upload them to the /flash/ folder.</p>
<p dir="auto">Another useful thing is the REPL which allows you to see the MicroPython Log, very useful to debug your code and see what's happening in the background as not everything can be seen in the LCD:<br />
<a href="https://docs.micropython.org/en/latest/wipy/tutorial/repl.html" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.micropython.org/en/latest/wipy/tutorial/repl.html</a></p>
<p dir="auto">The ESP32 also supports the WebREPL:<br />
<a href="https://micropython.org/webrepl/" target="_blank" rel="noopener noreferrer nofollow ugc">https://micropython.org/webrepl/</a></p>
]]></description><link>https://community.m5stack.com/post/1839</link><guid isPermaLink="true">https://community.m5stack.com/post/1839</guid><dc:creator><![CDATA[yurikleb]]></dc:creator><pubDate>Thu, 25 Oct 2018 13:00:51 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Wed, 03 Oct 2018 20:26:21 GMT]]></title><description><![CDATA[<p dir="auto">Following the video on an OSX 10.12.6 using python 3.7 but getting the following when trying to connect.</p>
<blockquote>
<p dir="auto">Traceback (most recent call last):<br />
File "./tools/esptool.py", line 2853, in &lt;module&gt;<br />
_main()<br />
File "./tools/esptool.py", line 2846, in _main<br />
main()<br />
File "./tools/esptool.py", line 2554, in main<br />
esp.connect(args.before)<br />
File "./tools/esptool.py", line 446, in connect<br />
last_error = self._connect_attempt(mode=mode, esp32r0_delay=False)<br />
File "./tools/esptool.py", line 405, in _connect_attempt<br />
self._setRTS(True)   # EN=LOW, chip in reset<br />
File "./tools/esptool.py", line 377, in _setRTS<br />
self._port.setDTR(self._port.dtr)<br />
AttributeError: 'Serial' object has no attribute 'dtr'</p>
</blockquote>
<p dir="auto">However arduino is connecting with no trouble??</p>
]]></description><link>https://community.m5stack.com/post/1665</link><guid isPermaLink="true">https://community.m5stack.com/post/1665</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Wed, 03 Oct 2018 20:26:21 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Sun, 30 Sep 2018 11:07:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/646">@julian</a> 在 <a href="/post/1497">Lesson 14. UI Flow. Hello M5 UI Flow</a> 中说：</p>
<blockquote>
<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/79">@dimi</a> Nice start but how do we include other libraries so we can interface to other systems over http/mqtt/etc?</p>
</blockquote>
<p dir="auto">Also Curious about this</p>
]]></description><link>https://community.m5stack.com/post/1638</link><guid isPermaLink="true">https://community.m5stack.com/post/1638</guid><dc:creator><![CDATA[cpyarger]]></dc:creator><pubDate>Sun, 30 Sep 2018 11:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Sun, 23 Sep 2018 08:20:34 GMT]]></title><description><![CDATA[<p dir="auto">To everyone:<br />
Please download lastest version of M5Burner from official website<br />
<a href="http://www.m5stack.com" target="_blank" rel="noopener noreferrer nofollow ugc">www.m5stack.com</a></p>
]]></description><link>https://community.m5stack.com/post/1583</link><guid isPermaLink="true">https://community.m5stack.com/post/1583</guid><dc:creator><![CDATA[m5-docs]]></dc:creator><pubDate>Sun, 23 Sep 2018 08:20:34 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Sun, 23 Sep 2018 08:17:40 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/552">@gadjet</a> Is that problem exiting still? Try to reset your board again. Sometime, it is a problem about LAN network</p>
]]></description><link>https://community.m5stack.com/post/1582</link><guid isPermaLink="true">https://community.m5stack.com/post/1582</guid><dc:creator><![CDATA[m5-docs]]></dc:creator><pubDate>Sun, 23 Sep 2018 08:17:40 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Sun, 23 Sep 2018 08:15:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/254">@fab</a> Thanks gay</p>
]]></description><link>https://community.m5stack.com/post/1581</link><guid isPermaLink="true">https://community.m5stack.com/post/1581</guid><dc:creator><![CDATA[m5-docs]]></dc:creator><pubDate>Sun, 23 Sep 2018 08:15:30 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Sun, 23 Sep 2018 08:13:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a> You can burn the firmware via M5Burner<br />
Here is the article guide you for burning<br />
<a href="https://m5stack.readthedocs.io/en/latest/get-started/how_to_burn_firmware_en.html" target="_blank" rel="noopener noreferrer nofollow ugc">https://m5stack.readthedocs.io/en/latest/get-started/how_to_burn_firmware_en.html</a></p>
]]></description><link>https://community.m5stack.com/post/1580</link><guid isPermaLink="true">https://community.m5stack.com/post/1580</guid><dc:creator><![CDATA[m5-docs]]></dc:creator><pubDate>Sun, 23 Sep 2018 08:13:39 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Mon, 17 Sep 2018 20:33:54 GMT]]></title><description><![CDATA[<p dir="auto">All flashes OK and detects the network OK but after the reset and the long press of "upload" it will not reconnect to the WiFi network ??? any one any ideas?<br />
Thanks</p>
]]></description><link>https://community.m5stack.com/post/1552</link><guid isPermaLink="true">https://community.m5stack.com/post/1552</guid><dc:creator><![CDATA[gadjet]]></dc:creator><pubDate>Mon, 17 Sep 2018 20:33:54 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Sun, 09 Sep 2018 10:25:23 GMT]]></title><description><![CDATA[<p dir="auto">What about M5Burner for Mac OS ? Are you going to release it in the future?<br />
Thanks<br />
Luciano</p>
]]></description><link>https://community.m5stack.com/post/1500</link><guid isPermaLink="true">https://community.m5stack.com/post/1500</guid><dc:creator><![CDATA[lveronese]]></dc:creator><pubDate>Sun, 09 Sep 2018 10:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Sat, 08 Sep 2018 20:06:44 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/79">@dimi</a> Nice start but how do we include other libraries so we can interface to other systems over http/mqtt/etc?</p>
]]></description><link>https://community.m5stack.com/post/1497</link><guid isPermaLink="true">https://community.m5stack.com/post/1497</guid><dc:creator><![CDATA[Julian]]></dc:creator><pubDate>Sat, 08 Sep 2018 20:06:44 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Sat, 08 Sep 2018 15:19:47 GMT]]></title><description><![CDATA[<p dir="auto">See <a href="http://blog.akanumahiroaki.com/entry/2018/09/08/230000" target="_blank" rel="noopener noreferrer nofollow ugc">http://blog.akanumahiroaki.com/entry/2018/09/08/230000</a></p>
]]></description><link>https://community.m5stack.com/post/1495</link><guid isPermaLink="true">https://community.m5stack.com/post/1495</guid><dc:creator><![CDATA[fab]]></dc:creator><pubDate>Sat, 08 Sep 2018 15:19:47 GMT</pubDate></item><item><title><![CDATA[Reply to Lesson 14. UI Flow. Hello M5 UI Flow on Wed, 05 Sep 2018 18:41:38 GMT]]></title><description><![CDATA[<p dir="auto">How do non windows users get the firmware on our m5's?</p>
]]></description><link>https://community.m5stack.com/post/1487</link><guid isPermaLink="true">https://community.m5stack.com/post/1487</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Wed, 05 Sep 2018 18:41:38 GMT</pubDate></item></channel></rss>