finik_eth
An open-source Flipper Zero FAP that adds wired Ethernet via WIZnet W5500 over SPI, with DHCP, Static IP, and Ping support.
Wired Ethernet for Flipper Zero — W5500-Based Network FAP, finik[eth]
An open-source FAP (Flipper Application Package) that connects a WIZnet W5500 module to Flipper Zero's GPIO pins, enabling DHCP, Static IP, and Ping — all controlled directly from the device screen.
finik[eth] ports WIZnet's official ioLibrary Driver to the Flipper Zero platform, connecting a W5500 Ethernet module via SPI over the external GPIO header. Network settings persist on the device's internal storage, and the entire interface is operated through Flipper Zero's 128×64 OLED display and directional buttons. Released by developer karasevia in 2024.
Background: Flipper Zero, and the One Thing It's Missing
Flipper Zero is a handheld multi-tool that emerged from a 2022 crowdfunding campaign. It packs sub-1GHz radio, NFC, RFID, infrared, Bluetooth, and GPIO into a pocket-sized device — and exploded in popularity among security researchers, pentesters, and the hacker community worldwide. It raised roughly 25× its Kickstarter goal, and the official open-source firmware has tens of thousands of stars on GitHub.
But Flipper Zero has no wired Ethernet. Wi-Fi can be added via an optional ESP32 module, but 802.3 wired networking is not officially supported. For network diagnostics, industrial environment testing, or any scenario that demands a stable wired LAN connection, there's a clear gap.
finik[eth] fills that gap with WIZnet W5500.
WIZnet's Role: W5500 Connected to Flipper Zero via SPI
Networking in this project is handled entirely by the WIZnet W5500 — a hardwired TCP/IP Ethernet controller that communicates with the host MCU over SPI.
Why W5500 Works Well on Flipper Zero
Flipper Zero's MCU is the STM32WB55, a multi-protocol processor that simultaneously runs Bluetooth and Zigbee wireless stacks. Adding a software TCP/IP stack like LwIP on top of that would place significant pressure on both memory and CPU. W5500's hardwired stack offloads all protocol processing to the chip itself, keeping the host MCU free.
Pin Connection
| Signal | Flipper Zero GPIO |
|---|---|
| SPI SCK | External SPI bus |
| SPI MISO | External SPI bus |
| SPI MOSI | External SPI bus |
| CS (Chip Select) | PA4 |
| RST (Reset) | PC3 |
| Power (5V) | OTG output (software-enabled) |
Power delivery is handled neatly: the app enables Flipper Zero's USB OTG output (furi_hal_power_enable_otg()) in software to supply 5V to the W5500 module, and cuts it automatically when the app exits. No external power supply needed — the module runs entirely off Flipper Zero's battery.
How It Works: FAP Architecture and Worker Threads
finik[eth] is built as a FAP (Flipper Application Package) in the GPIO category. The app is organized in three layers:
[finik_eth_app] ← UI event loop, screen rendering
│
[eth_worker] ← State machine + network processing thread
│
[ioLibrary_Driver / W5500] ← WIZnet official driver
Supported features and UI menu:
| Menu Item | Function |
|---|---|
| Init | W5500 initialization, MAC/IP confirmation, PHY link status |
| DHCP | DHCP Discover → automatic IP assignment, DNS & gateway |
| Static | Apply saved fixed IP, subnet mask, gateway, DNS |
| Ping | ICMP ping to target IP ×4, display response time (ms) |
| Reset | Soft reset of the W5500 module |
All network settings — MAC address, IP, subnet mask, gateway, DNS, and ping target — are saved to Flipper Zero's internal storage and persist across power cycles.
What Makes This New
Flipper Zero's FAP ecosystem has many GPIO-related apps, but a wired Ethernet FAP using W5500 is essentially the first of its kind. Two aspects stand out:
- Platform novelty: Porting WIZnet's ioLibrary to the Flipper Zero + STM32WB55 environment required bridging Flipper Zero's FuriHAL SPI abstraction layer with WIZnet's callback-based driver interface — a non-trivial integration not previously documented publicly.
- Use-case novelty: Adding wired Ethernet to a security research tool means network diagnostics become possible even in isolated, wireless-denied environments where Wi-Fi-based tools can't operate.
Where This Could Go
- Network security testing: With DHCP, Static IP, and Ping as a foundation, extensions like port scanning, ARP spoofing detection, and packet capture are natural next steps.
- Industrial field diagnostics: Wired LAN diagnostics in factories, data centers, or other environments where Wi-Fi is unavailable or unreliable.
- Embedded networking education: Flipper Zero's accessible GPIO header combined with W5500's simple socket API makes this a hands-on learning platform for embedded networking concepts.
Tech Stack Summary
| Item | Details |
|---|---|
| Platform | Flipper Zero (STM32WB55RGV6) |
| Ethernet Chip | WIZnet W5500 (Hardwired TCP/IP, SPI interface) |
| Driver | WIZnet official ioLibrary_Driver |
| W5500 Interface | SPI (furi_hal_spi_bus_handle_external) |
| CS / RST Pins | PA4 / PC3 |
| Power Supply | Flipper Zero OTG 5V output (software-controlled) |
| App Format | FAP (Flipper Application Package), GPIO category |
| Features | Init / DHCP / Static IP / Ping / Reset |
| Settings Storage | Flipper Zero internal storage (file-based, persistent) |
| RTOS | FuriOS (Flipper Zero built-in RTOS) |
| Released | February 2024 |
FAQ
Q. Which W5500 module should I use? Any W5500-based module with an SPI interface will work. Connect CS to PA4 and RST to PC3 as defined in the code, and draw 5V power from Flipper Zero's OTG output.
Q. Can Flipper Zero's battery actually power the W5500 module? Yes. The app activates the OTG 5V output via furi_hal_power_enable_otg() and shuts it down automatically when the app exits. Battery drain will be higher than normal during operation, but it is fully self-contained.
Q. I already have the Wi-Fi module (ESP32). Do I really need wired Ethernet? They serve different purposes. The Wi-Fi module is built for wireless environments. Wired Ethernet provides stable connectivity in wireless-denied or high-noise industrial settings, and from a security testing perspective, wired and wireless networks are fundamentally separate attack surfaces.
Q. Can it do TCP/UDP socket communication beyond DHCP and Ping? The current release covers DHCP, Static IP, and Ping. Since W5500 supports 8 hardware sockets, extending this codebase to support TCP/UDP communication is technically straightforward — the foundation is already in place.
Q. Is it available on the official Flipper Zero app store? Yes, it is listed in the official Flipper Zero catalog (catalog.flipperzero.one). Search for finik_eth in the Flipper Zero mobile app or the web catalog to install it.
Q. Can it be adapted for other WIZnet chips like W6100? The current code is W5500-specific. W6100 supports SPI but uses a different register map and driver. Switching would require replacing the ioLibrary driver with the W6100 variant and updating the initialization code accordingly.
Project Links
- finik_eth: karasevia/finik_eth
- Flipper Zero firmware: flipperdevices/flipperzero-firmware
- WIZnet W5500 product page: https://www.wiznet.io/product-item/w5500/

