<?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[WIPY on ESP32-WROOM Procedure]]></title><description><![CDATA[<p dir="auto">Re: <a href="/topic/1211/solved-wipy-firmware-to-a-standard-wroom-32">[SOLVED] WiPy firmware to a standard WROOM-32?</a></p>
<p dir="auto">OK, I have succeeded with this, here's how to do it:</p>
<ol>
<li>
<p dir="auto">Setup Build Environment, I created a bash script (OSX/LINUX) to do this, you should run it line by line and be sure to add the paths to XTENSA and the IDF:</p>
<p dir="auto"><a href="https://github.com/pacmac/micropython-share/blob/master/wipy-wroom/wipy-wroom.sh" target="_blank" rel="noopener noreferrer nofollow">https://github.com/pacmac/micropython-share/blob/master/wipy-wroom/wipy-wroom.sh</a></p>
</li>
<li>
<p dir="auto">Modify pycom-micropython-sigfox/esp32/boards/WIPY/pins.csv and remove any pins (GPIO) that are not on your device.</p>
<p dir="auto">Renumber the Pins so that there are no gaps, the default WIPY is 24 pins (P0 to P23) however the esp32 wroom dev board I have does not have pins 37 &amp; 38, so they have to be removed, it is renumbered P0 to P25 (26 pins) as this board has more I/O than the WIPY2 board.</p>
<p dir="auto">First Column is the expansion board G# number, second is the GPIO# and the third is the P# Number. I have set the first column to be the same as the GPIO# so that I can call a pin using a the GPIO number i.e. Pin('0') instead of Pin('P2') as the P# is only applicable to the layout of the WIPY board.</p>
<p dir="auto">Here's the board this is based on, but there are many clones of this that are pretty much the same:</p>
<p dir="auto"><a href="http://www.electrodragon.com/product/esp32-devkitc/" target="_blank" rel="noopener noreferrer nofollow">http://www.electrodragon.com/product/esp32-devkitc/</a></p>
<p dir="auto">And here's the modified pins file:<br />
<a href="https://github.com/pacmac/micropython-share/blob/master/wipy-wroom/pins.csv" target="_blank" rel="noopener noreferrer nofollow">https://github.com/pacmac/micropython-share/blob/master/wipy-wroom/pins.csv</a></p>
</li>
<li>
<p dir="auto">Make (build) the Binaries:<br />
make BOARD=WIPY -j5 TARGET=boot<br />
make BOARD=WIPY -j5 TARGET=app</p>
</li>
<li>
<p dir="auto">Erase &amp; flash the device using your USB Port &amp; dio flash mode:<br />
make BOARD=WIPY -j5 erase ESPPORT=/dev/tty.SLAB_USBtoUART<br />
make BOARD=WIPY -j5 flash ESPPORT=/dev/tty.SLAB_USBtoUART ESPFLASHMODE=dio</p>
</li>
</ol>
<p dir="auto">And that should be it, took a few hours to figure it out, thanks so much to everyone in the original post who contributed.</p>
<p dir="auto">It is also possible to create a combined firmware.bin file that you can use to upload to the device using <a href="http://pytool.py" target="_blank" rel="noopener noreferrer nofollow">pytool.py</a> instead of using the development environment.</p>
]]></description><link>https://forum.pycom.io/topic/1347/wipy-on-esp32-wroom-procedure</link><generator>RSS for Node</generator><lastBuildDate>Sun, 08 Mar 2026 10:15:26 GMT</lastBuildDate><atom:link href="https://forum.pycom.io/topic/1347.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Jun 2017 03:47:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Thu, 15 Jun 2017 23:51:11 GMT]]></title><description><![CDATA[<p dir="auto">Re: <a href="/topic/1211/solved-wipy-firmware-to-a-standard-wroom-32">[SOLVED] WiPy firmware to a standard WROOM-32?</a></p>
<p dir="auto">OK, I have succeeded with this, here's how to do it:</p>
<ol>
<li>
<p dir="auto">Setup Build Environment, I created a bash script (OSX/LINUX) to do this, you should run it line by line and be sure to add the paths to XTENSA and the IDF:</p>
<p dir="auto"><a href="https://github.com/pacmac/micropython-share/blob/master/wipy-wroom/wipy-wroom.sh" target="_blank" rel="noopener noreferrer nofollow">https://github.com/pacmac/micropython-share/blob/master/wipy-wroom/wipy-wroom.sh</a></p>
</li>
<li>
<p dir="auto">Modify pycom-micropython-sigfox/esp32/boards/WIPY/pins.csv and remove any pins (GPIO) that are not on your device.</p>
<p dir="auto">Renumber the Pins so that there are no gaps, the default WIPY is 24 pins (P0 to P23) however the esp32 wroom dev board I have does not have pins 37 &amp; 38, so they have to be removed, it is renumbered P0 to P25 (26 pins) as this board has more I/O than the WIPY2 board.</p>
<p dir="auto">First Column is the expansion board G# number, second is the GPIO# and the third is the P# Number. I have set the first column to be the same as the GPIO# so that I can call a pin using a the GPIO number i.e. Pin('0') instead of Pin('P2') as the P# is only applicable to the layout of the WIPY board.</p>
<p dir="auto">Here's the board this is based on, but there are many clones of this that are pretty much the same:</p>
<p dir="auto"><a href="http://www.electrodragon.com/product/esp32-devkitc/" target="_blank" rel="noopener noreferrer nofollow">http://www.electrodragon.com/product/esp32-devkitc/</a></p>
<p dir="auto">And here's the modified pins file:<br />
<a href="https://github.com/pacmac/micropython-share/blob/master/wipy-wroom/pins.csv" target="_blank" rel="noopener noreferrer nofollow">https://github.com/pacmac/micropython-share/blob/master/wipy-wroom/pins.csv</a></p>
</li>
<li>
<p dir="auto">Make (build) the Binaries:<br />
make BOARD=WIPY -j5 TARGET=boot<br />
make BOARD=WIPY -j5 TARGET=app</p>
</li>
<li>
<p dir="auto">Erase &amp; flash the device using your USB Port &amp; dio flash mode:<br />
make BOARD=WIPY -j5 erase ESPPORT=/dev/tty.SLAB_USBtoUART<br />
make BOARD=WIPY -j5 flash ESPPORT=/dev/tty.SLAB_USBtoUART ESPFLASHMODE=dio</p>
</li>
</ol>
<p dir="auto">And that should be it, took a few hours to figure it out, thanks so much to everyone in the original post who contributed.</p>
<p dir="auto">It is also possible to create a combined firmware.bin file that you can use to upload to the device using <a href="http://pytool.py" target="_blank" rel="noopener noreferrer nofollow">pytool.py</a> instead of using the development environment.</p>
]]></description><link>https://forum.pycom.io/post/8397</link><guid isPermaLink="true">https://forum.pycom.io/post/8397</guid><dc:creator><![CDATA[crankshaft]]></dc:creator><pubDate>Thu, 15 Jun 2017 23:51:11 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Wed, 14 Jun 2017 10:03:58 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for writing this up! Hopefully, it'll be useful to the community!</p>
<p dir="auto">Thanks! :)</p>
]]></description><link>https://forum.pycom.io/post/8416</link><guid isPermaLink="true">https://forum.pycom.io/post/8416</guid><dc:creator><![CDATA[bucknall]]></dc:creator><pubDate>Wed, 14 Jun 2017 10:03:58 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Thu, 15 Jun 2017 02:42:06 GMT]]></title><description><![CDATA[<p dir="auto">I wonder how it should be configured？--pins.csv<br />
What does each column mean?</p>
]]></description><link>https://forum.pycom.io/post/8448</link><guid isPermaLink="true">https://forum.pycom.io/post/8448</guid><dc:creator><![CDATA[jack]]></dc:creator><pubDate>Thu, 15 Jun 2017 02:42:06 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Thu, 15 Jun 2017 03:10:47 GMT]]></title><description><![CDATA[<p dir="auto">When i excute “make BOARD=WIPY -j4 TARGET=boot”<br />
export error &quot;make: *** No rule to make target 'GNUmakefile'。&quot;</p>
]]></description><link>https://forum.pycom.io/post/8449</link><guid isPermaLink="true">https://forum.pycom.io/post/8449</guid><dc:creator><![CDATA[jack]]></dc:creator><pubDate>Thu, 15 Jun 2017 03:10:47 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Thu, 15 Jun 2017 10:28:22 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/1463">@jack</a> - I think that the first columns is an alias, can be anything you want, I just renamed mine to be the same as the gpio id, the second column is the gpio and the 3rd is the wipy P number.</p>
]]></description><link>https://forum.pycom.io/post/8460</link><guid isPermaLink="true">https://forum.pycom.io/post/8460</guid><dc:creator><![CDATA[crankshaft]]></dc:creator><pubDate>Thu, 15 Jun 2017 10:28:22 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Thu, 15 Jun 2017 10:32:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/1463">@jack</a> - Check that you have setup the SYSTEM PATHS to xtensa and pycom-esp-idf correctly.</p>
]]></description><link>https://forum.pycom.io/post/8461</link><guid isPermaLink="true">https://forum.pycom.io/post/8461</guid><dc:creator><![CDATA[crankshaft]]></dc:creator><pubDate>Thu, 15 Jun 2017 10:32:09 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Thu, 15 Jun 2017 15:57:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/686">@crankshaft</a><br />
Can you help me?<br />
When I modify the pins.csv file, the compiler error：</p>
<p dir="auto">mods/pybadc.c:68:85: error: 'PIN_MODULE_P20' undeclared here (not in a function)<br />
{.pin = &amp;PIN_MODULE_P20, .channel = ADC1_CHANNEL_5, .enabled = false},<br />
^<br />
CC mods/pybdac.c<br />
../py/mkrules.mk:47: recipe for target 'build/WIPY/release/mods/pybadc.o' failed<br />
make: *** [build/WIPY/release/mods/pybadc.o] Error 1</p>
]]></description><link>https://forum.pycom.io/post/8475</link><guid isPermaLink="true">https://forum.pycom.io/post/8475</guid><dc:creator><![CDATA[jack]]></dc:creator><pubDate>Thu, 15 Jun 2017 15:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Thu, 15 Jun 2017 16:22:25 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/1463">@jack</a><br />
This is the content of the pins.csv file：<br />
<img src="/assets/uploads/files/1497542392606-upload-b95ebc08-2e28-4f74-be3e-3410cdc9e9ea.png" alt="0_1497542366375_upload-b95ebc08-2e28-4f74-be3e-3410cdc9e9ea" class="img-responsive img-markdown" /> G36	GPIO36	P36<br />
G39	GPIO39	P39<br />
G34	GPIO34	P34<br />
G35	GPIO35	P35<br />
G32	GPIO32	P32<br />
G33	GPIO33	P33<br />
G25	GPIO25	P25<br />
G26	GPIO26	P26<br />
G27	GPIO27	P27<br />
G14	GPIO14	P14<br />
G12	GPIO12	P12<br />
G13	GPIO13	P13<br />
G9	GPIO9	P9<br />
G10	GPIO10	P10<br />
G11	GPIO11	P11<br />
G6	GPIO6	P6<br />
G7	GPIO7	P7<br />
G8	GPIO8	P8<br />
G15	GPIO15	P15<br />
G2	GPIO2	P2<br />
G0	GPIO0	P0<br />
G4	GPIO4	P4<br />
G16	GPIO16	P16<br />
G17	GPIO17	P17<br />
G5	GPIO5	P5<br />
G18	GPIO18	P18<br />
G19	GPIO19	P19<br />
G21	GPIO21	P21<br />
G3	GPIO3	P3<br />
G1	GPIO1	P1<br />
G22	GPIO22	P22<br />
G23	GPIO23	P23</p>
]]></description><link>https://forum.pycom.io/post/8477</link><guid isPermaLink="true">https://forum.pycom.io/post/8477</guid><dc:creator><![CDATA[jack]]></dc:creator><pubDate>Thu, 15 Jun 2017 16:22:25 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Thu, 15 Jun 2017 23:37:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/1463">@jack</a> - look at my note # 3:</p>
<p dir="auto">&quot;Renumber the Pins so that there are no gaps,&quot;</p>
<p dir="auto">The error message you received tells you the problem: &quot;PIN_MODULE_P20' undeclared here&quot;</p>
<p dir="auto">You have not declared P20, you must renumber the pins, see my example pins.csv</p>
]]></description><link>https://forum.pycom.io/post/8500</link><guid isPermaLink="true">https://forum.pycom.io/post/8500</guid><dc:creator><![CDATA[crankshaft]]></dc:creator><pubDate>Thu, 15 Jun 2017 23:37:20 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Fri, 16 Jun 2017 01:39:48 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/686">@crankshaft</a><br />
In fact, I don't have p20.<br />
In addition, I found that the pins.c files generated by the compilation process are not consistent with the pins.csv I defined.<br />
{<br />
Create build/WIPY/release/pins.c<br />
CC build/WIPY/release/pins.c<br />
}<br />
Please check your files.</p>
]]></description><link>https://forum.pycom.io/post/8501</link><guid isPermaLink="true">https://forum.pycom.io/post/8501</guid><dc:creator><![CDATA[jack]]></dc:creator><pubDate>Fri, 16 Jun 2017 01:39:48 GMT</pubDate></item><item><title><![CDATA[Reply to WIPY on ESP32-WROOM Procedure on Fri, 16 Jun 2017 02:00:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.pycom.io/uid/686">@crankshaft</a><br />
<img src="/assets/uploads/files/1497577202717-qq%E5%9B%BE%E7%89%8720170616093413-resized.png" alt="0_1497577114115_QQ图片20170616093413.png" class="img-responsive img-markdown" /></p>
]]></description><link>https://forum.pycom.io/post/8502</link><guid isPermaLink="true">https://forum.pycom.io/post/8502</guid><dc:creator><![CDATA[jack]]></dc:creator><pubDate>Fri, 16 Jun 2017 02:00:53 GMT</pubDate></item></channel></rss>