Reading iButton keys
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.
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 key’s data with your Flipper Zero, do the following:
Go to Main Menu -> iButton -> Read.
Connect the key to the data and ground pins, as shown below.
Once the reading is finished, view the key’s data.
To save the key, go to More -> Save.
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.
- 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 isn’t successful, the error can’t be fixed. To learn more, see the CRC reading error section below.
You can edit the UID of the saved key by doing the following:
Go to Main Menu -> iButton -> Saved.
Select the key you want to edit and select Edit.
Enter the required value in hex.
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.
When you have a key saved on your Flipper Zero, you can emulate it by following these steps:
Go to Main Menu -> iButton -> Saved.
Select the key you want to emulate.
Place your Flipper Zero against the iButton reader, making sure the data and ground pins touch it as shown below.
- 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)
- 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.
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.
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.