🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Atom Echo Display I2c write errors

    ESP - IDF
    1
    2
    416
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      avanti
      last edited by

      I cannot get the Atom Echo display (hdmi) to initialize. I consistently get these I2c errors during initialization efforts:

      (2432) M5HDMI: i2c port:1 sda:25 scl:21
      I (2432) M5HDMI: Chip ID: 17 02 e2
      I (2432) M5HDMI: Resetting HDMI transmitter...
      I (2502) M5HDMI: i2c write err reg:ff val:81
      I (2502) M5HDMI: FPGA ID:48440004
      I (2502) M5HDMI: FPGA ID:48440004
      I (2502) M5HDMI: Initialize HDMI transmitter...
      I (2582) M5HDMI: i2c write err reg:ff val:80
      I (2652) M5HDMI: i2c write err reg:ff val:82
      I (2732) M5HDMI: i2c write err reg:2b val:bd
      I (2812) M5HDMI: i2c write err reg:2e val:be
      I (2882) M5HDMI: i2c write err reg:ff val:80
      I (2962) M5HDMI: i2c write err reg:ff val:80
      I (3042) M5HDMI: i2c write err reg:b9 val:00
      I (3042) M5HDMI: done.

      This is on esp-idf 4.4. Here is the code:

      #include "M5GFX.h"
      #include <m5atomdisplay.h> // This header includes m5gfx support
      M5AtomDisplay M5;

      extern "C" void app_main(void)
      {

      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(&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);
      }
      

      }

      This happens on multiple units, so it is not a hardware problem. I am stumped.

      1 Reply Last reply Reply Quote 0
      • A
        avanti
        last edited by

        Problem solved:

        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: https://github.com/m5stack/M5GFX.git

        Sure enough, rolling back to 0.1.16 solved the issue.

        I think I am done with automated component management.

        1 Reply Last reply Reply Quote 0
        • First post
          Last post