Wiznet makers

Grace_Koo

Published March 06, 2026 ©

71 UCC

25 WCC

11 VAR

0 Contests

0 Followers

0 Following

Original Link

finik_eth

An open-source Flipper Zero FAP that adds wired Ethernet via WIZnet W5500 over SPI, with DHCP, Static IP, and Ping support.

COMPONENTS Hardware components

WIZnet - W5500

x 1


PROJECT DESCRIPTION

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

SignalFlipper Zero GPIO
SPI SCKExternal SPI bus
SPI MISOExternal SPI bus
SPI MOSIExternal 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 ItemFunction
InitW5500 initialization, MAC/IP confirmation, PHY link status
DHCPDHCP Discover → automatic IP assignment, DNS & gateway
StaticApply saved fixed IP, subnet mask, gateway, DNS
PingICMP ping to target IP ×4, display response time (ms)
ResetSoft 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

ItemDetails
PlatformFlipper Zero (STM32WB55RGV6)
Ethernet ChipWIZnet W5500 (Hardwired TCP/IP, SPI interface)
DriverWIZnet official ioLibrary_Driver
W5500 InterfaceSPI (furi_hal_spi_bus_handle_external)
CS / RST PinsPA4 / PC3
Power SupplyFlipper Zero OTG 5V output (software-controlled)
App FormatFAP (Flipper Application Package), GPIO category
FeaturesInit / DHCP / Static IP / Ping / Reset
Settings StorageFlipper Zero internal storage (file-based, persistent)
RTOSFuriOS (Flipper Zero built-in RTOS)
ReleasedFebruary 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

Documents
Comments Write