-
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Alejandro Mora edited this page May 8, 2026
·
3 revisions
Transmit WiFi credentials from a Flipper Zero to a Linux server via infrared.
InfraFi is a three-part system: a Flipper Zero app that encodes and transmits WiFi credentials over IR, a Linux daemon (infrafid) that receives them and connects the machine to the network, and an optional Arduino Pro Micro firmware that acts as a universal IR transceiver bridge when the host hardware has no native CIR receiver.
flowchart LR
subgraph Flipper Zero
A[InfraFi App]
A1[Manual Entry]
A2[NFC Tag Scan]
A3[Saved Networks]
A1 --> A
A2 --> A
A3 --> A
end
subgraph Linux Server
B[infrafid daemon]
B1["IR RX (LIRC or evdev)"]
B2[WiFi Connect]
B3["IR TX (ACK)"]
B1 --> B --> B2
B -.-> B3
end
A -- "IR (RC-6 or NEC)" --> B1
B3 -. "ACK (OK/FAIL)" .-> A
- You enter or scan WiFi credentials on the Flipper (manually, from an NFC tag, or from saved networks on the SD card).
- The Flipper encodes the credentials as a series of RC-6 (or NEC) IR messages and transmits them.
- The daemon on the Linux server receives the IR scancodes, reassembles the payload, verifies the CRC, and calls NetworkManager (or falls back to
/etc/network/interfaces) to connect. - Optionally, the daemon transmits an ACK back to the Flipper with the result (
OK:192.168.x.xorFAIL).
The Arduino Pro Micro firmware acts as a USB-attached IR transceiver when the server has no built-in CIR hardware, decoding IR to serial and transmitting serial-commanded IR pulses.
| Component | Path | Description |
|---|---|---|
| Flipper App | flipper/ |
Flipper Zero external app (.fap), built with ufbt
|
| Linux Daemon | daemon/ |
infrafid service, receives IR and manages WiFi |
| Arduino Firmware | arduino/ |
Pro Micro IR transceiver bridge, built with PlatformIO |
- Getting Started - Set up the full system from scratch
- Hardware Setup - Wiring diagrams, supported hardware
- Flipper App - Usage guide for the Flipper Zero app
- Linux Daemon - Daemon installation, configuration, and CLI reference
- Arduino Firmware - Build and flash the Arduino transceiver
- Protocol Specification - Frame format, encoding, ACK, CRC-8
- Troubleshooting - Common issues and fixes
Current version: 1.2.0 (shared across all components via flipper/protocol/version.h)
Getting Started
Components
Reference