# 1-WIRE

The 1-Wire protocol is a unique half-duplex communication protocol that allows devices to interact using a singular data line along with a ground reference. Though asynchronous in design, specific timing specifications are employed to differentiate between 1-Wire commands. Similar to I2C, the 1-Wire protocol utilizes an open-drain configuration at the hardware level.

<figure><img src="https://1059373410-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHsTSGN4n74wHqBYxgF3t%2Fuploads%2FsSxemJQepkW6luIUmmTM%2Fimage.png?alt=media&#x26;token=306e0786-c7df-44f1-bdf7-58a02de7736a" alt=""><figcaption><p>1-Wire command panel</p></figcaption></figure>

## Settings

<figure><img src="https://1059373410-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHsTSGN4n74wHqBYxgF3t%2Fuploads%2F3v2J7xZzeiOrE9bNinpp%2Fimage.png?alt=media&#x26;token=cfecb45e-cad3-407e-9dba-4666e16764eb" alt=""><figcaption><p>Settings sub-panel</p></figcaption></figure>

Within this segment, users can opt to use internal pull-up resistors if available in the host adapter. Accessing the Command dropdown menu reveals available ROM Commands: SKIP and SELECT (often referred to as MATCH). The SKIP command broadcasts a message to all connected target devices, while the SELECT command communicates with a specific device. If there's only one target device on the 1-Wire bus, these commands are disregarded. The SCAN button initiates a series of SEARCH commands, unveiling the 64-bit addresses of all target devices connected to the bus.

## Transfer

<figure><img src="https://1059373410-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHsTSGN4n74wHqBYxgF3t%2Fuploads%2Fpwspycx2qboKipMhDBHN%2Fimage.png?alt=media&#x26;token=a0e13551-3448-4888-8ee3-b17fe6425437" alt=""><figcaption><p>Transfer sub-panel</p></figcaption></figure>

This segment features two inputs: 'Bytes to Read' and 'Bytes to Write'. It also includes three action buttons: READ, WRITE, and TRANSFER. As with other protocols, the 'Bytes to Write' field recognizes bytes in hexadecimal format. Activating the TRANSFER button initiates a Write action, immediately followed by a Read action.
