Inspiration
At CalHacks, we noticed the Wi-Fi was frequently unstable and slow. This isn’t unique to hackathons — in large-scale environments like airports, hotels, or conferences, access points become oversubscribed, airtime contention skyrockets, and latency jitter explodes. The result is sticky SSH sessions, frozen video calls, and multi-second delays for simple web requests.
We wanted to solve this fundamental bottleneck: what if we could aggregate multiple Wi-Fi uplinks to create a composite connection with higher throughput, lower jitter, and improved reliability — effectively bonding consumer networks into one? This started off as a side exploration but quickly became a product with many technicla challenges and revisions.
What it does
WeeFi is a multi-uplink router that uses multiple Wi-Fi interfaces to combine their bandwidth and minimize latency. The device duplicates each outbound packet across all active uplinks, then transmits these encapsulated packets to a remote aggregation server. The earliest arriving response is returned to the client, effectively achieving request-level hedging and path diversity to mitigate congestion and packet loss.
Under the hood, a Raspberry Pi 5 acts as a software-defined router managing six concurrent Wi-Fi interfaces. A custom UDP-based multipath tunneling protocol encapsulates traffic with per-packet 64-bit sequence IDs for deduplication and reordering, yielding a single logical, resilient network interface for end devices.
We built:
A product which you can bring anywhere you go and plug in to instantly get fast WiFi connection. No more hotel throttled bandwidths or slow hackathon WiFis. We built:
- A working prototype router with six concurrent Wi-Fi radios.
- A low-latency, congestion-adaptive VPN tunneling stack.
- A KiCAD-designed PCB fan-out board for PCIe Wi-Fi adapters with proper RF isolation and power conditioning.
How we built it
We experimented with several system architectures — Linux bonding, nftables packet duplication, WireGuard multipath extensions, GRE encapsulation — before implementing our own minimal multipath VPN stack optimized for high packet-rate and deterministic latency.
Our tunnel operates in user space with raw UDP sockets, supporting checksum verification, packet deduplication, and flow hashing. The Raspberry Pi creates a virtual tun0 interface bridged with Ethernet and exposes a DHCP-NAT environment to clients. On the backend, a custom Go-based relay server aggregates packets from all paths and ensures in-order delivery to the destination.
On the hardware side, we designed and milled a custom PCIe fan-out HAT for the Pi to attach multiple AX1800/AX210 Wi-Fi adapters with clean 5 V rails, external antenna connectors, and thermal management for continuous 1 Gbps+ aggregate throughput.
Challenges we ran into
There were many technical challenges to getting WeeFi working. This isn't something which is currently experimented with in WiFi, and the technology including Multipath TCP has long been a challenge in adoption.
As such, a core challenge was Multipath TCP (MPTCP) behavior on heterogeneous links. Prior research (e.g., BLEST, IEEE 7497206) shows that naive subflow scheduling causes head-of-line blocking. Our implementation circumvents this by performing per-packet duplication at the transport layer, decoupled from TCP’s retransmission semantics.
We also faced hardware-level interference — adjacent 2.4/5/6 GHz antennas on the same board cause mutual desensitization. We resolved this through spatial diversity, band separation, and external antenna routing. Achieving deterministic latency under Linux required deep tuning of IRQ affinity, CPU isolation, and queue discipline (fq_codel) for each interface.
Accomplishments that we're proud of
Despite the challenges we're proud of what we created, notably
- End-to-end functional UDP-based multipath tunneling stack with deduplication, selective retransmission, and real-time performance metrics.
- Consistent SSH latency reduction from 220 ms → 70 ms under congested conditions.
- Successful PCB design and validation of the custom six-port PCIe fan-out HAT with integrated regulators and thermal routing.
- Empirical verification of self-interference mitigation through antenna geometry and band allocation.
What we learned
Building WeeFi required merging low-level networking, kernel configuration, and embedded hardware design. We learned how traditional MPTCP implementations degrade under real-world interference and how lightweight user-space transport control can outperform them. We also developed a deep understanding of RF isolation, USB3 signal integrity, and cross-layer optimization between link aggregation and user-space networking stacks.
What's next for WeeFi
Although it's hard to get a fully-fledged product in just 36 hours, we managed to create the technical stack and get an initial MVP up. We built a case for the adapters and RPi, but this isn't practical for consumers so we also designed a custom PCB which includes the functionality in modular form.
Our next steps are to:
- Implement authenticated encryption and replay-protection handshakes for secure multiplexing.
- Extend WeeFi into two adaptive operation modes:
- Latency mode — duplicates small, interactive packets (SYN, DNS, ACKs) while payloads stay on a selected best-path link.
- Bandwidth mode — dynamically load-balances new flows across interfaces (ECMP) or via MPTCP subflows.
- Mode switching can be triggered via REST API or physical control on the PCB.
- Finalize the KiCAD PCB design, validate RF traces and impedance control, and prepare the board for initial consumer testing
As developers productivity is key and we designed a product that we would have loved to use - even for Calhacks! This was a fun opportunity to hack around with Wifi adapters and something we hope to make useful as a general device and tool for developers/users.
(Disclaimer: at 12:32 PM we edited the video link to fix a typo where we had a capital I instead of lowercase L in the link)
Built With
- dhcp
- digitalocean
- nat
- postman
- rust
- tcp
- tun
- wireguard

Log in or sign up for Devpost to join the conversation.