Robust 1-Wire Support for Arduino via EDS HA7S


I have purchased several devices from Embedded Data Systems (EDS) over the last few years.  Their HA7Net Ethernet 1-Wire Host Adapter makes integrating 1-Wire devices utterly painless; it is a solidly constructed, well-engineered piece of hardware.  It is also very well supported by the OWFS project.  EDS is a pleasure to work with, their staff is knowledgeable, pleasant, and responsive.

I’ve got several remote areas that I would like to monitor using 1-Wire devices, and I’d like to use some of the more obscure 1-Wire devices which I’ve purchased over the years as well.  This seemed like an excellent use case for the [amazon_link id=”B004G4XVKC” target=”_blank” container=”” container_class=”” ]Arduino Fio[/amazon_link]: low power consumption, built in LIPO support, and [amazon_link id=”B004G4ZHK4″ target=”_blank” container=”” container_class=”” ]XBee[/amazon_link] support to boot.

A bit of googling turned up several examples for simple 1-Wire interfacing using the DS18B20, but very little in the way of other devices.  I would like to use some of the 1-Wire hardware that I have accumulated in this project – a dual channel counter, LCD board, and 8-channel relay board from HobbyBoards as well as various temperature and humidity sensors from iButtonLink.  Several of the pages I found referenced Peter Anderson’s 1-Wire interface adapter, which is a nice little design but does not support chaining devices and is limited to only seven 1-Wire devices.  There are a couple of other nice libraries available with more extensive device support as well, but I haven’t yet had time to dig into them.

Because I would like to support a larger number of devices on my 1-Wire bus, I don’t think direct control via Arduino is the correct approach; 1-Wire can be notoriously finicky when it comes to timing, and I just don’t want to invest that kind of time into testing and debugging.  Dallas Semi has created some very nice driver chips which would fit the bill nicely.  The DS2482S i2C to 1-Wire bridge and the DS2480B serial to 1-Wire bridge are both quite inexpensive and would be fairly straightforward to integrate with the Arduino; The only real drawback to these is the tiny SOIC-8 package and subsequent soldering difficulties. [edit: SOIC soldering really isn’t that difficult, as I recently discovered.  Read more here.]

While downloading a new firmware release for my EDS HA7Net I stumbled across the HA7S TTL 1-Wire Host Adapter SIP; it occurred to me that this is an absolutely perfect fit for my needs.  TTL level serial I/O, simple ASCII interface, extremely low power requirements, and very reasonably priced ($17 USD).  I’ve got two on order now, will blog more once I’ve received the devices and have had a chance to play with them.

9 thoughts on “Robust 1-Wire Support for Arduino via EDS HA7S”

  1. I am also interested in using multiple 1-wire devices on an Arduino but have not been successful in using anything other than what has already been established for the DS18B20 temperature sensor. I saw this HA7S on the EDS website and was also intrigued by the possibility of interfacing it with the Arduino — a Google search put this blog at the top! I’m eager to hear any updates on your efforts.

  2. Thanks for your comment! Free time has been extremely limited lately and I’ve been focused on my Avago HDLx-2416 serial backpack project, but I’ll try to get a new post up about the HA7S in a day or two. In a nutshell, it’s a great little device, dead simple to integrate with. For short temperature-only applications with only a couple of DS18B20 sensors it would be overkill – they are easy enough to directly interface with. If, however, you have a wider variety of devices to work with and don’t want to fuss around with bit-banging and timing, the HA7S is an excellent solution.

  3. +1 … I have to deploy about 15 1-wire 18b20’s in an installation, and it seems to me that handling the 1-wire bus with one of these is a ‘Good Idea’ [tm] – I’ll be following your progress with interest =)

    1. The module is painfully easy to work with, EDS did an excellent job on this one. You won’t be disappointed if you buy the device.

      Time has been really hard to come by lately, but I’ll post an update as soon as I get a few free moments.

      1. indeed … I just had a read through the datasheet and they have done a spiff job of it — my next real challenge is going to be finding one in .AU (to avoid $40 postage on a $17 bit =) … {sigh ;-}

  4. I’m seriously dying to get a peek at your code. I’ve got a pile of DS1820s, a ha7s, a greenhouse with solar heating that needs monitoring (science!) and a weekend I’d like to fill with coding.

    Any tiny little code snippet would be appreciated!

    1. Sorry for the late reply – for some reason WordPress stopped notifying me when I have a new post! I’m currently on vacation but will get some code posted to my github account when I get home. In general talking to the ha is straightforward; interpreting the binary results requires reading the data sheets.

      1. Thanks for the reply. Can’t wait to see some of your code, as I’m a real bootstrap-type learner. Have a great rest of your vacation.

  5. Did you ever get to posting your arduino code with using the HA7S? I am looking to operate 21 1-wire temperature probes running on an arduino or if this chip works well enough directly to a logomatic v2 from sparkfun.

Leave a Reply

Your email address will not be published. Required fields are marked *