I am quite proud of the cleanliness and ease of this method of interfacing 1wire devices, so I thought I’d share it here. I use this method specifically to interface DS18B20 temperature probes to my Beaglebone black, which is running brewery controller software Strangebrew Elsinore Server. These temperatures probes are great in that they are cheap, accurate, readily available, and can be daisy chained. In order to daisy chain 1wire devices you require a single 4.7k pull up resistor between your VCC and DQ lines. This resistor is placed somewhere between your last 1 wire device and the GPIO you are reading the digital signal on (in the case of StrangeBrew Elsinore running on a Beaglebone Black, pin P8_11 is utilized by default for this purpose).

Wiring a brewery controller can get a bit complicated, or at the very least, a bit messy. This method helps. How it works is that you daisy chain your ports right on a patch panel for however many 1wire devices you plan on reading. You can then, right on your patch panel add the pull up resister and then add your chosen method to connect with your Beaglebone Black or Raspberry Pi – I use splittable female jumper cables for this purpose. On my electric brewery control panel I have 7 of 8 ports dedicated to interfacing 1wire devices. The 8th port is used for networking. The wiring of patch panels is quite easy using a punch down tool.

You will need to use the same sort of connecters and wiring for your temperature probes (or other 1wire devices) themselves. You may choose to add a sensor to the end of an ethernet cable for this purpose, or just add the appropriate connecter to an already wired temperature probe. I’ve done both.