<?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[M5Paper I2C]]></title><description><![CDATA[<p dir="auto">When I check the I2C bus with the I2C scanner I see 4 items, looks like to be correct. Received yesterday the DDS Unit, its communicates via I2C address 0x31. When I connected it to the M5Paper the I2C scanner is not detected the DDS. Checked it with the M5Stack-Fire no problems to detect. Also tied is it with an other I2C device with the same results. Sommeting wrong with this port?</p>
]]></description><link>https://community.m5stack.com/topic/2982/m5paper-i2c</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 22:34:21 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/2982.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 21 Feb 2021 13:05:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to M5Paper I2C on Wed, 24 Feb 2021 06:34:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: powersoft">@<bdi>powersoft</bdi></a> said in <a href="/post/12630">M5Paper I2C</a>:</p>
<blockquote>
<p dir="auto">Today I rewrote the routines for the BMP280 and BME280 for a single device.<br />
Simple include the source into the main program, and call it.<br />
This is now working as I wont. It takes a afternoon of work!<br />
Now put the finishing touches on the BMP280/BME280.</p>
<p dir="auto">Would it make sense to post them on the forum when they are ready?</p>
<p dir="auto">Cheers<br />
Jan</p>
</blockquote>
<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: Powersoft">@<bdi>Powersoft</bdi></a> sorry for the absence, ive had some issues to deal with.<br />
nice work finding the issue.<br />
Create a project in the project forum and post your code and solution in there.</p>
]]></description><link>https://community.m5stack.com/post/12639</link><guid isPermaLink="true">https://community.m5stack.com/post/12639</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Wed, 24 Feb 2021 06:34:17 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Wed, 24 Feb 2021 06:34:16 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: powersoft">@<bdi>powersoft</bdi></a> said in <a href="/post/12630">M5Paper I2C</a>:</p>
<blockquote>
<p dir="auto">Today I rewrote the routines for the BMP280 and BME280 for a single device.<br />
Simple include the source into the main program, and call it.<br />
This is now working as I wont. It takes a afternoon of work!<br />
Now put the finishing touches on the BMP280/BME280.</p>
<p dir="auto">Would it make sense to post them on the forum when they are ready?</p>
<p dir="auto">Cheers<br />
Jan</p>
</blockquote>
<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: Powersoft">@<bdi>Powersoft</bdi></a> sorry for the absence, ive had some issues to deal with.<br />
nice work finding the issue.<br />
Create a project in the project forum and post your code and solution in there.</p>
]]></description><link>https://community.m5stack.com/post/12638</link><guid isPermaLink="true">https://community.m5stack.com/post/12638</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Wed, 24 Feb 2021 06:34:16 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Tue, 23 Feb 2021 19:00:24 GMT]]></title><description><![CDATA[<p dir="auto">Today I rewrote the routines for the BMP280 and BME280 for a single device.<br />
Simple include the source into the main program, and call it.<br />
This is now working as I wont. It takes a afternoon of work!<br />
Now put the finishing touches on the BMP280/BME280.</p>
<p dir="auto">Would it make sense to post them on the forum when they are ready?</p>
<p dir="auto">Cheers<br />
Jan</p>
]]></description><link>https://community.m5stack.com/post/12630</link><guid isPermaLink="true">https://community.m5stack.com/post/12630</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Tue, 23 Feb 2021 19:00:24 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Tue, 23 Feb 2021 10:40:00 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: Powersoft">@<bdi>Powersoft</bdi></a></p>
<p dir="auto">I am sorry to hear that. I found that sometimes it is helpful to take a break, work on something different for a while and then come back with fresh ideas.</p>
<p dir="auto">Best of luck!<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/12625</link><guid isPermaLink="true">https://community.m5stack.com/post/12625</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Tue, 23 Feb 2021 10:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Mon, 22 Feb 2021 18:52:41 GMT]]></title><description><![CDATA[<p dir="auto">I will stop to interface I2C devices to the M5Paper.<br />
Tried to make a connection with various devices, no positive results so far. It is a pity that they have taken this path. Now a number of devices are no longer usable for me on the M5Paper.</p>
]]></description><link>https://community.m5stack.com/post/12618</link><guid isPermaLink="true">https://community.m5stack.com/post/12618</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Mon, 22 Feb 2021 18:52:41 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Mon, 22 Feb 2021 14:55:35 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: Powersoft">@<bdi>Powersoft</bdi></a></p>
<p dir="auto">yes and no. They both use a different set of GPIOs for internal and external I2C (unlike M5Stack Fire, Gray, etc., which use the same).</p>
<p dir="auto">However M5Paper uses <code>Wire</code> for the internal I2C and <code>Wire1</code> for external I2C. M5Core2 does it the other way round and uses <code>Wire1</code> for internal I2C and <code>Wire</code> for external I2C.</p>
<p dir="auto">When M5Core2 came out I thought the assignment makes a lot of sense since a lot of external libraries have <code>Wire</code> hard coded (as I mentioned already) so on M5Core2 those libraries can be used without modification.</p>
<p dir="auto">Why on M5Paper the M5Stack engineers decided to use it the other way round is anyones guess. If I had to guess it was a different engineer preparing M5Paper than M5Core2, but that is my personal opinion alone.</p>
<p dir="auto">The other thing is that M5Core2 always initialises <code>Wire1</code> and <code>Wire</code> can be initialised via a parameter in <code>M5.begin()</code> whereas on M5Paper only <code>Wire</code> is initialised always by default.</p>
<p dir="auto">Other than that I don't think there are any other differences regarding I2C of this two devices.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/12610</link><guid isPermaLink="true">https://community.m5stack.com/post/12610</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Mon, 22 Feb 2021 14:55:35 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Mon, 22 Feb 2021 14:28:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/felmue" aria-label="Profile: felmue">@<bdi>felmue</bdi></a><br />
Is there a principal difference in the I2C approach between the M5Paper and the CORE2?</p>
]]></description><link>https://community.m5stack.com/post/12609</link><guid isPermaLink="true">https://community.m5stack.com/post/12609</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Mon, 22 Feb 2021 14:28:01 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Mon, 22 Feb 2021 14:18:41 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: Powersoft">@<bdi>Powersoft</bdi></a></p>
<p dir="auto">thank you for reporting back. I am glad it works - well, at least for this device.</p>
<p dir="auto">And yes, not all libraries allow for the <code>Wire/Wire1</code> parameter to be supplied via <code>begin()</code> function call. There are a lot of libraries which have <code>Wire</code> hard coded. In such a case you can modify your local copy of the library to your needs.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/12608</link><guid isPermaLink="true">https://community.m5stack.com/post/12608</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Mon, 22 Feb 2021 14:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Mon, 22 Feb 2021 14:08:01 GMT]]></title><description><![CDATA[<p dir="auto">Felix, I've tried it and for this device it is working.  But when I try it with a BMP280 it is not working. I think it is depending on the header of the program.<br />
I will investigate this further.</p>
<p dir="auto">Cheers,<br />
Jan</p>
]]></description><link>https://community.m5stack.com/post/12607</link><guid isPermaLink="true">https://community.m5stack.com/post/12607</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Mon, 22 Feb 2021 14:08:01 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 20:53:13 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: Powersoft">@<bdi>Powersoft</bdi></a></p>
<p dir="auto">the two I2C use <code>Wire</code> (internal) and <code>Wire1</code> (external). By default the Adafruit library uses <code>Wire</code>, but for M5Paper we want it to use <code>Wire1</code>. Luckily the <code>sgp.begin()</code> function allows to overwrite the default.</p>
<p dir="auto">Try something like this (untested):</p>
<pre><code>  M5.begin(); // initialises internal I2C (uses Wire)
  Wire1.begin(25, 32); // initialises external I2C (uses Wire1)
  Serial.println("\n\n=====SGP30 test====");

  if (! sgp.begin(&amp;Wire1)){
</code></pre>
<p dir="auto">Hope this works.</p>
<p dir="auto">Cheers<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/12600</link><guid isPermaLink="true">https://community.m5stack.com/post/12600</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sun, 21 Feb 2021 20:53:13 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 20:25:47 GMT]]></title><description><![CDATA[<p dir="auto">Felix,<br />
Sorry, I made a mistake. The address the scanner sees is 0x58, which is correct. The address of the SGP30 is also 0x58.</p>
<p dir="auto">Still, the test program will not run!</p>
<pre><code>#include &lt;M5EPD.h&gt;
#include &lt;Wire.h&gt;
#include "Adafruit_SGP30.h"

Adafruit_SGP30 sgp;

void setup() {
  M5.begin();
  Serial.println("\n\n=====SGP30 test====");

  if (! sgp.begin()){
    Serial.println("Sensor not found ...........");
    while (1);
  }
  Serial.print("Found SGP30 serial #");
  Serial.print(sgp.serialnumber[0], HEX);
  Serial.print(sgp.serialnumber[1], HEX);
  Serial.println(sgp.serialnumber[2], HEX);
}

void loop()
{
}
</code></pre>
<p dir="auto">This is my message now:</p>
<pre><code>21:20:51.388 -&gt; 
21:20:51.388 -&gt; 
21:20:51.388 -&gt; =====SGP30 test====
21:20:51.388 -&gt; Sensor not found ...........
</code></pre>
<p dir="auto">Hope you can help me out, because this is for me a general problem.<br />
Wont connect several I2C devices to the M5Paper.</p>
<p dir="auto">Cheers,<br />
Jan</p>
]]></description><link>https://community.m5stack.com/post/12599</link><guid isPermaLink="true">https://community.m5stack.com/post/12599</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Sun, 21 Feb 2021 20:25:47 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 20:12:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/felmue" aria-label="Profile: felmue">@<bdi>felmue</bdi></a> Thank you Felix. What strikes me now is that the original I2C address 0x30 has been changed to 0x58. Does this mean that I have to edit the original LIB of Adafruit?<br />
Or is there a trick to keep using the address 0x30?<br />
Cheers<br />
Jan</p>
]]></description><link>https://community.m5stack.com/post/12598</link><guid isPermaLink="true">https://community.m5stack.com/post/12598</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Sun, 21 Feb 2021 20:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 19:48:13 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/powersoft" aria-label="Profile: Powersoft">@<bdi>Powersoft</bdi></a></p>
<p dir="auto">M5Stack (Fire, Gray, Base etc.) use the same GPIOs for the internal I2C and I2C on Port A. In contrast M5Paper, as well as M5Core2, use different GPIOs for internal and external I2C, eg. for M5Paper GPIO21 / GPIO22 and GPIO 25 / GPIO 32 are used. That is the reason the scanner code you've posted only lists internal I2C devices.</p>
<p dir="auto">Here is an I2C scanner which scans both internal and external I2C:</p>
<pre><code>#include &lt;M5EPD.h&gt;

// I2C (internal) - SDA: 21, SCL: 22
// I2C (external - Port A) - SDA: 25, SCL: 32

void setup()
{
  M5.begin();
  Wire1.begin(25, 32);
}

void loop()
{
  int address;
  int error;

  Serial.println("Scanning internal I2C");
  for(address = 1; address &lt; 127; address++)
  {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    if(error == 0)
    {
      Serial.println(address, HEX);
    }
    delay(10);
  }
  delay(500);

  Serial.println("Scanning external I2C (PortA)");
  for(address = 1; address &lt; 127; address++)
  {
    Wire1.beginTransmission(address);
    error = Wire1.endTransmission();
    if(error == 0)
    {
      Serial.println(address, HEX);
    }
    delay(10);
  }
  delay(5000);
}
</code></pre>
<p dir="auto">BTW: you can find the information about the GPIOs used on PortA when you look at the sticker on the back of M5Paper.</p>
<p dir="auto">Cheers<br />
Felix</p>
<p dir="auto">P.S. Yes, an Alpha version of UIFlow for M5Paper is available.</p>
]]></description><link>https://community.m5stack.com/post/12595</link><guid isPermaLink="true">https://community.m5stack.com/post/12595</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sun, 21 Feb 2021 19:48:13 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 16:15:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ajb2k3" aria-label="Profile: ajb2k3">@<bdi>ajb2k3</bdi></a> is UIFlow working on the M5Paper?</p>
]]></description><link>https://community.m5stack.com/post/12594</link><guid isPermaLink="true">https://community.m5stack.com/post/12594</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Sun, 21 Feb 2021 16:15:03 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 16:12:59 GMT]]></title><description><![CDATA[<p dir="auto">I think sommething is wrong with my bord. Have tested some I2C devices on my M5Stack-Fire, all working great, but non is working with the M5Paper. All connected to the standard cable. This is verry verry disipointed!</p>
]]></description><link>https://community.m5stack.com/post/12593</link><guid isPermaLink="true">https://community.m5stack.com/post/12593</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Sun, 21 Feb 2021 16:12:59 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 16:07:28 GMT]]></title><description><![CDATA[<p dir="auto">Ahh, I'm not sure about arduino as I'm working on documenting UIFlow.</p>
]]></description><link>https://community.m5stack.com/post/12592</link><guid isPermaLink="true">https://community.m5stack.com/post/12592</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sun, 21 Feb 2021 16:07:28 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 14:41:12 GMT]]></title><description><![CDATA[<p dir="auto">I Use the Arduino I2C finder. This is the result of the scan</p>
<pre><code>Scanning...
I2C device found at address 0x44  !
I2C device found at address 0x50  !
I2C device found at address 0x51  !
I2C device found at address 0x5D  !
done
</code></pre>
<p dir="auto">When I connect de DDS with address 0x31 the same output!<br />
Tried this with several I2C devices. Without result.</p>
<p dir="auto">This is the Arduino program of the I2C scanner I used.</p>
<pre><code>#include &lt;M5EPD.h&gt;
#include &lt;Wire.h&gt;

void setup()
{
  M5.begin();
  Wire.begin();
  

  Serial.begin(115200);
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address &lt; 127; address++ ) 
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address&lt;16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Unknow error at address 0x");
      if (address&lt;16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}
</code></pre>
]]></description><link>https://community.m5stack.com/post/12588</link><guid isPermaLink="true">https://community.m5stack.com/post/12588</guid><dc:creator><![CDATA[Powersoft]]></dc:creator><pubDate>Sun, 21 Feb 2021 14:41:12 GMT</pubDate></item><item><title><![CDATA[Reply to M5Paper I2C on Sun, 21 Feb 2021 13:48:40 GMT]]></title><description><![CDATA[<p dir="auto">What code are you using for the scanner?<br />
Just run a test on mine using this code<br />
<img src="/assets/uploads/files/1613915270058-screenshot-2021-02-21-at-13.46.43.png" alt="0_1613915264064_Screenshot 2021-02-21 at 13.46.43.png" class=" img-fluid img-markdown" /><br />
And getting a working scan.</p>
]]></description><link>https://community.m5stack.com/post/12587</link><guid isPermaLink="true">https://community.m5stack.com/post/12587</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sun, 21 Feb 2021 13:48:40 GMT</pubDate></item></channel></rss>