RTL8711am i2c cant use

Hello, recently I’ve encountered an issue with a development board called DSI5168 made by a small Taiwanese manufacturer. This board is developed using Rtl8711am. I wanted to connect a sensor using the i2c protocol and while testing some i2c functions, the Serial port showed that the sensor was not connected. Therefore, I tried using an i2c scanner to test without a sensor connected and it showed a lot of devices. I’m not sure if it’s a software issue, but I’ve heard that the wire.h file may have some problems. I have attached my i2c scanner file and a screenshot of the Serial port. Can anyone help me with this?
i2c_scanner.zip (826 位元組)


Sorry, I am a beginner using development boards and I am not sure if the SDK refers to the library of my Ameba development board. Nevertheless, I am attaching the URL and version.

URL:https://raw.githubusercontent.com/Ameba8195/Arduino/master/release/package_realtek.com_ameba_index.json

version:2.0.6

I2C sensor CCS811_Air_Quality code :
Example1_BasicReadings.zip (1.2 KB)

Hi @qweqwewq

Welcome to AmebaIoT Forum. :grinning:

I have noticed that you are using Ameba1(RTL8195AM/RTL8711AM/RTL8710AF) Arduino Environment. Therefore, please specify the Arduino SDK version and the example name that you are running. It will be easier for us to help with reproducing your issue.

Thank you

Hi @dakamaster , thank you for getting back to me. I have an update and I am attaching the URL and version of my development board library, although I am not sure if it is what you need.

Hi @qweqwewq ,

Sorry, I am not able to test the code you provided on the i2c scanner since I don’t have the CCS811 Air Quality sensor. However, I have double-checked I2C examples Ameba Arduino: [RTL8195AM] [RTL8710AF] I2C - Display data on LCD screen on my Ameba1 (RTL8195AM), and it is working as normal. This means the I2C driver for Ameba1 is functioning well.

I have doubted that the root cause of your issue is because you using the SDK from a non-official platform. The SDK that I am using is downloaded from GitHub amb1_arduino v2.0.12. Which is different from the Arduino Preference URL you provided. Therefore, you can either follow:

  1. GitHub Readme to update your SDK;
    or
  2. Read through the Ameba1 Getting Start guide on our official website.

Thank you!

Hi, @dakamaster! Thank you for your response. Now,I can use the I2C sensor, but I’m still unable to use the I2C scanner code. I’m really wondering why the I2C scanner code detects multiple devices even when I don’t have any sensor connected to the Ameba board. Could you please help me figure out why this is happening?

Note: I have already upgraded to the latest SDK.

I find the same thing too :persevere:I used amb82 mini,then,i found this

I try to test,but this problem stll there

Hi @ren_yucheng,

May I know what issue are you exactly facing? I2C Scanner should be working now in 4.0.6 pre-release.

Can you screenshot the error?

Thank you.

I am using the amb82mini in the Arduino environment, and the new version does not encounter situations where the device is not mounted but the address can be scanned, but my I2c device cannot be recognized. I use Arduino Uno to scan the same I2c device, and the address can be quickly scanned. My I2c address is 0X18

Hi @ren_yucheng, may I know what I2C device are you using and can I see the output on your serial monitor?

Thank you.

I have obtained a stepper motor driver chip for MS32007, which has a demo board. Both SDL and SDA have done 3.3V pull-up, and the pull-up resistance is 4.7K
屏幕截图 2023-12-05 155010

I can use Uno to scan this stepper motor driver chip, and use Arduino’s i2c scanning routine to quickly discover the address。Perhaps it’s because this MS32007 has a 7-bit chip address plus 1 bit read or write, totaling 8 bits?

The serial monitor keeps showing no address found

Is it possible if you try to capture the data from the logic analyzer? Currently we do not have this MS32007 to reproduce the issue. This I2C device may not be compatible with our board yet. Right now, we have been testing with LCD device (I2C Module for Character LCD) and its able to trace the address accurately.


This is the written data for 1 address scanning.

I replaced the CW2015 battery meter chip, and the Arduino Uno can scan it, but the amb82mini still cannot scan it with the latest 4.0.6 version, and the serial port keeps showing “No I2C devices found”


There seems to be a switch here, so I need specific operations, right?

Hi @ren_yucheng ,
Actually, the AMB82-MINI I2C supporting 10-bit I2C decoding. I think the address might not be the root cause for your case.

May I know which group of I2C pins that you are using currently. For example, please remember to check whether you are using Wire.begin() or Wire1.begin()?
What’s more, it’s better to provide a photo of the physical connection of your hardware settings to aids us troubleshooting for you.
Thanks

For the testing setup I was using, simply just connect SDA, SCL to the dedicated I2C group selected, then connected power and ground. There is nothing that I have done with those switches.
Thanks