0

I use this temperature and humidity sensor: Si7021, like below link http://www.dfrobot.com/wiki/index.php/SI7021_Temperature_and_humidity_sensor_SKU:TOY0054

I can get the sensor data by Arduino easily. But when I connect it to my Raspberry Pi B+, and type below command, I can not even find it. Why?

pi@raspberrypi:~$ sudo i2cdetect -a -y 1 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

I am sure that my physical connection is right. I have connected other i2c sensor onto my pi and made it work.

Below photos show you how I connect Pi and the sensor board. enter image description here enter image description here enter image description here

9
  • You have not connected your sensor to the Pi properly. A detailed photo of your set up may show what you have done wrong.
    – joan
    Jan 19, 2015 at 21:58
  • I upload the photos of my connections, please check. @joan
    – Tom Xue
    Jan 20, 2015 at 16:28
  • That looks fine. What is that ribbon cable connected to the sensor? Have you tried without that?
    – joan
    Jan 20, 2015 at 20:29
  • The ribbon cable is floating. I remove it, and still get the same result. @joan
    – Tom Xue
    Jan 21, 2015 at 14:14
  • @goldilocks Please check my main post, I explain that the posts you locked are really different. For sensor Si7021, I cannot detect it at all; while for sensor SHT21, I can detect it but kernel driver works abnormally. Could you please unlock these 2 posts?
    – Tom Xue
    Jan 21, 2015 at 14:23

2 Answers 2

1

I removed the 1,000 ohm surface mount resistors that are in series with the SDA and SCK lines on the PCB. I bridged the solder pads with a solder blob (the signals no longer go through a resistor before getting to the IC). It now works on the 3.3v Raspberry Pi.

Be sure to not connect this modified version to an Arduino (that has 5.0v SDA and SCK levels) unless you add an external 1,000 ohm resistor in series with SDA and SCK

Good luck!

2
  • 1
    I think your answer could be more clear
    – Darth Vader
    Apr 10, 2016 at 19:48
  • It's hard to tell anything without a schematic, but I would expect those to be i2c pull-up resistors rather than level shifters. You can't make a level shifter with only 1 resistor per pin anyway. Jan 23, 2017 at 16:50
0

make sure your i2c pull ups are connected. You can use 4.7k as pull up resistors. if you are looking for Java or python code you can find over here Si7021 python code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.