I would like to present my project, a portable router build, and show you how to use it to build devices for your purposes. You may have seen portable routers for sale, but if you have been in the hacking world long enough, you may have noticed that they have what is called a “coverage gap.” The Pi-hole project is a household staple that continues to be commercialized through shady Kickstarter campaigns, the “mobile hotspot” button is a staple of any self-respecting mobile or desktop OS, and “ISP router reset devices” are a genre of hacker projects. If you sort projects on Hackaday.io by “all-time” popularity, you will see the OpenVPN and Tor router projects at the very top. There is a reason why this project is there, and why it was a semi-finalist in the 2014 Hackaday Prize.
I have many devices that benefit from both Internet connectivity and point-to-point connections. Sometimes the Internet connection is from an LTE uplink, sometimes from an Ethernet cable, sometimes from an open WiFi network with a portal that you have to click before you can ping it. If I want to link a pocket device to my home network for backup or home automation, I can install a VPN client on my laptop, but installing a VPN client on my phone will drain my battery. So it makes sense to VPN my Internet uplink. Somehow this functionality should not be native, not to mention DNSSEC. Portable LTE+WiFi[+Ethernet] If you buy a router and actively use it for a month or two, you’re going to run into a serious hardware or firmware bug – this is to be expected, since routers are niche products and don’t get as much testing as mobile phones.
Solving these problems and implementing the features I need is very motivating for me. Not only do I need the device to work for me, but every time I work on a project like this, I also push the boundaries of cool tech, find some fun things to share with you guys, and ultimately create another device that I use to significantly improve my own life. Plus, the router is a sea of proprietary hardware combined with proprietary software, and it shows. The Pi-hole project is aimed at cutting profit margins, and it’s a Tor network, so you won’t see it on commercial devices. Has your Huawei portable router run out of battery? You’ll have a hard time finding a replacement. Does your router randomly shut down due to overheating? If you take any measures and lose your warranty, or send it for weeks to be repaired and there’s no guarantee it will be repaired, the stars will help you. If it’s made by Asus, the stars will help you.
Feature Planning
You’ll need a router with an always-on WiFi AP, LTE, Ethernet and optional WiFi Station interface. For software, you’ll need to run a lightweight VPN client like Wireguard to route your traffic, as well as a host of quality-of-life features, from proper static IP assignment and DNS configuration features to captive portal auto-clicking and DNSSEC. The best part about building your own hardware is that you get to choose your battery, and can choose as big a cell as you want, so getting it to last a day shouldn’t be too hard.
You can also choose your own CPU, LTE modem, and power management circuitry. Thankfully, most of these building blocks are already in place and have been covered before. We’ll start with the CPU and move on to choosing the LTE modem next time.
Over the last decade, you may have seen some interesting boards with 0.5GHz CPUs, 64-512MB external RAM, hardware-realized WiFi and Ethernet interfaces, SPI Flash for firmware, lots of GPIOs, OpenWRT shipped by default, and no video output interface. You may have misunderstood their purpose and bought them for generic Raspberry Pi-grade projects. It’s a router-CPU board built into a maker-friendly form factor. It’s amazingly effective at routing packets, but not great for streaming video. I know this because the first time I bought one with the intention of running mjpg-streamer, the CPU went to 100% in a blink of an eye as soon as I set it to the right resolution.
There are a lot of such boards out there: VoCore, Carambola boards, the fondly remembered BlackSwift board, LinkIt boards, and the Onion Omega module. Of these, the Onion Omega 2 is the newest as far as I know, so I picked one up locally for cheap with a breakout. Contrary to the name, it has nothing to do with Tor routing, but I’d like to change that. The Omega-designed breakout is disappointing in my eyes. It uses a powerbank IC to add battery backup functionality, with all the inefficiencies and bugs that come with it. As you may already know, there’s no need to do that.
Still, it ships with OpenWRT, is pretty open, and has everything you need. I started this project in 2018, and luckily I made the right choice. The Onion Omega repository is active to this day, so to this day, you can restart the project by simply reflashing OpenWRT to a newer version. If you don’t do this, you can’t make any meaningful use of the repository, which is a big part of the fun.

Could I choose something more powerful? Yes, of course. The Raspberry Pi has a powerful enough CPU to handle anything I want to hack. In fact, many of today’s boards boast faster CPUs and better peripherals. But my gut feeling is that native WiFi and Ethernet are key. I don’t want to connect everything I need via USB, as that would limit my speeds to a 480 Mbps limit. I also want to be sure that the module I choose is up to the task, even in aspects I can’t foresee yet, so going with a router CPU feels right.
That means I’m okay with limiting the Internet uplink in some way, as long as I get a lot of great features in return. I can do some market research later to see if there are more suitable boards I can integrate, but until then, I can’t find any like this. Do you have any suggestions for better CPU boards for portable routers? Please share your thoughts in the comments below.
Selection Results
So what I tried to do is to use the Onion Omega as a personal WiFi repeater, without integrating an LTE uplink for now. I used it in a half-finished configuration as a portable router, and here’s what I noticed: First, the WiFi adapter allows a combination of STA (Station = Client) and AP (Access Point = Hotspot) modes. This might seem like a very nifty feature to you, and it was to me. At first, I thought this would make WiFi forwarding a breeze. And it was, but as soon as I put the router in my backpack and left the house and the STA mode was inactive, everything breaks.

Herein lies the bug. If you assume an always-on AP and an occasionally active STA, then, at least on the Onion Omega, the AP will periodically glitch. This is a basic issue that may apply to other hardware as well. This is because every time the STA interface disconnects, it has to periodically rescan the network to see if it should reconnect to the AP. The WiFi radio has to stop and drop whatever it’s doing, including any ongoing transmissions, and listen to the ether for a while, switching between different channels in the meantime. This is very noticeable when doing live audio or video streaming. If you do a local file transfer through the AP’s network and plot the transfer speeds, there will be visible gaps in the transmission speeds.
First lesson – if you are building a network you actually want to rely on, be sure to look for good features like combined STA+AP mode. Especially if you can’t find these features, you will find that many devices don’t support simultaneous STA+AP connections. Sharing an antenna for two different purposes at the same time is an error-prone situation, and something to look into if you have connection issues.
Is the hardware support ideal? No. Is it fun so far? Yes, absolutely. It gives some interesting insight into the features that might make it worth building a project. Does this router outperform the Huawei battery-powered router I used to carry in my pocket? Yes, it already has some important features that I always wanted, like static IP assignment and an Ethernet port that I can use for uplink. It doesn’t have LTE yet, though. We’ll get to that in our next article, explaining how to choose an LTE modem and what you can do to make that process a lot easier.




