An outdoor hotspot

by on under projects
8 minute read

I wanted to make something, just to satisfy my own personal curiosity. I have a few extra Raspberry Pis laying around, so I decided to make a hotspot that I can put outdoors.

The driving force behind this idea is more of a “can I do it” rather than one of necessity. I wanted to make it so that I can take it on the road with me, perhaps even use it as a small, local area (we’re talking really local) repeater. It would need the ability to be battery powered, run with little to no administration, have the ability to connect to the Internet if desired, and Just Work ™.

Some concepts started with an ammo can, big LiFePO4 battery, drilling holes, putting in charge controllers, finding a spot for the Raspberry Pi to sit… on and on… the whole idea became more bloated and rediculous as I kept coming up with ideas.

There had to be a “better” way. Something that I wouldn’t mind throwing in a backpack when moving around, or mounting to the side of my house when I’m not. This is what I’ve come up with so far:

Parts Research


The case is simple. Big enough to hold everything, while being small enough to easily lug around. Waterproof (at least before I start putting holes in it) and comes with a plastic plate I can mount things onto somewhat easily.

Electrical Box Amazon - UOPASD ABS Plastic Electrical Box

This box meets all my requirements. I can also easily punch holes into it to mount bulkhead connectors or cable glands if I need to.

Raspberry Pi

I decided to use a Raspberry Pi 3B+ over a Raspberry Pi 4. The requirements of operating a hotspot don’t really require the horsepower of a Pi 4, but certainly more than what a Pi 2 or Pi Zero can provide. I can save a little battery power that way, so a Pi 3B+ is what I’m sticking with. I’ll talk more about the software later on.

Power / UPS

The first thought I had in order to power the Raspberry Pi was to use a PoE HAT. But, what if I take the box somewhere that I don’t have access to a PoE switch, or have the ability to use an injector? Using a wire also negates the whole WiFi thing. I found a cool UPS HAT made by Geekworm that fits the bill. It also extends the GPIO header pins up through itself, allowing me to stack on additional HATs.

Geekworm X729 Amazon - Geekworm X729 UPS

It uses two 18650 LiPo batteries, and a “wide power input” that can handle 6V-24V ≥ 3 amps. This means that I can probably put one of those fold-up 40W solar panels on it to charge during the day.

Since I won’t need the solar panel all the time, a power supply will be needed. Inexpensive 12V 3A(+) power bricks are common, just need one that has a 5.5x2.1 barrel plug to fit the UPS board.

12V 5A Power Adapter Amazon - 12v 5A Power Adapter

I chose this one in particular because I’m going to swap out the 5-15P to C13 ungrounded cable with one that’s spare and has an actual ground pin. Also, I don’t mind having to clip the 5-15P plug end off in order to feed the cable through a gland that I’ll later put through the box. More info on that a bit later.

Hotspot Modem

Duplex. This means that the hotspot can run like a real repeater, with dual-slot on DMR. Is it necessary? No. But I do, because it’s available and I can do what I want. They’re frequently available on Amazon, and cheap enough that you can buy one to throw in a case and run a decent little hotspot without worrying if it breaks.

Duplex MMDVM Hostspot Amazon - Duplex MMDVM Hotspot HAT


I chose to use 70cm antennas with N connectors on them. N connectors are arguably superior in performance with power handling, weather, as well as UHF frequencies. Don’t try to convince me otherwise.

In order to get them attached to the hotspot board, some pigtails to go from SMA to an N bulkhead are needed.

SMA Right Angle to N Female Connector Amazon - SMA Right Angle to N Female Connector


Parts List:

  • Electrical box
  • Raspberry Pi 3B+ and SD Card
  • Geekworm UPS HAT
  • 12V Power Supply
  • Duplex Hotspot Board
  • Raspberry Pi 40-pin GPIO extender
  • 3D Printed Adapters
  • SMA to N Bulkhead Pigtails
  • Cable Glands
  • Brass M2.5x20 M/F Standoffs
  • M2.5x6 SHC Screws
  • M2.5x10 SHC Screws


The first dry-fit

Initially when I first received the electrical box, I saw that the holes on the mounting plate were pretty damn close to the holes that are on the Raspberry Pi. This was not the case, the holes do line up “vertically” (short side, from GPIO pins to the USB power connector), but not “horizontally” (long side, from DSI connector to Ethernet connector). There’s probably just a couple millimeter difference on the long side that causes flex on the mounting plate when using standoffs and screws to mount the Pi. I quickly designed an adapter for the plate in order to prevent any flex from interfering with the rest of the build.

It’s a good thing that I printed those adapter things with some wiggle room for placement of the Pi. I needed to shift the whole thing to the left in order to be able to squeeze the power and Ethernet plugs in on the right side. I may try to find some right-angle connectors once I get to the point of finishing the box.

Left side adapter

The first thing to put in the adapter is the screw and standoff. I believe the little standoffs here came with the Geekworm UPS HAT, if not then some M2.5x6 brass standoffs can be used. There’s a hole for an M2.5 SHC screw to fix the standoff in place. I positioned the adapter onto the board and fixed that in place with a couple M2.5x10 SHC screws, washers, and nuts. Now that’s in place, I can use the Pi itself to find the place that I need to put the right hand adapter on.

Right side adapter

I can then push up another screw through the adapter, estimating the position of where it needs to be. Those slots that I put in for adjustment really helped here. Screw in, take the Pi off and add a washer and nut to loosely hold it in place, add another screw, nut, and washer to the other slot. I didn’t want to tighten them down just yet, I put the Pi on all the standoffs and moved things around to fit just right and I could finger-tighten all the hardware. Oh, I also made sure that the SD card with the required software was in the Pi before putting it on the standoffs. It’s a tight squeeze on that side of the box, so it’s easier to do it now.

Adapters and standoffs in place

Next thing to install was the Geekworm UPS HAT. It came with its own F/F standoffs, which go on the standoffs going through the Pi.

HAT standoffs installed

Oh, also needed to make sure the batteries were installed before putting the UPS HAT on. The batteries mount on the bottom side of the board (why‽).

UPS HAT installed

The last thing to install on the stack of stuff is the MMDVM HS HAT. There is very little clearance between the cooling fan on the UPS HAT and anything I wanted to stack on top, so I found a stacking header pin thing lying around on my desk to bring the MMDVM HAT up a little higher. You can see it just behind the fan on the USP HAT. I used M2.5x20 M/F brass standoffs and some M2.5x6 SCH screws to keep the HATs from moving around. I also put some little antennas on for testing.

MMDVM HAT installed

Here’s what the whole stackup looks like outside of the box:

Side 1 Side 2 Side 3 Side 4

And here it is, inside the box and powered on:

Get in the box!

Before going any further, such as putting the holes in the box for power and antennas, I am running this on its batteries until they die. Hopefully I can get at least 12-16 hours on it.