<?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[Atom Echo Display I2c write errors]]></title><description><![CDATA[<p dir="auto">I cannot get the Atom Echo display (hdmi) to initialize. I consistently get these I2c errors during initialization efforts:</p>
<p dir="auto">(<em><strong>2432) M5HDMI: i2c port:1 sda:25 scl:21<br />
I (2432) M5HDMI: Chip ID: 17 02 e2<br />
I (2432) M5HDMI: Resetting HDMI transmitter...<br />
I (2502) M5HDMI: i2c write err  reg:ff val:81<br />
I (2502) M5HDMI: FPGA ID:48440004<br />
I (2502) M5HDMI: FPGA ID:48440004<br />
I (2502) M5HDMI: Initialize HDMI transmitter...<br />
I (2582) M5HDMI: i2c write err  reg:ff val:80<br />
I (2652) M5HDMI: i2c write err  reg:ff val:82<br />
I (2732) M5HDMI: i2c write err  reg:2b val:bd<br />
I (2812) M5HDMI: i2c write err  reg:2e val:be<br />
I (2882) M5HDMI: i2c write err  reg:ff val:80<br />
I (2962) M5HDMI: i2c write err  reg:ff val:80<br />
I (3042) M5HDMI: i2c write err  reg:b9 val:00<br />
I (3042) M5HDMI: done.</strong></em></p>
<p dir="auto">This is on esp-idf 4.4.  Here is the code:</p>
<p dir="auto">#include "M5GFX.h"<br />
#include &lt;m5atomdisplay.h&gt; // This header includes m5gfx support<br />
M5AtomDisplay M5;</p>
<p dir="auto">extern "C" void app_main(void)<br />
{</p>
<pre><code>printf("Initializing  screen component...\n");
vTaskDelay(100);
M5.begin(); // Initialize M5Stack
vTaskDelay(100);
vTaskDelay(pdMS_TO_TICKS(50));
M5.clear(); // Clear the display
vTaskDelay(100);
M5.setFont(&amp;fonts:: FreeSerifBold24pt7b);
M5.fillScreen(BLUE);
// Initialize the M5Atom display (HDMI output is set up as part of the initialization)


// (Optional) If your version of m5gfx requires it, you can explicitly enable HDMI:
// M5.Lcd.enableHDMI();

// Clear the display to black
M5.fillScreen(0x0000);

// Set text properties and print a test message
M5.setTextColor(0xFFFF);  // White text
M5.setCursor(10, 10);
M5.println("M5Atom HDMI Test");

// Draw a red rectangle to verify graphic output
M5.drawRect(20, 20, 100, 50, 0xF800);  // 0xF800 represents red in 16-bit color

// Main loop (keeps the application running)
while (1) {
    vTaskDelay(1000 / portTICK_PERIOD_MS);
}
</code></pre>
<p dir="auto">}</p>
<p dir="auto">This happens on multiple units, so it is not a hardware problem. I am stumped.</p>
]]></description><link>https://community.m5stack.com/topic/7412/atom-echo-display-i2c-write-errors</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 01:32:02 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/7412.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 Mar 2025 23:23:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Atom Echo Display I2c write errors on Fri, 21 Mar 2025 13:53:59 GMT]]></title><description><![CDATA[<p dir="auto">Problem solved:</p>
<p dir="auto">Since this used to work, I started poking around looking at version numbers.  It turns out that at some point, the component manager "upgraded" my component from V0.1.16 to 0.2.6. I am talking about: <a href="https://github.com/m5stack/M5GFX.git" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/m5stack/M5GFX.git</a></p>
<p dir="auto">Sure enough, rolling back to 0.1.16 solved the issue.</p>
<p dir="auto">I think I am done with automated component management.</p>
]]></description><link>https://community.m5stack.com/post/28591</link><guid isPermaLink="true">https://community.m5stack.com/post/28591</guid><dc:creator><![CDATA[avanti]]></dc:creator><pubDate>Fri, 21 Mar 2025 13:53:59 GMT</pubDate></item></channel></rss>