Category Archives: XBee

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.