<?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[How to change the I2C address of EXT.IO2]]></title><description><![CDATA[<p dir="auto">Hello, I have a question.<br />
I want to implement two EXT.IO2 in M5stack basic.<br />
To do this, I need to change the I2C address of one of them.<br />
However, the program I made based on the <a href="https://github.com/m5stack/M5Unit-EXTIO2/blob/main/examples/Unit_EXTIO2_M5Core/DIGITAL_INPUT_OUTPUT/DIGITAL_INPUT_OUTPUT.ino" target="_blank" rel="noopener noreferrer nofollow ugc">EXT.IO2 sample sketch</a> could not connect to the unit. (ERROR is responded on begin.) Please tell me what is the problem.<br />
I don't think it's a hardware issue since UIFlow could change it... :(</p>
<p dir="auto">#include &lt;M5Stack.h&gt;<br />
#include "M5_EXTIO2.h"</p>
<p dir="auto">M5_EXTIO2 extio;</p>
<p dir="auto">void setup() {<br />
int t_erro = 0;<br />
M5.begin();<br />
extio.begin(&amp;Wire, 21, 22, 0x45);<br />
if(t_erro){<br />
M5.Lcd.print("Connect");<br />
}else{<br />
M5.Lcd.print("Error");<br />
}<br />
extio.setDeviceAddr(0x46);</p>
<p dir="auto">}<br />
void loop() {</p>
<p dir="auto">}</p>
]]></description><link>https://community.m5stack.com/topic/4674/how-to-change-the-i2c-address-of-ext-io2</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Mar 2026 21:37:32 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/4674.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Oct 2022 13:48:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to How to change the I2C address of EXT.IO2 on Thu, 06 Oct 2022 14:23:08 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/26896">@Gorilla</a></p>
<p dir="auto">thank you for reporting back. I am glad you figured it out. And yes, there were some recent changes to the EXTIO2 library regarding I2C so getting the latest is key.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18871</link><guid isPermaLink="true">https://community.m5stack.com/post/18871</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Thu, 06 Oct 2022 14:23:08 GMT</pubDate></item><item><title><![CDATA[Reply to How to change the I2C address of EXT.IO2 on Thu, 06 Oct 2022 14:21:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> , <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/7508">@teastain</a><br />
I have a good report.<br />
I was able to change my address using this procedure based on everyone's advice.</p>
<ol>
<li>remove the already installed M5Unit-EXTIO2 from the library folder.</li>
<li>download the latest library <a href="https://github.com/m5stack/M5Unit-EXTIO2" target="_blank" rel="noopener noreferrer nofollow ugc">from here</a> as a zip file and install M5Unit-EXTIO2-main.</li>
<li>wrote this sketch.</li>
</ol>
<p dir="auto">#include &lt;M5Stack.h&gt;<br />
#include "M5_EXTIO2.h"</p>
<p dir="auto">M5_EXTIO2 extio;</p>
<p dir="auto">void setup() {<br />
int t_erro = 0;<br />
M5.begin();<br />
t_erro = extio.begin(&amp;Wire, 21, 22, 0x45);<br />
if(t_erro){<br />
M5.Lcd.print("Connect");<br />
}else{<br />
M5.Lcd.print("Error");<br />
}<br />
extio.setDeviceAddr(0x47);</p>
<p dir="auto">}<br />
void loop() {<br />
}</p>
<p dir="auto">Thanks to you guys for helping me solve the problem. Thank you so much!</p>
]]></description><link>https://community.m5stack.com/post/18870</link><guid isPermaLink="true">https://community.m5stack.com/post/18870</guid><dc:creator><![CDATA[Gorilla]]></dc:creator><pubDate>Thu, 06 Oct 2022 14:21:34 GMT</pubDate></item><item><title><![CDATA[Reply to How to change the I2C address of EXT.IO2 on Thu, 06 Oct 2022 13:49:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a><br />
Oops, I found a mistake and will correct it.<br />
t_erro = extio.begin(&amp;Wire, 21, 22, 0x45);</p>
<p dir="auto">However, even with this modification, "begin" still returns an error.</p>
<p dir="auto">Thanks for your reply.</p>
]]></description><link>https://community.m5stack.com/post/18869</link><guid isPermaLink="true">https://community.m5stack.com/post/18869</guid><dc:creator><![CDATA[Gorilla]]></dc:creator><pubDate>Thu, 06 Oct 2022 13:49:17 GMT</pubDate></item><item><title><![CDATA[Reply to How to change the I2C address of EXT.IO2 on Wed, 05 Oct 2022 21:44:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> "For testing integrity" I'm using the github <a href="http://EXT.IO" target="_blank" rel="noopener noreferrer nofollow ugc">EXT.IO</a> Zip download and running the DIGITAL_INPUT_OUTPUT example right from there and then later from my Arduino directory, after checking that both Libraries M5Stack And EXT_IO are up to date.<br />
Note, stubbornly I am using Arduino 1.8.19.<br />
The Example would not run until I added Wire.begin(21, 22);   delay(1000);<br />
Seriously. I take it out and the sketch throws errors.<br />
I am also disappointed that setPinMode "came and went".<br />
I am becoming discouraged with M5Stack, unfortunately.</p>
]]></description><link>https://community.m5stack.com/post/18850</link><guid isPermaLink="true">https://community.m5stack.com/post/18850</guid><dc:creator><![CDATA[teastain]]></dc:creator><pubDate>Wed, 05 Oct 2022 21:44:30 GMT</pubDate></item><item><title><![CDATA[Reply to How to change the I2C address of EXT.IO2 on Wed, 05 Oct 2022 19:52:49 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/7508">@teastain</a></p>
<p dir="auto">there where some changes in the ESP32 Arduino framework which added functionality to setup an ESP32 as an I2C slave. Unfortunately this broke some of the M5Stack libraries.</p>
<p dir="auto">Please make sure you re-install the <a href="https://github.com/m5stack/M5Unit-EXTIO2" target="_blank" rel="noopener noreferrer nofollow ugc">EXTI02 library</a> to get the latest changes. Alternatively check this file <code>M5Unit-EXTIO2/src/M5_EXTIO2.cpp</code> and see if the <code>begin()</code> already has the <code>(int)</code> typecast like below.</p>
<pre><code>_wire-&gt;begin((int)_sda, (int)_scl);
</code></pre>
<p dir="auto">Note: The <code>(int)</code> typecast ensures that the <code>begin()</code> for an I2C master is called (and not an I2C slave).</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18842</link><guid isPermaLink="true">https://community.m5stack.com/post/18842</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Wed, 05 Oct 2022 19:52:49 GMT</pubDate></item><item><title><![CDATA[Reply to How to change the I2C address of EXT.IO2 on Wed, 05 Oct 2022 19:42:11 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/26896">@gorilla</a> As I have a Core Basic and several EXT.IO2s  I tried the Sample from M5Stack called DIGITAL_INPUT_OUTPUT downloaded directly, this minute and all I get is "extio Connect Error", same as you, you are not alone!<br />
I ran my homebrew EXT.IO2 no library version with the C code in-line and it works fine, connected and flashing.<br />
Attn <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> I dug up my program from July, from AFTER you added "extio.setPinMode", which worked fine, then, but NOW the same program won't compile and throws error "class M5_EXTIO2' has no member named 'setPinMode'; did you mean 'setAllPinMode'?"<br />
Please help!</p>
]]></description><link>https://community.m5stack.com/post/18841</link><guid isPermaLink="true">https://community.m5stack.com/post/18841</guid><dc:creator><![CDATA[teastain]]></dc:creator><pubDate>Wed, 05 Oct 2022 19:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to How to change the I2C address of EXT.IO2 on Wed, 05 Oct 2022 16:13:54 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/26896">@Gorilla</a></p>
<p dir="auto">in the program you've posted <code>t_erro</code> is always <code>0</code>.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18835</link><guid isPermaLink="true">https://community.m5stack.com/post/18835</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Wed, 05 Oct 2022 16:13:54 GMT</pubDate></item></channel></rss>