OWFS

the One Wire File System
My approach to implementing a 1 wire network.


A low cost passive network hub that while looking like a star network implementation, results in a single linear transmission line yet still allows for the flexibility and convenience of a star like physical installation.

First view of a small operational passive hub. Parts purchased from one of the "big box" hardware stores and assembled in less than an hour. Two device chains shown connected and under test.




This is a 3D rendition of a sensor module for the 1-wire network. Currently there are a number of makers of modules like this that use either RJ11 or RJ45 connectors but there doesn't appear to be any standardization for pinout. The module shown is designed to work with the passive hub to maintain the single linear network link regardless of sensor placement. Did you get that...a single linear network. Now in addition, the point-to-point cable connections follow EIA-568-B for Cat3, 5 or 6 cable normally used for Ethernet network connections. An installer doesn't have to think about new or custom wiring configurations.

RHTsensorUpdate - May 30, 2012
Finally... after four iterations, the Humidity/Temperature sensor circuit was finally ready. Basically another me-too RH sensor but I wanted to have more flexibility that would allow for the testing of several slight circuit variations to see if performance can be enhanced.

Thirty eight dollars and 21 days yielded eight professional quality boards. That comes out to just $4.75 a board which puts the piece price below the price paid for someone else's version. And the layout also incorporates the linear transmission method I talked about above.

ArduinoComing Soon!
Arduino...
I know everybody's doing something with an Arduino. Resources abound.

I've completed one project and am starting on a second. Pictured is an Arduino with the Atmel ATmega2560. The LCD display and keypad costs about seven or eight dollars via eBay. It's definitely "buyer beware" though. I found that the version I received had a design flaw in the backlight control circiut. As a work-around it made sense to use the data direction register to switch between High-Z and Low. Setting the backlight pin High could potentially damage the micro-controller since there was no series resistor between the base of an NPN transistor and the I/O pin. I discover this while probing around on the board and noted .7V instead of maybe 4.7V or so. Luckily the micro-controller survived. I can't recall if the AVR has short-circuit protection but better safe than sorry. Maybe the switch circuit should have used an N channel MOSFET instead but the schematic downloaded from DF-Robot showed an NPN transistor. DF-Robot has since modified their layout but there is probably a boat load of these Version 1 shields out there.

I'm guessing the display was transitioning when this photo was taken so please excuse the garbage status message.
So why am I talking about Arduino here with the One-Wire-File-System? Well... to implement a OWFS into the Arduino, of course. Yes there is a fair amount of published code out there claiming to do this but what I've found is fairly rudimentary.

A recent discovery regarding these really low cost Arduino LCD shields... The Hitachi HD44780 chip set used is the more limited "A00" Chinese ROM version. As a result, the preferred "A02" font set that includes more usable graphic symbols is not available. Any additional symbols needed have to be written and stored in provided user space. I had to look into this when I found there was no proper Backslash, one of the characters need to implement a twirling progress symbol, "-\|/". The Backslash, "\" 0x5C , is instead something else. What do you expect for seven dollars?

DHT22Update July 10, 2012
The Arduino displaying low cost DHT22 sensor output in Fahrenheit plus dew point calculation. Initially tried a few DHT11 sensors but found such large discrepancies in output between sensors that I just pitched them. So far the DHT22 sensors seem much better behaved and given their cost, seem worth considering.
ArduinoRH1Status Display Organization
Now with sensor status shown one page at a time. PageUp and PageDown buttons implemented on the LCD shield.
RH1enclosureSensor Enclosure
And here, the completed enclosure for the Temperature/Humidity Sensor PCB.
Dallas DS1820 Temperature Sensors
Here, paging through the temperature only sensors, two per page, the AUX sensor is inside our freezer to verify that the math calculations work correctly. Yup, looks good. Again, all temperatures are in Fahrenheit.

Software Milestones

  • DHT Driver Complete
  • Low Level OneWire Complete
  • DS1820 Driver Complete
  • DS2438 Driver Complete
  • Humidity and Dew Point Math Implemented
  • DS2406 DIO Driver Complete
  • Intellectual Property: DS2406 emulation, as CH2406 on the Atmel ATtiny85
  • Intellectual Property: owLCD based on CH2406 w/User Interface on the Atmel ATmega328
  • Intellectual Property: owSoil based on CH2406, plant soil moisture sensor


  • Hardware Milestones

  • OneWire owRHT Temperature/Humidity Sensor Complete
  • OneWire owDIO DC Input/Output Module
  • OneWire owACI AC Input Module
  • OneWire owACO AC Output Module
  • OneWire owMOTION PIR Sensor Module
  • OneWire owGD Garage Door Interface Module
  • OneWire owTEMP Mini Temperature Sensor Module
  • OneWire owTAP Passive Network Splitter: 1 in, 2 out