1wire bus

1wire.jpg

1wire-2.jpg

keyes.jpg

The 1wire bus supports various low speed digital devices and is supported in Linux on the Raspberry Pi.

Raspberry Pi

Edit boot/config.txt to assign gpio4 for 1wire.

dtoverlay=w1-gpio,gpiopin=4

Reboot and after load driver.

modprobe w1_gpio

These are the GPIO header pin assignments for the 1 wire bus.

Pin Name Function
1 3V3 POWER
6 GND GROUND
7 GPIO4 DATA

The relevant pins on the Pi header are as follows.

                +---P1---+
3V3             01      02 5V
GPIO0/GPIO2     03 A/A+ 04 5V
GPIO1/GPIO3     05 B/B+ 06 GND
GPIO4           07 2    08 GPIO14/TX
                ..      ..

NB. The 1 wire data line must pulled high via 4K7 to 3V3 power.

DS18B20 Thermometer

+-------+
| 1 2 3 |
+-------+
  | | |
  | | |
  
1 GROUND
2 DATA
3 POWER
modprobe w1_therm
cat /sys/bus/w1/devices/28-041460bdd6ff/w1_slave 
8f 01 55 00 7f ff 0c 10 a0 : crc=a0 YES
8f 01 55 00 7f ff 0c 10 a0 t=24937

KEYES KY-001 DS18B20 module

This module re-orders the pins so beware.

+-------+
|DS18B20|
|       |
+-G R Y-+
  | | |
  
G GROUND
R POWER
Y DATA

DATA is pulled up via a 4K7 resistor and an LED. The LED will flash during communication with the chip.

DS2431 EEPROM

+-------+
| 1 2 3 |
+-------+
  | | |
  | | |
  
1 GROUND
2 DATA
3 NC
modprobe w1_ds2431
echo "hello world" > /sys/bus/w1/devices/2d-00000de5d608/eeprom
cat /sys/bus/w1/devices/2d-00000de5d608/eeprom
hello world

Resources

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies