iButton

Reading iButton keys

Document image


Flipper Zero enables you to conveniently read, save, and emulate iButton access control keys with Dallas, Cyfral, and Metakom protocols. Additionally, you can modify the unique IDs (UIDs) of saved keys.

This page provides detailed instructions on how to read, save, edit, and emulate keys using your Flipper Zero, as well as troubleshooting common problems.




How to read iButton keys

Flipper Zero can read the following types of iButton keys and their respective data:

  • Dallas DS1990: only the UID (the key has no memory)
  • Dallas DS1992: the UID and data in memory
  • Dallas DS1996: the UID and data in memory
  • Dallas DS1971: the UID and data in memory
  • Dallas, unsupported keys: only the UID
  • Metakom: only the UID (the key has no memory)
  • Cyfral: only the UID (the key has no memory)

To read and save an iButton keys data with your Flipper Zero, do the following:

1

Go to Main Menu -> iButton -> Read.

2

Connect the key to the data and ground pins, as shown below.

Document image

3

Once the reading is finished, view the keys data.

Document image

4

To save the key, go to More -> Save.

5

Name the key, then press Save.

Now that you have saved the key, you can emulate, rename, delete, edit, and write it to a blank or a key of the same type.

If reading failed

  • The iButton key might not touch the pins correctly. -> Make sure you connect the key as shown above.
  • The iButton key might use an unsupported protocol.
  • The iButton key might be damaged.
  • If you got a CRC error while reading a Dallas key. -> Read the key again and try emulating it. If the emulation isnt successful, the error cant be fixed. To learn more, see the CRC reading error section below.


Editing saved iButton keys

You can edit the UID of the saved key by doing the following:

1

Go to Main Menu -> iButton -> Saved.

2

Select the key you want to edit and select Edit.

3

Enter the required value in hex.

Document image

4

Press Save, then enter a new name of the key and press Save again.

You can also create a virtual iButton key using the Add Manually function.



Emulating saved iButton keys

When you have a key saved on your Flipper Zero, you can emulate it by following these steps:

1

Go to Main Menu -> iButton -> Saved.

2

Select the key you want to emulate.

3

Place your Flipper Zero against the iButton reader, making sure the data and ground pins touch it as shown below.

Document image



If emulation failed

  • The Flipper Zero pins might not touch the reader correctly. -> Make sure you connect Flipper Zero pins to the reader as shown above.
  • The middle pin (ground) can’t reach the reader’s rim. -> You can use wires to emulate the iButton key. Transfer data to the reader with two wires inserted into Flipper Zero’s GPIO pins:
    • GPIO pin 17 (data)
    • GPIO pin 8, 11, or 18 (ground)



Use can also emulate iButton keys with the help of wires.
Use can also emulate iButton keys with the help of wires.

  • The reader is protected against emulation. -> Flipper Zero can’t bypass it.
  • If you added the key manually or edited it, you might have entered an incorrect key UID.


CRC reading error

Dallas keys have a UID key structure that contains 8 bytes, including the family code byte and Cyclic Redundancy Check (CRC) byte. The CRC byte helps ensure data integrity by detecting errors that may have occurred during data transfer or storage.

The Dallas key’s UID includes a family code, CRC, and serial number.
Dallas key’s UID includes family code, CRC, and serial number


Whenever you read an iButton key, Flipper Zero checks the CRC byte for correctness by recalculating it. If the captured CRC byte doesn’t match the calculated one, a CRC error occurs, indicating that the UID is corrupted.

Flipper Zero will display the expected correct CRC byte
Flipper Zero will display the expected correct CRC byte