1-Wire Basics

A 1-Wire network is, as the name suggests, based around a single wire that allows bidirectional data transfer as well as, in most cases, providing power to the devices on the network. The name is in some ways a slight misnomer as you do need a ground connection as well.

In the most basic form a 1-Wire network consists of a 1-Wire Master and a number of Slave devices. The master device is either a PC Host adapter (most commonly a USB DS9490R these days) or a module such as our RPI1, RPI2 or RPI3 attached to a Raspberry Pi.

The slave devices can be anything from a huge range, including native devices such as the DS18S20 temperature sensor and other devices such as the DS2438 that enable you to interface non 1-Wire devices such as humidity and pressure sensors into your 1-Wire network.

Each slave device has its own unique 64 bit ID programmed into it. No two 1-Wire slave devices have the same ID and so this ID is used to identify slave devices on your network, allowing you to connect a large number of 1-Wire devices and still communicate with them individually.

The 1-Wire network is designed to work as a bus, rather than a star. This means you should design your network so that the sensor devices are connected in one long line starting at the master and not so that there are several cables from the master heading out to sensors in all directions. Most of our modules feature a pair of RJ45 sockets to allow you to easily connect your sensors in a bus topology using standard ethernet cables.

The exception to this is that short stubs are allowed. Maxim define this as 3m long at most. This enables you to, for example, use our SWE2 or SWE2a modules to connect SWE0 sensors (which come with a 2m cable as standard) into your network.

If there is no way to design your network without ending up with a star topology and you are using a Raspberry Pi then you could consider using our RPI3 as your bus master which provides 8 separate 1-Wire channels allowing you to build 8 separate 1-Wire busses heading out in different directions from your master. If you are not using a Raspberry Pi but are using a PC or other device capable of running OWFS then you have the option of using multiple DS9490R masters if that helps with your network design.

The maximum network length depends on many factors so it is not easy to give a firm guide as to what will work and what will not. As a general rule we do not recommend you build each bus on your network with more than a total of 100m of cable. However cable quality and routing play a big part in determining how well a network will work. We recommend Cat5e or Cat6 cable, and that you route it as far away as possible from mains cables and appliances (especially electrically noisy ones).