Fact-checked by Grok 2 weeks ago

1-Wire

1-Wire is a half-duplex, bidirectional that uses a single data line plus ground reference to connect a master device to one or more slave devices, enabling low-speed data exchange in applications requiring minimal wiring. Developed by Semiconductor in the early 1990s, the was later advanced by following its acquisition of Dallas in 2001, and is now maintained by after Maxim's integration in 2021. Each 1-Wire slave device features a unique 64-bit ROM code for individual addressing, consisting of an 8-bit family code, a 48-bit , and an 8-bit for error checking, allowing up to hundreds of devices on a single bus. The protocol operates asynchronously with the master initiating all transactions, supporting standard speeds of 16.3 kbit/s and an mode up to 142 kbit/s for compatible devices, while utilizing open-drain signaling with a on the bus. Power delivery is achieved through parasitic powering from the data line via an internal and in slave devices, eliminating the need for a separate in many cases, though external powering is possible for higher-performance needs. This design supports voltage ranges from 1.71 V to 5.25 V depending on the device family, making it suitable for battery-powered and harsh environments with high ESD protection. Key applications of 1-Wire include temperature sensing (e.g., DS18B20 sensors), secure and identification (e.g., iButton devices for ), data logging, and in industries such as , medical devices, and industrial . Its low pin-count advantage reduces system complexity and cost, particularly in scenarios involving momentary contacts or long cable runs up to 100 meters with proper design. Over time, the ecosystem has expanded to include cryptographic features like SHA-256 and ECDSA for enhanced security in consumables verification and .

Introduction

History and Development

The 1-Wire protocol was invented by Dallas Semiconductor in as a proprietary single-wire interface designed to enable low-cost communication and power delivery for sensors and portable data modules, minimizing the need for multiple pins in microcontroller-based systems. This innovation stemmed from the motivation to simplify wiring and reduce component costs in applications requiring minimal connectivity, such as and identification devices, by combining data signaling and power over one line plus ground. The foundational for the one-wire bus architecture was filed on May 15, , and issued on May 11, 1993, to inventor Robert D. Lee and assignee Dallas Semiconductor Corporation. Key milestones in the protocol's development include the introduction of the iButton in 1989, a durable, button-shaped device encapsulating 1-Wire chips for applications like and , which popularized the technology for wearable and rugged environments. Dallas Semiconductor was acquired by Products in 2001 for approximately $2.5 billion in stock, integrating 1-Wire into a broader portfolio of analog and mixed-signal semiconductors. In 2021, was acquired by , which now maintains the 1-Wire technology. In the early 2000s, Maxim released detailed specifications through resources like the Book of 1-Wire Standards, making the protocol more accessible for third-party development while maintaining proprietary device implementations. The 1-Wire technology evolved from its initial focus on simple temperature sensing devices, such as the DS1820 introduced in the mid-1990s, to more advanced secure authentication chips supporting cryptographic functions for anti-counterfeiting in the 2000s. By the , it saw widespread integration into embedded systems for applications, driven by its low-pin-count advantages in battery-powered and space-constrained designs. Patent expirations, including key ones around 2010 for pre-1995 filings and 2017 for related extensions like US6108751, further enabled broader adoption by removing licensing barriers for non-Maxim implementations.

Overview and Key Features

The 1-Wire protocol is a half-duplex, bidirectional bus system that enables communication, device addressing, and power delivery over a single data line plus ground reference. Developed by Dallas Semiconductor in the early and now maintained by following acquisitions, it supports master-slave architectures where a central controller manages multiple peripherals. Key features include the ability to connect up to hundreds of devices on a single bus (limited primarily by total bus capacitance), each identified by a unique 64-bit code, with standard data rates of 16.3 kbps and overdrive speeds up to 142 kbps for faster operations on compatible devices. Many devices operate in parasitic power mode, deriving energy from the line without needing a separate supply, which simplifies integration in remote or battery-constrained setups. The protocol's timing is self-clocking, using voltage-level transitions for synchronization, and it accommodates cable runs up to 100 meters in typical configurations with proper termination. Advantages of 1-Wire include its low cost, minimal wiring requirements (just one signal wire plus ground), and robustness for adding functionality to non-electronic objects, such as sensors in harsh environments. However, its half-duplex nature limits simultaneous bidirectional throughput, resulting in low overall speeds unsuitable for high-bandwidth applications, and the single-line design makes it susceptible to electrical noise and reflections over longer distances. Compared to multi-wire protocols like or , 1-Wire is simpler and more economical for infrequent, low-data-rate tasks such as sensing or , though it trades off speed and complexity for reduced pin count and wiring simplicity.

Physical Interface

Wiring and Topology

The 1-Wire interface employs a simple physical connection consisting of a single open-drain bidirectional data line, denoted as , and a shared reference, GND. The DQ line operates without a dedicated , relying instead on timing generated by the master device for communication. This configuration enables half-duplex bidirectional data transfer over just two wires. The DQ line is pulled high to the supply voltage, typically in the range of 3.0 V to 5.5 V, using an external connected between DQ and the positive supply. The recommended pull-up resistor value is generally 2.2 kΩ for short bus lengths, providing adequate current for fast rise times while minimizing power consumption; for longer buses or higher , lower values such as 500 Ω to 1 kΩ may be necessary to ensure fast rise times and maintain , potentially requiring active pull-up circuits for extended lengths. To protect against (ESD), it is advisable to incorporate dedicated ESD devices, such as the DS9503, in series with the DQ line, which offers ESD protection greater than 27 (IEC 801-2 ) when used with circuits having strong ESD protection at their I/O ports, while introducing minimal . The network for 1-Wire is fundamentally a , supporting multiple slave devices connected to a single without addressing conflicts resolved via unique 64-bit codes. A linear topology is preferred, where the bus forms a straight line from the master to the farthest slave, with any stubs or branches limited to under 3 meters to avoid signal reflections and ensure reliable communication. Star topologies, involving long branches from a central point, are discouraged unless segments are switched individually to simulate a linear path. The maximum bus length is approximately 100 meters at standard communication speed, though this is derated based on total bus , with practical limits extending to 200 meters using a simple pull-up in low-capacitance setups. Suitable cable types include unshielded twisted-pair (UTP) such as Category 5e, which has a typical of 50 per meter and helps reduce . In noise-prone environments, shielded twisted-pair cables are recommended to further minimize and external noise pickup. Total bus , including contributions from cables, devices (typically 50–100 each), and PCB traces (about 24 per meter equivalent), must be managed to maintain , with standard-speed operations tolerating up to several nanofarads depending on the pull-up strength and master drive capability.

Power Supply Methods

1-Wire devices can be powered in two primary modes: standard mode, which uses a dedicated pin, and parasitic mode, which derives directly from the data line. In standard mode, compatible devices feature a separate pin connected to an external power source, typically ranging from 3V to 5.5V, while the 1-Wire data line serves solely for bidirectional communication signaling. This approach allows devices to maintain stable operation without relying on the data line for , making it suitable for applications requiring consistent power delivery independent of communication activity. Parasitic power mode, employed by the majority of 1-Wire devices, eliminates the need for a separate power pin by sourcing energy from the 1-Wire bus during idle periods when the line is held high by a , typically 2.2kΩ. Devices charge internal capacitors through an on-chip and network, with a minimum pull-up voltage (VPUP) of 2.8V required for reliable operation in most cases. During communication, particularly write operations that pull the line low, the bus master must apply a strong pull-up (low-impedance bypass) to deliver , ensuring the voltage does not drop below operational thresholds and preventing . Power budgeting is essential in 1-Wire networks to manage current demands, as individual devices typically draw up to 1-4mA during active states, with the total bus current limited by the pull-up resistor and supply voltage. The available current can be estimated as (V_PUP - V_PUP_min) / R_PUP, where V_PUP_min is the minimum operating voltage (typically 2.8 V), often yielding approximately 1 mA for a 5 V system with a 2 kΩ resistor; exceeding this risks voltage sags, especially in multi-device topologies or 3.3 V environments (V_IL, the input low voltage of 0.3 V to 0.8 V depending on the system, is relevant for logic level recognition but distinct from power considerations). For systems operating at 3.3V versus 5V, a lower minimum pull-up resistor (e.g., 725Ω) may be necessary to maintain adequate current while respecting logic levels. Certain 1-Wire devices, such as the DS18B20 temperature sensor, support both standard and parasitic modes, allowing flexibility in design by connecting the pin to for parasitic operation or to an external supply for standard mode. Switching between modes enables optimization for specific scenarios, like battery-powered setups where parasitic mode reduces wiring complexity and quiescent current but demands careful timing of strong pull-ups to conserve energy during extended low-activity periods. In battery-constrained applications, this dual-mode capability helps balance power efficiency with functionality, though parasitic operation may limit performance for power-intensive features like EEPROM writes without supplemental bypassing.

Communication Protocol

Basic Communication Sequence

The 1-Wire protocol operates in a half-duplex manner over a single bidirectional data line, where the master device controls communication by initiating all transactions and slaves respond only during designated slots. The master begins each communication sequence with a reset , pulling the line low for a minimum of 480 μs (typically up to 960 μs) to alert connected slaves. Upon detecting the rising edge as the master releases the line, each slave waits 15–60 μs before pulling the line low for 60–240 μs to signal its presence, confirming readiness for data exchange. A recovery time of at least 1 μs follows the presence before further signaling, though parasitic power modes may require additional time slots for slave charging to maintain . Data transmission occurs in fixed 60 μs time slots at standard speed (16.3 kbps), with the master driving the line low to start each slot and slaves responding during read operations. To write a logic 0, the master holds the line low for the full slot duration of 60–120 μs, ensuring the voltage remains below the threshold until the slot ends. For a logic 1, the master pulls low briefly for 1–15 μs before releasing, allowing the line to rise high for the remainder of the 60 μs slot. Read slots follow a similar pattern: the master initiates with a low pulse of 1–15 μs, then samples the line state 15 μs after the slot start (within a window up to 15 μs max), where slaves drive low for 0 bits or leave high for 1 bits. These timings ensure reliable bit detection despite variations in pull-up resistors and cable capacitance. For higher-speed operation at 142 kbps, 1-Wire supports an mode with shortened time slots of approximately 7.5 μs. Note that overdrive mode is supported only by compatible devices; others remain at standard speed or ignore the command. Entry into overdrive mode is achieved by sending the Overdrive Skip ROM command (0x3C) or Overdrive Match ROM (0x69) at standard speed following a standard reset, after which subsequent communication uses faster overdrive timings (e.g., write 0 low for 6–16 μs, write 1 low for 1 μs, read sample at 2 μs) until a standard reset pulse (≥480 μs low) is issued. Overdrive reset pulses (48–80 μs low) can then be used for additional transactions in overdrive mode. Exit from overdrive is achieved via a standard-speed reset pulse exceeding 80 μs low. This mode accelerates bulk data transfers but demands precise timing control to avoid errors from noise or signal reflections. To ensure amid potential noise-induced errors on the shared line, the protocol incorporates , typically 8-bit for short commands or 16-bit for longer data blocks, computed using the x^8 + x^5 + x^4 + 1. The master verifies received data by recalculating the CRC and comparing it to the slave-provided value; mismatches trigger retries via a new reset sequence. This mechanism provides robust error detection without complex acknowledgments, supporting reliable operation in noisy environments.
ParameterDescriptionMin (μs)Max (μs)Source
tRSTLReset low time (standard)480
tPDHPresence detect high time1560
tPDLPresence detect low time60240
tW0LWrite 0 low time (standard)60120
tW1LWrite 1 low time (standard)115
tRL/tMSRRead low/sample time (standard)115

ROM Commands and Family Codes

The 1-Wire employs a 64-bit (ROM) code for each device to enable unique identification on a multi-device bus. This ROM consists of an 8-bit family code indicating the device type, a 48-bit unique assigned during manufacturing for pseudo-unique global addressing, and an 8-bit (CRC) computed over the preceding 56 bits to verify integrity. ROM commands facilitate device selection and discovery following a bus reset and presence detection sequence. The Read ROM command (0x33) retrieves the full 64-bit ROM of a single device on the bus. The Match ROM command (0x55) selects a specific device by transmitting its complete 64-bit ROM, allowing subsequent function commands to target that device alone. The Skip ROM command (0xCC) bypasses ROM-level addressing to broadcast to all devices, useful for single-device networks. The Search ROM command (0xF0) enumerates all devices via , while the Alarm Search command (0xEC) performs a similar enumeration but only for devices with active alarm conditions, such as temperature thresholds in sensors. The Search ROM and Alarm Search commands utilize a deterministic to detect and list devices without collisions. This algorithm traverses a conceptual of the 64-bit ROM space by repeatedly reading a bit position from all responding devices and its complement; if both bits differ (a discrepancy), the master branches by writing a 0 or 1 to resolve the ternary state (all 0s, all 1s, or mixed). Discrepancies are recorded and revisited in subsequent passes until all devices are identified, ensuring efficient discovery even with up to dozens of devices. The pseudo-unique 48-bit serial numbers, combined with family codes, provide a 56-bit exceeding 72 quadrillion possibilities, minimizing collision risks in practical networks. Family codes serve as the primary identifier for device capabilities and supported commands. The following table lists selected major family codes with representative device types:
Family Code (hex)Representative DevicesDevice Type Description
01DS1990A, DS2401, DS2411Address-only (silicon serial number)
04DS1994, DS24044 kb nonvolatile RAM with timers/alarms
05DS2405Single-channel addressable switch
09DS1982, DS25021 kb EPROM
10DS1920Temperature logger with alarms
12DS2406, DS2407Dual-channel switch with 1 kb EPROM
14DS1971, DS2430A256-bit EEPROM with OTP register
20DS2450Quad-channel analog-to-digital converter
23DS1973, DS24334 kb EEPROM
24DS1904, DS2415Real-time clock
27DS2417Real-time clock with interrupt
28DS18B20, DS18S20Digital thermometer
29DS24088-channel addressable switch
2DDS1972, DS24311 kb EEPROM
41DS1922, DS1923High-resolution temperature/humidity logger

Memory and Function Commands

After ROM selection via commands such as Match ROM, 1-Wire devices respond to memory and function commands that enable data read/write operations and specialized executions. These commands operate on the device's or functional registers, typically using a half-duplex over the single data line. Common memory commands include Read Memory (0xF0), which allows the to specify a starting address (often two bytes) and sequentially read data bytes until the end of the page or memory, returning logic 1s to indicate completion. Similarly, Read Page commands retrieve data from specific 32- or 64-byte pages in multi-page EEPROMs like the DS2433. Writing to memory involves a two-step verification process to ensure . The Write Scratchpad command (0x0F) transfers data to a temporary 8- or 32-byte buffer, where the master provides the followed by the data bytes; the device then returns a CRC-16 value over the and data for verification if the ending is specified correctly. Following successful verification, the Copy Scratchpad command (0x55) copies the buffer contents to non-volatile , requiring the master to resend the and ending as an authorization pattern; this , which takes up to 10 , often demands a strong pullup for sufficient power delivery. A Read Scratchpad command (0xAA) can precede copying to confirm the buffer contents and . Function commands execute device-specific operations beyond basic memory access. For temperature sensors like the DS18B20, the Convert T command (0x44) initiates a self-timed -to-digital conversion, typically lasting 94 ms at 12-bit , after which the master can read the result from the scratchpad. In devices such as the DS2431, the Recall Data command copies stored data back to the scratchpad for reading, aiding in non-destructive access. Protection features include Write Protect and Read Protect bits, often set via dedicated commands or during Copy Scratchpad; these bits lock specific pages against writes or reads, with being permanent in some EPROM-style devices. The typical command flow begins with a ROM command to select the target device, followed by the function command byte, address/data exchange using write/read time slots, and a recovery time before the next slot. Error recovery relies on mechanisms: if communication fails, removing power for at least 1.5 seconds or issuing a returns the bus to , allowing reinitialization. Security enhancements in memory commands include modes for one-time programmable devices, where bits can only transition from 1 to 0, using redirection bytes to simulate updates without altering original data. prevents unauthorized duplication by locking memory post-write, while certain device families, such as 0x23 for SHA-256 authenticators (e.g., DS28E15) and 0x40 for ECDSA (e.g., DS28E36), incorporate like SHA-256 or ECDSA for secure during Read/Write operations.

Devices and Applications

Common 1-Wire Devices

The 1-Wire protocol supports a diverse range of devices, each identified by a unique 8-bit family code within its 64-bit , enabling the master to select and command specific functions like access or conversion. Common devices fall into categories such as , , secure , and peripherals, with operating voltages typically between 2.8 V and 5.25 V and quiescent currents under 1 µA to minimize power draw. Packages vary from compact or SOIC for to rugged stainless-steel iButton cans for portable and tokens. Temperature Sensors
The DS18B20 is a widely used programmable-resolution digital thermometer offering 9- to 12-bit temperature measurement with a range of -55°C to +125°C and accuracy of ±0.5°C from -10°C to +85°C; it supports parasite power and uses the Convert T command for initiating measurements. Its predecessor, the DS18S20, provides similar performance but fixed 9-bit resolution and is compatible as a in many systems. Both devices feature a unique 64-bit and are available in , SOIC, or module packages, with conversion times from 93.75 ms at 9-bit to 750 ms at 12-bit resolution.
Memory Devices
The DS199x series of iButton memory devices provides non-volatile storage in durable metal-encased packages with touch or 1-Wire contacts, offering capacities from 1 Kb (DS1991/DS1992) to 64 Kb (DS1996) of EEPROM or NVRAM for data logging and portable storage. These devices include a 256-bit scratchpad for verified writes and support up to 100,000 write cycles, with family codes like 0x81 for DS1991. The DS2433 offers 4 Kb of 1-Wire EEPROM organized as 16 pages of 256 bits, suitable for product-specific data logging, featuring a 256-bit scratchpad and write protection via authorization data. It operates in TO-92 or Flip Chip packages with a communication speed of 16.3 kbps standard or 142 kbps overdrive.
Secure and Authentication Devices
The DS1961S iButton integrates 1 Kb of with a cryptographic engine for challenge-response , including a 64-bit secret and 1128 bits of user EEPROM, enabling secure transactions in F5 MicroCan packages. It supports write-once secrets and up to 50,000 partial writes, with family code 0x33. The DS28E04 provides 4 Kb (4096 bits) of addressable 1-Wire with four programmable I/O (PIO) pins for status monitoring, organized as 16 pages of 32 bytes plus a scratchpad, in SOIC-16 packages. PIO inputs feature activity latches and pullups, with family code 0x2D and support for seven address inputs mapped to the device ID.
Other Devices
For environmental sensing, the DS1923 iButton logger records and in 8 kB of nonvolatile , with integrated sensors for -20°C to +85°C and 0% to 100% relative , mission timestamps, and sampling intervals down to 1 minute. The DS2450 quad A/D converter digitizes four analog inputs with 16-bit resolution and programmable ranges (2.56 V or 5.12 V ), using successive approximation and a 1-to-4 in SOIC-8 packages. The DS2408 serves as an 8-channel addressable switch with open-drain PIO outputs (100 Ω on-resistance) and flexible input configurations, including pullups and activity sensing, in SOIC-16 or PDIP-16 packages with family code 0x29.
Device selection begins with the family code from the ROM search, matching application needs such as sensor precision, memory endurance (e.g., 100,000 cycles for ), or security features like ; resources like ' device tables aid in identifying compatible commands and power requirements.

Typical Use Cases

1-Wire technology finds prominent application in sensor networks, particularly for temperature monitoring in (HVAC) systems, where its simplicity enables efficient deployment of multiple probes. In , 1-Wire sensors facilitate and temperature probing, supporting precision farming by allowing daisy-chained configurations that connect numerous devices over extended cabling without complex wiring. This multi-sensor daisy-chaining capability reduces installation costs and enhances scalability in distributed networks, as sensors share a single bus for data transmission. Asset tracking leverages iButton devices, which utilize 1-Wire for secure identification in systems, such as electronic keys for building entry or vehicle authorization. These key fobs, embedded with unique 64-bit IDs, also support inventory management by tagging assets like tools or pallets, enabling quick RFID-like scanning in warehouses. In driver management, iButtons attached to key rings allow electronic assignment of vehicles, streamlining fleet operations without traditional keys. In embedded systems and (IoT) setups, 1-Wire integrates seamlessly with microcontrollers like and for building weather stations that monitor environmental parameters over low-cost networks. Automotive electronic control units (ECUs) employ 1-Wire authenticators to secure endpoints against counterfeiting, ensuring in systems. The DS18B20 temperature sensor exemplifies this integration in monitoring applications. Industrial applications capitalize on 1-Wire for data logging in harsh environments, where stainless steel iButton packaging withstands extreme conditions like , , and fluctuations. Its low-power consumption and support for long-distance cabling—up to several hundred meters with proper design—make it ideal for remote monitoring in factories or oil fields, minimizing wiring complexity while maintaining reliability. Early adoption of 1-Wire included Semiconductor's iButton in keyless entry systems for vehicles, where touch-based replaced mechanical keys for secure access. In smart home contexts, custom integrations have paired 1-Wire sensors with thermostats via microcontrollers, such as auxiliary monitoring bridged to early Nest setups.

Implementation and Tools

Hardware Development Tools

Hardware development tools for 1-Wire systems facilitate prototyping, interfacing, and by providing physical connections between computers, , and 1-Wire devices. These tools enable developers to test bus , verify , and evaluate device functionality without custom hardware from the outset. Key categories include adapters for direct connectivity, evaluation kits for comprehensive testing, integration components, and instruments for signal analysis. Adapters such as USB-to-1-Wire bridges simplify connection to personal computers, allowing enumeration and interaction with 1-Wire networks via standard ports. The DS9490R from (formerly ) is a prominent example, featuring an RJ11 for accommodating 1-Wire receptacles and with a high-speed USB up to 12 Mbps, supporting standard and overdrive 1-Wire speeds, at 5 V supply. iButton probes and readers, like the DS1402-RP3 cable, enable physical contact with iButton devices for reading serial numbers and data, often used in or prototypes. Evaluation kits provide integrated platforms for exploring 1-Wire masters and slaves. The DS9090K kit from includes hardware components and supporting software to operate 1-Wire products in a PC , facilitating ROM search functions to identify connected devices. Logic analyzers equipped with 1-Wire decoding, such as those from Saleae, capture and interpret bus signals for troubleshooting multi-device interactions. Microcontroller interfaces typically leverage a single GPIO pin configured as open-drain with an external (e.g., 4.7 kΩ to 5V) to implement the 1-Wire master protocol, as demonstrated in implementations with Microchip PICmicro devices. For systems operating at mismatched voltages, level shifters ensure compatibility; for instance, a simple resistor divider or dedicated IC like the MAX14591 can translate between 3.3V microcontroller GPIO and 5V 1-Wire devices while preserving signal timing. Debugging tools focus on electrical and timing verification. Oscilloscopes are essential for observing 1-Wire waveforms, confirming pulses (480–960 μs low), write-1 slots (1–15 μs low), and presence detect responses to ensure compliance with timings. Bus capacitance meters help quantify total line loading to ensure proper signal rise times; for extended , capacitance can be managed up to several thousand with appropriate pull-up methods and selection to support long runs. These tools connect via the standard 1-Wire topology of a single data line plus ground.

Software Support and Libraries

The 1-Wire protocol benefits from a range of official and community-developed software libraries that facilitate implementation across various platforms, particularly for embedded systems and personal computers. (formerly ) provides the 1-Wire Public Domain Kit, a C-based designed for portability across PC, handheld, and environments. This kit includes for low-level bus operations, over 20 sample applications, and routines for resource-constrained microcontrollers without C compilers, supporting features like ROM search and device enumeration. For higher-level development, the 1-Wire for offers an object-oriented framework with classes for device containers and , enabling on Java-compatible platforms. Additionally, the Compact .NET 1-Wire , written in C#, targets Windows CE and Mobile platforms, providing managed code access to 1-Wire functions via USB adapters like the DS9490. Platform-specific support extends these core libraries. On , the kernel's w1 subsystem handles 1-Wire master-slave communication through drivers such as w1-gpio for GPIO-based interfaces and w1_ds18b20 for sensors, exposing devices via the filesystem for user-space access without custom drivers. For microcontrollers, the OneWire library implements the protocol in C++, supporting reset, presence detection, and bit-level I/O, with compatibility for devices like the DS18B20 sensor; it has been maintained and expanded since its initial release in 2007. In , the onewire package serves as a wrapper for the OWFS (1-Wire ) C-API, allowing filesystem-like access to 1-Wire networks on supported , compatible with both Python 2.7 and 3.x. Code examples in these libraries often demonstrate key operations like the ROM search algorithm, which enumerates all devices on the bus using a traversal. The algorithm begins with a Search ROM command (0xF0), then iteratively reads bit pairs from devices and writes a directing bit to branch the search, continuing until all 64-bit ROM codes are discovered or no devices remain; this is implemented in the Kit's SearchROM and Arduino's search . For reading from a DS18B20, typically involves: (1) reset and presence pulse; (2) Skip ROM (0xCC) or Match ROM (0x55) with the device ; (3) Convert T command (0x44); (4) wait for conversion (e.g., 750 ms at 12-bit ); (5) Read Scratchpad (0xBE) to retrieve the 16-bit value, converting it to via (scratchpad | (scratchpad << 8)) / 16.0. Best practices for 1-Wire software emphasize robust error handling, including timeout mechanisms during and slot detection to prevent hangs on noisy buses—typically setting a 500 µs limit for presence detect—and avoiding interrupts during critical timing windows like the 480 µs write-zero to ensure compliance. Open-source contributions since 2010, such as enhancements to the OneWire library for parasite power support, have improved reliability and performance in multi-device networks.

References

  1. [1]
    Overview of 1-Wire Technology and Its Use - Analog Devices
    Jun 19, 2008 · This article provides a general overview of Maxim's 1-Wire® technology, its communication concept and the benefit of low pin count package ...
  2. [2]
    Low-Pin-Count Serial Communication: Introduction to the 1-Wire Bus
    Mar 9, 2020 · 1-Wire Basics​​ The 1-wire bus was developed by Dallas Semiconductor, and Dallas was acquired by Maxim, so as far as I know Maxim is the current ...Missing: history | Show results with:history
  3. [3]
    US5210846A - One-wire bus architecture - Google Patents
    Application filed by Dallas Semiconductor Corp. 1989-05-15. Priority to US07352581. 1993-05-11. Publication of US5210846A. 1999-06-29. Publication of ...
  4. [4]
    1-Wire® Extended Network Standard - Analog Devices
    Dallas Semiconductor created the 1-Wire standard in 1989 to reduce the contacts for portable data-carrying modules. The result of this was the invention of i ...Missing: open | Show results with:open
  5. [5]
    An introduction to the Java Ring | InfoWorld
    In the summer of 1989, Dallas Semiconductor Corp. produced the first stainless-steel-encapsulated memory devices utilizing the Dallas Semiconductor 1-Wire ...
  6. [6]
    Maxim completes acquisition of Dallas Semiconductor - EE Times
    Maxim Integrated Products, Inc., announced today that it has completed its acquisition of Dallas Semiconductor Corp. upon receiving the approval of Dallas ...Missing: date | Show results with:date
  7. [7]
    1-Wire Software Resource Guide Device Description
    Jul 8, 2008 · This document provides an overview of the available resources and a selection guide. The current 1-Wire devices are also presented in a convenient table.
  8. [8]
    Our Experience Designing a 1-Wire Sensor Prototype | Cardinal Peak
    Dallas Semiconductor (DS) developed the basic principles of 1-Wire in the early 1990s. The communications protocol and bus timing are still sometimes referred ...
  9. [9]
    [TIDM-1WIREFREEPROM] Any patent on 1-Wire bus? - TI E2E
    May 18, 2016 · ... patent US6108751, it has expired in 2012: www.google.com/.../US6108751 Anyway, it would be great to have the TIDM-1WIREFREEPROM available ...
  10. [10]
    [PDF] DS2450 1-Wire Quad A/D Converter - Analog Devices
    A multidrop bus consists of a 1-Wire bus with multiple slaves attached. At regular speed the 1-Wire bus has a maximum data rate of 16.3k bits per second.Missing: key | Show results with:key<|control11|><|separator|>
  11. [11]
    Guidelines for Reliable Long Line 1-Wire Networks - Analog Devices
    Nov 16, 2001 · The 1-Wire protocol was originally designed for communication with nearby devices on a short connection, such as adding auxiliary memory on a ...
  12. [12]
    Reading and Writing 1-Wire® Devices Through Serial Interfaces
    To provide 1-Wire connectivity to USB ports, Maxim has developed the DS2490 USB to 1-Wire bridge chip. Although not as strong as the DS2480B, the DS2490 can ...
  13. [13]
    DS9503 Datasheet and Product Info - Analog Devices
    $$0.62 In stockThis DS9503 is an ESD protection device for 1-Wire® interfaces. In contrast to the DS9502, the DS9503 includes two 5Ω isolation resistors on chip.
  14. [14]
    How to Power the Extended Features of 1-Wire® Devices
    Jun 17, 2008 · VIL varies from 0.3V to 0.8V, depending on the 1-Wire device. With multiple 1-Wire devices on the bus, the lowest VIL sets the limit.
  15. [15]
    [PDF] DS18B20 - Programmable Resolution 1-Wire Digital Thermometer
    Power is instead supplied through the 1-Wire pullup resistor through the. DQ pin when the bus is high. The high bus signal also charges an internal capacitor ...<|control11|><|separator|>
  16. [16]
    1-Wire Communication Through Software - Analog Devices
    May 30, 2002 · The four basic operations of a 1-Wire bus are Reset, Write 1 bit, Write 0 bit, and Read bit. Byte functions can then be derived from multiple ...1-Wire Communication Through... · Code Examples · Example 2. 1-Wire Basic...<|control11|><|separator|>
  17. [17]
    1-Wire Search Algorithm - Analog Devices
    The 1-Wire search algorithm uses a binary tree to find devices by following branches until a device's ROM number is found, using a 'read two bits, write one ...
  18. [18]
    [PDF] DS2433 4Kb 1-Wire EEPROM - Analog Devices
    The protocol required for these ROM function commands is described in Figure 9. After a ROM function command is successfully executed, the memory functions ...
  19. [19]
    DS18B20 Datasheet and Product Info - Analog Devices
    The DS18B20 is a programmable 1-Wire digital thermometer with a range of -55°C to +125°C, ±0.5°C accuracy from -10°C to +85°C, and a unique 64-bit serial code.
  20. [20]
    [PDF] DS18S20 High-Precision 1-Wire Digital Thermometer
    The DS18S20 measures 9-bit Celsius temps, has an alarm, uses 1-wire, parasite power, measures -55°C to +125°C with ±0.5°C accuracy from -10°C to +85°C.
  21. [21]
    Comparison of the DS18B20 and DS18S20 1-Wire® Digital ...
    DS18B20 and DS18S20 have the same resolution/accuracy, but DS18B20 allows resolution selection, while DS18S20 is a drop-in replacement with 12-bit conversion.  ...
  22. [22]
    [PDF] DS1992/DS1993 1Kb/4Kb Memory iButton - Analog Devices
    The hardware of the DS199x provides a means to accomplish error-free writing to the memory section. To safeguard reading data in the 1-Wire environment and to ...
  23. [23]
    DS2433 Datasheet and Product Info - Analog Devices
    The DS2433 is a 4Kb 1-Wire EEPROM with a unique 64-bit registration, 256-bit scratchpad, and 16.3kbps communication speed (142kbps overdrive).Data Sheet 1 · Application Note 2 · Design Note 1
  24. [24]
    DS1961S Datasheet and Product Info - Analog Devices
    The DS1961S is an iButton with 1Kb EEPROM, SHA-1 engine, 1-Wire communication, and a unique 64-bit registration number. It has a write-only secret and 1128 ...Ds1961s · Documentation · Application Note 1
  25. [25]
    DS28E04-100 Datasheet and Product Info - Analog Devices
    The DS28E04-100 is a 4096-bit, 1-Wire® EEPROM chip with seven address inputs. The address inputs are directly mapped into the 1-Wire 64-bit Device ID Number to ...
  26. [26]
    [PDF] DS28E04-100 4096-Bit Addressable 1-Wire EEPROM with PIO
    The DS28E04-100 has five main data components: 1) 64-bit device ID number, 2) 32-byte scratchpad, 3) sixteen 32-byte pages of EEPROM, 4) Special Function ...
  27. [27]
    DS1923 Datasheet and Product Info - Analog Devices
    The iButton temperature/humidity logger (DS1923) is a rugged, self-sufficient system that measures temperature and/or humidity and records the result in a ...
  28. [28]
    DS2450 Datasheet and Product Info - Analog Devices
    The DS2450 1-Wire® Quad A/D Converter is based on successive-approximation analog to digital converter with four to one analog multiplexer.Documentation · Data Sheet 1 · Application Note 2
  29. [29]
    DS2408 Datasheet and Product Info - Analog Devices
    The DS2408 is an 8-channel, programmable I/O 1-Wire® chip. PIO outputs are configured as open-drain and provide an on resistance of 100Ω max. A robust PIO ...
  30. [30]
    [PDF] DS2408 - Analog Devices
    The DS2408 is an 8-channel, programmable I/O 1-Wire chip. PIO outputs are configured as open-drain and provide an on resistance of 100Ω max. A robust PIO ...
  31. [31]
    PTS-D Waterproof 1-Wire Digital DS18B20 Temperature Sensor
    The PTS-D Waterproof 1-Wire Digital DS18B20 Temperature Sensor offers advanced temperature measurement capabilities. ... HVAC, machinery, and process monitoring.
  32. [32]
    MT05S 1-Wire Soil Moisture Sensor, EC and Temperature Sensor
    Jan 7, 2020 · MT05S is a 1-Wire soil moisture sensor, measuring soil moisture content, temperature and EC(Conductivity) according to the order information.
  33. [33]
    Connecting Sensors with 1-Wire on Raspberry Pi - Pidora
    Dec 25, 2024 · If you're using multiple 1-Wire sensors, you can connect them in parallel by sharing the VCC and GND pins and connecting each sensor's DQ pin to ...Hardware Requirements · Setting Up 1-Wire On... · Reading Sensor Data With...
  34. [34]
    DS1990A-F5+ iButton 64 bit ROM - iButtonLink
    In stock Free delivery over $250This iButton can be used as a key in access control systems, inventory control applications, work-in-progress tracking, or other applications.
  35. [35]
  36. [36]
    Dallas Semiconductor/iButton - Wireless Design Online
    Aug 31, 2000 · What is an iButton? The iButton™ is a 16mm computer chip armored in a stainless steel can. Let's start with the package.Missing: introduction | Show results with:introduction
  37. [37]
    Weather Station - Raspberry Pi Forums
    Nov 19, 2021 · there is quite few weather stations projects using 1-wire. All you need is USB to 1-wire interface or i2c to 1-wire bridge DS2482S sensor examples here ...Weather Station Components - Raspberry Pi ForumsSimple Car project - Raspberry Pi ForumsMore results from forums.raspberrypi.comMissing: automotive | Show results with:automotive
  38. [38]
    1-Wire Weather Station - Exhibition - Arduino Forum
    Jan 12, 2009 · I have a AAG 1-wire weather station with an additional temperature sensor and an additional count sensor for my home made rain gauge.
  39. [39]
    Add Authentication Security to Automotive Endpoints Using the 1 ...
    Electronically protect automotive endpoints from counterfeiting, theft, and data manipulation with single authenticator IC using the 1-Wire interface.
  40. [40]
    iButton® and 1-Wire® Technology - Analog Devices | DigiKey
    May 12, 2020 · Analog Devices' iButton devices are small, durably packaged modules, each with a globally unique digital address.
  41. [41]
    Nest Thermostat to Home Assistant via 1-Wire, Arduino and MQTT
    Sep 22, 2022 · Connecting our Nest Thermostat 3rd Gen to Home Assistant via 1-wire and an Arduino Uno to capture the 1-wire sensor data.
  42. [42]
    DS9490R Datasheet and Product Info - Analog Devices
    The DS9490R is a USB bridge with 1-Wire® RJ11 interface to accommodate 1-Wire receptacles and networks. For a list of suitable 1-Wire network cables, refer to ...
  43. [43]
    iButton Accessories - Analog Devices
    iButton® accessories are used to establish physical and electrical connections to the device. Attaching an iButton to an asset to be tracked or a key fob ...Missing: keyless entry
  44. [44]
    DS9090K 1-Wire Device Evaluation Kit Rev B4
    The DS9090K provides the hardware and software necessary to evaluate and operate 1-Wire® products in an easy-to-use PC environment.
  45. [45]
    Saleae 1-Wire Analyzer - GitHub
    The following documentation describes how to build this analyzer locally. For more detailed information about the Analyzer SDK, debugging, CI builds, and more, ...
  46. [46]
    1-Wire Communication with a Microchip PICmicro Microcontroller
    Sep 16, 2003 · The microcontrollers have multiple general-purpose input/output (GPIO) pins, and can be easily configured to implement Maxim's 1-Wire protocol.
  47. [47]
    How to Level Shift 1-Wire Systems | Analog Devices
    Over the recent years, the three most common voltage levels amongst transistor-transistor logic (TTL) devices are 1.8V, 3.3V, and 5V. Being able to "shift" ...
  48. [48]
    1-Wire Protocol: A Guide to Timing and Waveforms - NodeLoop
    Verify with an Oscilloscope: The best way to debug 1-Wire issues is to observe the signals on an oscilloscope. This immediately reveals timing problems that ...
  49. [49]
    1-Wire Public Domain Kit - Analog Devices
    Measures the humidity using a DS2438-based humidity sensor. humalog, Sets and ... Test application for exercising the DS2432, and DS1961S on a 1-Wire network.
  50. [50]
    1-Wire API for Java SDK (Software Development Kit) - Analog Devices
    The 1-Wire API for Java Software Development Kit (SDK) is a robust, highly object-oriented foundation for building 1-Wire applications in Java.
  51. [51]
    1-Wire SDK (Software Development Kit) for Windows - Analog Devices
    The 1-Wire SDK includes Compact.NET 1-Wire API is aimed at Windows® CE/Mobile platforms and was written entirely in C# for Microsoft's Compact .NET framework.
  52. [52]
    Introduction to the 1-wire (w1) subsystem
    The w1 subsystem provides the framework for managing w1 masters and communication with slaves. All w1 slave devices must be connected to a w1 bus master device.Missing: w1_master_slave | Show results with:w1_master_slave
  53. [53]
    PaulStoffregen/OneWire: Library for Dallas/Maxim 1-Wire Chips
    Library for Dallas/Maxim 1-Wire Chips. Contribute to PaulStoffregen/OneWire development by creating an account on GitHub.Missing: API | Show results with:API
  54. [54]
    onewire · PyPI
    May 10, 2017 · A wrapper for OWFS C-API, compatible with both Python 2.7 and Python 3.x. Navigation. Project description; Release history; Download files ...
  55. [55]
    1-Wire "w1" Subsystem Seeing More Activity With Linux 6.5 - Phoronix
    Jun 2, 2023 · The Linux 1-Wire "w1" subsystem is used for supporting drivers with hardware that communicates via a single wire (plus ground) in a simple master-slave ...Missing: w1_master_slave | Show results with:w1_master_slave
  56. [56]
    Maxim buys Dallas Semi for $2.5 bln - CNET
    Article confirming the acquisition of Dallas Semiconductor by Maxim Integrated Products for about $2.5 billion in stock in 2001.