ESP-8266EX Soil sensor (chirp!) I2C problem

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
kochmi
New user
Posts: 1
Joined: 05 Jul 2020, 15:44

ESP-8266EX Soil sensor (chirp!) I2C problem

#1 Post by kochmi » 05 Jul 2020, 15:56

Hello!

I tried to connect a chirp!-sensor to a wemos d1 mini using espeasy 20200703 (dev).
This is the sensor: https://wemakethings.net/chirp/

My problem: I can not get the I2C connection working. With various other devices the I2C connection is working perfectly. But connecting the chirp!-sensor not even brings a result in the I2C-Scan.
I tried two devices (display and chirp!-sensor) in the I2C-bus: the display is working well stand alone. As soon as the chirp!-Sensor is connected to the I2C-bus, the I2C-scan does not work any more.

Is there a "real" I2C-bus in the chirp!-sensor? The chirp!-sensor uses a ISP-bus:
pin 1 - MISO
pin 2 - VCC
pin 3 - SCK / SCL – I2C clock
pin 4 - MOSI / SDA – I2C data
pin 5 - RESET
pin 6 - GND
I connected VCC (3.3V) and GND. I2C: pin 3 and pin 4

Any suggestions??
Thanks a lot for your reply!
best regards
Michael

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: ESP-8266EX Soil sensor (chirp!) I2C problem

#2 Post by TD-er » 05 Jul 2020, 19:41

On some boards that support both I2C and SPI, you may need to set the mode via a pin.
For example pull one pin to GND or VCC or maybe a solder pad on the board?

On the description page you linked, it states:
After reset Chirp reads capacitance and light levels. That can take from 1 up to 9 seconds if dark. If any I2C communication is received during that time, Chirp will switch into sensor mode - it will not chirp, just respond to I2C requests. The default address of the Chirp is 0x20.
So maybe you should try to run an I2C scan immediately after powering on the chirp board?

robertas
New user
Posts: 1
Joined: 12 Aug 2021, 17:19

Re: ESP-8266EX Soil sensor (chirp!) I2C problem

#3 Post by robertas » 12 Aug 2021, 17:40

With chirp sensor it is some lack of complete understandable information.
1) 6 pin interface named ISP is not the same as ISP interface. It is only label name of connector. The really working interface is I2C
what is real:
pin 1 - not used
pin 2 - VCC
pin 3 - SCL – I2C clock
pin 4 - SDA – I2C data
pin 5 - RESET, if you will use reset
pin 6 - GND

2) you need pull-up resistors on SCL and SCK, that means if you have Arduino board, you must solder 10K Ohm resistor between SCL and VCC , another 10k Ohm between SDA and VCC .

3) I found in pdf from miceuz :
Note for ESP8266 based systems In some cases, the default ESP8266 Arduino I2C library has the clock stretching timeout set too low. If you experience intermittent communication, add this to your code: Wire.setClockStretchLimit(4000)

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 35 guests