Main Content

Interfacing Multiple DS18B20 Digital Temperature Sensors with Arduino

One of the biggest advantages of DS18B20 is that multiple DS18B20 can coexist on the same 1-Wire bus. As each DS18B20 has a unique 64-bit serial code burned in at the factory, it’s easier to differentiate them from one another.

The following tutorial demonstrates how to interface multiple DS18B20 on a single bus & get temperature readings from each of them. This feature can be a huge advantage when you want to control many DS18B20s distributed over a large area.

It may look intimidating, but you should be familiar with basics of DS18B20 one-wire temperature sensor, before venturing further into this tutorial. Consider reading through below tutorial first.

Wiring Multiple DS18B20 Sensors to Arduino
Connections are fairly simple.

Start by connecting all the DS18B20s in parallel i.e. common all the VDD pins, GND pins & signal pins. Then connect VDD to the 5V out on Arduino, GND to Arduino ground and connect signal pin to digital pin 2 on arduino.

Next, you’ll need to add one 4.7k pull-up resistor for whole bus between the signal and power pin to keep the data transfer stable. (internal pull-ups on the arduino does not work)”

Link to article