The Combine Forum banner

Reading OPI Cables with and Arduino

1099 Views 13 Replies 3 Participants Last post by  Farming-Hamilton-IA
I am interested in seeing if anyone has been able to successfully read OPI cables with an Arduino or other microcontroller. I found an old thread about it, and it looks like folks have been able to get the temperature and relative humidity.

The main question I have here is how can you get the addresses of the different sensors, and how do you know which level in the cable they are?

Thank you for your ideas. The subscriptions on these cables are just getting very high.
1 - 7 of 14 Posts
As I have been exploring the sensors used in the OPI cables, it looks like they are using an SHT15 for temp and RH, and this is going into an IC with a code (EA00949a2+) that I can not find anywhere.
  • Looking at the datasheet for the SHT15 sensors, it seems to output I2C.
  • When looking at the board, the SHT15 is connected to the Mystery IC and then goes onto the 1-wire up to the reader.
Circuit component Passive circuit component Hardware programmer Computer hardware Electronic engineering

Is the Mystery IC the one that "bit bangs" the Temp and RH reading to the 1-wire?

Also, when you mention libraries are you building on the work done by Matt Reimer in this repository?

Thank you for your thoughts.
See less See more
  • Like
Reactions: 1
Yes, sir, it is a 2-wire with a ground wire and the power/data wire, which is the white one. I got this cable off eBay to take apart, so I am not surprised it is an older version. I am assuming the SHT15 and SHT35 are read and managed in the same way?

Thank you for helping me identify the IC as well that should help. Have you published any work you have done to build a library for the SHT35 version yet? You have made more progress on this than I have so far. Are you using an Arduino in your project?
What are the core differences you have had to make in your code to read the SHT35? Also, how has OPI labeled the old version differently than the new?

I need to get a new one, and I want to ensure I get the right one.

Looking at the datasheet on the AVR128DB28, I can see why you chose that. It does have a lot more analog capabilities.
I am trying to use some of the analog features to improve the reliability of extended onewire networks mainly the comparators(these aren't actually unique to the DB series), and I am using the internal OPAMPS and some of the filtering circuitry(Which might not stay on this path, doesn't seem to be terribly effective). When you start to get large networks there are a lot of weird analog components of the onewire waveform that can begin to manifest(ringing, reflections, EMI). I am trying to use these analog functions of the microcontroller to filter those out. They aren't necessary, but I have seen improvements compared to the basic onewire library when you have poor electrical connections or non-ideal networks, but my main goal is to help with EMI. Plus with the cross-peripheral event system, I can use the hardware peripherals to achieve incredible performance with certain functions that can outperform nearly any other arduino.
What kinds of changes did you make to the 1-wire to bit bang the I2C signal off the SHT35 to something you can read?
When you post your code, it would be great if you could drop the link. Thank you for your feedback.
Guy1000/Grain-Bin-Humidity-Cable-Reader: For reading SHT35 and DS28EA00 based humidity/temperature cables (

Sorry about that, got distracted with other things. Definitely not my best code but it is good enough as an example. If there is anything confusing on there or somethings that don't make any sense just let me know.
Thank you for the link. I now have been able to get it to work. The code help a lot to find errors in what I was doing.
1 - 7 of 14 Posts