Skip to content

onewire

Boris Lovosevic edited this page Jan 27, 2018 · 10 revisions

machine Module

Class Onewire

This class includes full support for Onewire devices using the ESP32 RMT peripheral to achieve very precise timing

1-Wire is a device communications bus system designed by Dallas Semiconductor Corp. that provides low-speed data, signaling, and power over a single conductor.
1-Wire is similar in concept to I²C, but with lower data rates and longer range. It is typically used to communicate with small inexpensive devices such as digital thermometers and weather instruments. A network of 1-Wire devices with an associated master device is called a MicroLAN.
One distinctive feature of the bus is the possibility of using only two wires: data and ground. To accomplish this, 1-Wire devices include an 800 pF capacitor to store charge, and to power the device during periods when the data line is active.

Connecting 1-wire device.

ESP32 Device
any ouput capable port
External pull-up resistor (1K - 4.7K)
to +3.3V is needed
D (data pin)
GND GND
+3.3V Vdd (optional)

The 1-wire devices can be connected in two power modes:

  • Normal power, +3.3V is connected to the device's Vdd pin
    Normal Power
  • Parasite power, device's Vdd pin is connected to the GND pin, the needed power is supplied by the data pin
  • The used Power mode is detected automatically by the driver
  • All devices connected to the same 1-wire bus must operate in the same mode

Normal power mode connection:
Normal Power

Parasite power mode connection:
Parasite power


Create the Onewire instance object

ow = machine.Onewire(pin)

Clone this wiki locally