Hacking a 4G Hotspot Into a Pocket Linux Computer
With Raspberry Pi prices rising, a maker built a Linux handheld using a $20 4G hotspot, a Clicks keyboard, and a Sharp Memory Display.
Cheap single-board computers like the Raspberry Pi all but ended the practice of hacking routers and other aging hardware into little general-purpose Linux machines. But now, single-board computers aren't looking so cheap anymore and hobbyists are starting to get creative once again to save some cash. Borna Kovač recently showed off an example of one such computer that he built from an inexpensive 4G wireless hotspot.
Kovač's handheld computer started with an MF800, one of several inexpensive hotspots that can run Linux through the OpenStick project. For less than $20, the device comes with a battery, 4G modem, Wi-Fi, Bluetooth, and a display. It normally runs Android, but ADB is accessible and the device can be reflashed with Linux. Before wiping it, Kovač extracted the Android device tree, giving him useful information about the hardware and its connections.
A hotspot running Linux is useful on its own, but rather than a general-purpose machine, Kovač decided to build a dedicated messaging device instead. He also had a Clicks keyboard for an iPhone 16 Pro Max and an Adafruit Sharp Memory Display board on hand, which were perfect for this application. The Clicks keyboard contains some Apple-specific hardware, but its actual keyboard interface is standard USB, so it can work like any other USB keyboard once connected to the hotspot.
Physically wiring the hardware together wasn't difficult, but fitting everything inside the case was a challenge. The MF800's PCB was too large to fit horizontally within the width of the Clicks case, so Kovač studied the board and identified areas that could be removed. He then cut the PCB down to a size that would fit. One cut severed the battery connection and required a jumper wire, but otherwise, the modified hotspot booted without trouble.
Kovač also designed a custom adapter PCB that handles USB host and device switching, boosts the battery voltage to 5V, supplies power to the display, and converts the display's signal levels. It uses a TUSB320 for USB mode switching, an SN74LVC8T245 level shifter, an MCP1640 boost converter, and TPS22917 load switches.
Getting the Sharp Memory Display working required changes on the software side. Kovač identified the appropriate SPI pins using the original device tree and adapted an existing Linux DRM driver for the display. That means Linux can treat it as a normal display rather than requiring every application to communicate with it directly.
The monochrome panel originally handled images poorly because the driver simply converted pixels to either black or white. Kovač added optional Atkinson and Floyd-Steinberg dithering, making photographs and video much more recognizable.
There are still a few things to finish, including proper sleep support, a better power button, and further refinement of the software. But the hardware already makes a good argument for taking another look at cheap consumer electronics. When $20 buys a battery-powered Linux computer with built-in 4G, Wi-Fi, and Bluetooth, hacking one into something entirely different starts making a lot of sense again.
Please log in or sign up to comment.