Tinker Board Forum

Full Version: SI4703 & i2c problem
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi guys!
I wanna connect the SI4703 via i2c, so I use the next pins — SCLK = 5, SDIO = 3, GND = 6, 3.3v = 1.
I tested it with the arduino uno and it was the success, but with asus tinker it fails. 
Could you help to explain where I was wrong?

I use "i2cdetect -y 1", and have empty addresses, looks like this

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

My hw_intf.conf file contains
--------------
#Hardware Interface Config

intfConfusedpi0=off
intf:uart2=off
intf:uart3=on
intf:uart4=on
intf:pcm_i2s=on
intf:i2c1=on
intfConfusedpi1=on
intf:i2c4=on
intfConfusedpi2=on
intf:pwm2=on
intf:pwm3=on
intf:uart1=on

#DTS Overlay Config
# 1. check the name.dtbo in /boot/overlays
# 2. add intf:dtoverlay=name as below

#intf:dtoverlay=i2c
intf:dtoverlay=w1-gpio
--------------
So, please help, I don't understand whats wrong
Is the connection 3.3 V tolerant ?
Have you other I2C devices to test on i2c1 ?
(01-30-2019, 12:22 AM)Im4Tinker Wrote: [ -> ]Is the connection 3.3 V tolerant ?
yes

(01-30-2019, 12:22 AM)Im4Tinker Wrote: [ -> ]Have you other I2C devices to test on i2c1 ?
no, i have no another device with i2c
Look at the dmesg whether there's mentions about i2c
Code:
$ dmesg | grep -i i2c
Maybe check whether any difference appear on the /dev directory when plugging the device. Mhmm, I doubt.

How you connected to Arduino ?
Have used the 3.3 V to supply the SI4703 ?
(01-30-2019, 11:27 PM)Im4Tinker Wrote: [ -> ]Look at the dmesg whether there's mentions about i2c
Code:
$ dmesg | grep -i i2c
Maybe check whether any difference appear on the /dev directory when plugging the device. Mhmm, I doubt.

How you connected to Arduino ? 
Have used the 3.3 V to supply the SI4703 ?
1. as usual i2c, what do u mean? I can share scheme
2. sure, I use 3.3v pin
Well I mean if you connected 3.3 V, A5, A4 and GND for the i2c. Luckily the Arduino can handle 3.3 V even the supply is 5 V. Anyway the I2C is open collector therefore the pullup resistors should be connected to 3.3 V.

Back to the TB connection, have you noted anything on the dmesg ?
You might try to connect the Arduino, as a tool to test the I2C communication, rather than the SI4703.
Perhaps it might be there some program to diagnose the problem. Even better if you connect all three, but perhaps TB or Arduino should be set as Master, either.
This might be compiled for Arduino and TB as well. But for TB remember to include wiringPI.h