{"id":998,"date":"2023-10-06T06:53:10","date_gmt":"2023-10-06T06:53:10","guid":{"rendered":"https:\/\/iotmanager.org\/?p=998"},"modified":"2023-10-06T06:53:11","modified_gmt":"2023-10-06T06:53:11","slug":"%d0%bc%d0%b8%d0%bd%d0%b8%d0%bc%d0%b0%d0%bb%d1%8c%d0%bd%d0%b0%d1%8f-%d0%be%d0%b1%d0%b2%d1%8f%d0%b7%d0%ba%d0%b0-8266-%d0%b8-%d1%80%d0%b5%d0%b6%d0%b8%d0%bc-%d0%bf%d1%80%d0%be%d1%88%d0%b8%d0%b2%d0%ba","status":"publish","type":"post","link":"https:\/\/iotmanager.org\/en\/2023\/10\/06\/998\/","title":{"rendered":"Minimum binding 8266 and firmware mode"},"content":{"rendered":"<p>There are situations when it is not possible to flash an existing module in any way.<br>In order to understand how to deal with this situation you need to understand how it works<br>BOOT mode (firmware) in the module.<br>The most complete implementation is made in modules with a USB connection, such as NodeMCU,<br>below is a diagram snippet of this module:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-53.png\"><img decoding=\"async\" loading=\"lazy\" width=\"800\" height=\"251\" src=\"https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-53.png\" alt=\"\" class=\"wp-image-999\" srcset=\"https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-53.png 800w, https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-53-300x94.png 300w, https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-53-768x241.png 768w, https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-53-18x6.png 18w, https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-53-600x188.png 600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n\n\n\n<p>In this case, transistors VT1 and VT2 automatically determine the operating mode and the user does not need to do anything.<br>As a rule, this is very convenient for debugging modules.<\/p>\n\n\n\n<p>If your module has minimal strapping, this is done to reduce the cost and when you don&#039;t need to sew the module on<br>just for experiments, most likely the scheme is something like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-54.png\"><img decoding=\"async\" loading=\"lazy\" width=\"800\" height=\"524\" src=\"https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-54.png\" alt=\"\" class=\"wp-image-1000\" srcset=\"https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-54.png 800w, https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-54-300x197.png 300w, https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-54-768x503.png 768w, https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-54-18x12.png 18w, https:\/\/iotmanager.org\/wp-content\/uploads\/2023\/10\/image-54-600x393.png 600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n\n\n\n<p>In this implementation, the BOOT mode is implemented by pulling Gpio0 to the ground using the SW1 button<br>This button must be held from the moment it is turned on or reset, until the firmware starts. If there is no such button in your module for some reason, it must be implemented in some way.<br>To work, you also need to pull up the EN pin to power and Gpio15 to ground.<\/p>","protected":false},"excerpt":{"rendered":"<p>There are situations when it is not possible to flash an existing module in any way.In order to understand how to deal with this situation, you need to understand how the BOOT mode (firmware) works in the module.The most complete implementation is made in modules with a USB connection, such as NodeMCU. Below is a fragment of the diagram of this module: In this case, transistors VT1 and VT2 automatically detect the operating mode and \u2026 <a title=\"Minimum binding 8266 and firmware mode\" class=\"read-more\" href=\"https:\/\/iotmanager.org\/en\/2023\/10\/06\/998\/\" aria-label=\"More on \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0432\u044f\u0437\u043a\u0430 8266 \u0438 \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438\">Read more<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[81],"tags":[87],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/posts\/998"}],"collection":[{"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/comments?post=998"}],"version-history":[{"count":1,"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/posts\/998\/revisions"}],"predecessor-version":[{"id":1001,"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/posts\/998\/revisions\/1001"}],"wp:attachment":[{"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/media?parent=998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/categories?post=998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iotmanager.org\/en\/wp-json\/wp\/v2\/tags?post=998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}