Flipper Zero читает iButton-ключи через встроенные контакты на торце корпуса, но у этого способа есть ограничение: таблетку нужно плотно прижать к двум площадкам, что неудобно с ключами на кольце или в нестандартных держателях. Внешний iButton-ридер, подключённый к GPIO-пинам, решает эту проблему — контакт получается надёжнее, а ключ можно просто приложить к зонду, как к обычному домофонному считывателю.

В этой статье разберём, как собрать внешний считыватель iButton для Flipper Zero, какие пины задействовать, как читать, эмулировать и записывать ключи, а также какие ошибки встречаются чаще всего.

Что такое iButton и зачем нужен внешний ридер

iButton — это семейство электронных ключей в формате «таблетки», работающих по протоколу 1-Wire от Dallas Semiconductor (ныне Maxim Integrated). Самый распространённый тип — DS1990A, который при касании передаёт уникальный 48-битный серийный номер. Именно такие ключи используются в домофонах, СКУД и системах доступа.

У Flipper Zero есть встроенные контакты iButton на торце корпуса, и для большинства задач их достаточно. Однако внешнее подключение даёт несколько преимуществ:

  • 🔌 Удобный зонд-держатель — ключ фиксируется в гнезде, а не прижимается рукой к плоским площадкам.
  • 📏 Возможность вынести считыватель на проводе — полезно при работе с ключами в труднодоступных местах.
  • 🛠️ Стабильный контакт при записи болванок — меньше сбоев из-за дрожания руки.
  • 🧲 Некоторые держатели имеют пружинный механизм, который сам прижимает таблетку.

Важно понимать: внешний ридер не добавляет новых функций — он лишь дублирует встроенный интерфейс через GPIO, делая работу удобнее.

Схема подключения внешнего iButton к GPIO

Протокол 1-Wire требует всего двух линий: данных и земли. На Flipper Zero для iButton используется пин GPIO 17 (1W) — это выделенный контакт, к которому внутри уже подключён подтягивающий резистор. Земля берётся с любого пина GND на гребёнке.

Схема подключения внешнего считывателя:

  • 🔵 Центральный контакт держателя таблетки (данные) → пин 17 (1W).
  • ⚫ Внешний ободок держателя (земля) → пин GND (например, пин 8 или 11).
  • 🚫 Никакого дополнительного питания не требуется — ключ пассивный.

В качестве держателя подойдёт стандартный считыватель-зонд для домофонных ключей (продаётся как «считыватель DS1990» или «контактор для Touch Memory»), а также панелька с пружинными контактами. Провода желательно использовать короткие — до 15–20 см, иначе возможны сбои чтения из-за ёмкости линии.

💡

Если под рукой нет готового держателя, можно аккуратно прижать два провода с Dupont-коннекторами к центру и ободку таблетки — для разового чтения этого достаточно.