ESP32 Bit Pirate

ESP32-S3 1-Wire protocol debugging

Read iButton IDs and 1-Wire sensors with ESP32

ESP32 Bit Pirate turns a compatible ESP32-S3 board into a 1-Wire scanner and timing workbench. Use it to read iButton IDs, check DS18B20-style sensors, back up small EEPROMs and debug simple one-wire buses.

1-Wire bus debugging visual with an ESP32 board, data line, pull-up and Dallas-style targets

Quick 1-Wire workflow

Start with a short, stable bus and read-only checks. Once the ROM scan is repeatable, move to the recipe that matches the device type or timing problem.

  1. 01

    Connect GND and the 1-Wire data line.

  2. 02

    Add the required pull-up from DQ to the target supply unless the module already provides it.

  3. 03

    Start 1-Wire mode on ESP32 Bit Pirate and choose the data GPIO.

  4. 04

    Scan the bus to confirm a stable ROM ID before using a device-specific shell.

  5. 05

    Continue with DS18B20 temperature reads, iButton ID work, EEPROM backup or timing sniffing.

mode 1wire
scan
read
temp
ibutton
eeprom

Example CLI flow. See the 1-Wire wiki for exact syntax, GPIO setup and firmware-specific options.

1-Wire workflows covered by ESP32 Bit Pirate

Use this overview to choose the right 1-Wire workflow before opening a detailed recipe.

Scan

ESP32 1-Wire scanner

Find Dallas-style devices on a single data line and use the ROM ID as the first clue for deeper inspection.

iButton

iButton ID reader

Read the full eight-byte ROM code from a Dallas iButton or compatible tag without writing a temporary sketch.

Sensor

DS18B20 temperature read

Confirm the sensor ROM first, then decode a temperature value after wiring, supply and pull-up are stable.

EEPROM

1-Wire EEPROM backup

Work with DS2431/DS2433-style memory devices where read-only probe, address range and verified dumps matter before writes.

Timing

1-Wire timing sniff

Observe reset, presence and bit timing when a bus is alive but higher-level reads are unstable.

Lab

Scratchpad and RW1990 tests

Run controlled lab workflows on supported writable targets after the original ID or memory content is documented.

When an ESP32-S3 1-Wire workbench helps

1-Wire debugging often starts with one question: is the device really present on the data line? A small external tool can separate contact, pull-up and timing problems from firmware problems.

Sensor bring-up

Before writing a sensor driver

Use a DS18B20 scan and temperature read to confirm DQ, ground, supply and pull-up before integrating the sensor into target firmware.

Tag bench

Before cataloging iButtons

Read the full ROM ID repeatedly and keep the family code, serial bytes and CRC together so later comparisons remain reliable.

Memory work

Before modifying EEPROM data

For 1-Wire EEPROMs, the safe path is to identify the device and save a verified backup before any erase or write action.

1-Wire hardware reminders

These notes are intentionally short. The detailed command references live in the project documentation and firmware repository.

Pull-up

The DQ data line needs a pull-up to the target supply. Missing or weak pull-ups often show up as disappearing devices or CRC errors.

Shared ground

The target and ESP32 Bit Pirate must share ground. iButtons also need reliable contact on both the data and case contacts.

Power mode

Some sensors can be parasite-powered, but a powered three-wire setup is usually easier to debug first.

Voltage levels

ESP32 GPIO uses 3.3 V logic. Use the supported level-adaptation path before probing targets outside the safe GPIO range.

Common 1-Wire problems

Most 1-Wire failures are contact, pull-up, power, cable length or timing problems. Check these before changing target firmware.

No device found

Check the data GPIO, common ground, target power, pull-up resistor and whether DQ is actually connected to the device data pin.

CRC errors

Improve contact pressure, shorten wires, verify the pull-up and repeat the read until the same ROM ID appears consistently.

Temperature fails

Confirm the DS18B20 family code, supply wiring and conversion timing before assuming the sensor is faulty.

EEPROM dump fails

Use one target at a time, confirm the device type, read a small range first and save a backup before any write or erase action.

Timing is unstable

Use short wiring, avoid noisy breadboard runs and sniff reset or presence timing before moving to longer cables.

Detailed 1-Wire recipes

These pages are the task-level 1-Wire workflows. This overview keeps the protocol-level guidance here, while each recipe covers wiring, commands and troubleshooting in detail.

Useful 1-Wire references

This page is a protocol overview. Use the site index for the full web experience, or GitHub for source code, firmware documentation and the 1-Wire command reference.

Flash ESP32 Bit Pirate

Flash a supported ESP32-S3 board before testing 1-Wire mode from the browser.

Open Web Flasher

Logic Analyzer

Capture 1-Wire-like signal activity when command-level results do not explain the bus behavior.

Open Logic Analyzer

ESP32 Bit Pirate GitHub

Check firmware source, issues and releases that affect 1-Wire support.

Open GitHub repository

1-Wire debugging FAQ

Short answers for common questions before moving into a detailed workflow.

Can ESP32 Bit Pirate scan a 1-Wire bus?

Yes. ESP32 Bit Pirate can scan a 1-Wire bus, show responding ROM IDs and use that result as the starting point for iButton, DS18B20 or EEPROM workflows.

Can ESP32 Bit Pirate read DS18B20 temperature sensors?

Yes. Use the DS18B20 workflow after wiring DQ, GND, supply and the required pull-up so the firmware can confirm the sensor ROM and decode a temperature reading.

Can ESP32 Bit Pirate work with iButton and 1-Wire EEPROM devices?

Yes. ESP32 Bit Pirate includes iButton and 1-Wire EEPROM workflows for reading IDs, backing up memory and running controlled lab tests on compatible targets.