5.0 HMI w/ 2 I2C ports, wrong port exposed


I am new to the elecrow world. I like what I see.

I ordered the 5.0 v2 display with the extra I2C header. I see in the specs it is a 2*i2c capable device. I know that ESP32 chip provides this functionality. There is a big problem however as the touch device uses i2c_manager to control the first i2c bus. This means no TwoWire library can also access it. Fine - there is a second i2c bus... although the port isnt wired to pins that could be used for the second port.

PLEASE - modify future hardware to make the external i2c connection connect to a free bus that isn't controlled by i2c_manager/lvgl. That would be super helpful.

Also - to hack this and make it work, besides GPIO 38 which other GPIO could I use for the second wire?



  • I think I can scratch off the 2 existing traces from current i2c port connector, remove R4, and connect IO38 and IO17 as secondary i2c bus to connector. I don't need speaker functionality at the moment. Is there a way to disable I2S functionality in Arduino so I can use that pin for i2c?

  • Hello @samnorris ,
    If I2S is not initialized, it is disabled.
    If you use the i2s pin, you need to connect it from the ESP32 chip instead of using the 4pin connector, because there is also an NS4168 chip between the ESP32 and 4pin connectors.
    And you need to connect a pull-up resistor. If you want to use GPIO38, you also need to connect a pull-up resistor.

  • Yep I saw that. I planned to remove R4 jumper and tap into it there.

    If there was an Ads1115(lite) library that someone modified to use i2c_manager that would work as well. :). Anyone up to the task? My c++ skills are just short of that.

Sign In or Register to comment.