EtherHam

Amateur Radio Over Internet

Random Wire 146: A mini hotspot for M17, DTMF commands for your ASL 3 node, more about RPi4 and K-1 speaker-mic interface

August 29, 2025: Featured in Random Wire issue 146 is the construction of a small digital hotspot with a Raspberry Pi Zero 2WH and an MMDVM hat. Build a hotspot for less than $100.

Featured: build a miniature hotspot for M17

Mini M17 hotspot

This may be one of the simplest hotspot builds ever: a Raspberry Pi Zero 2WH, an MMDVM hat, and a case. For less than $100, you can build a working hotspot that works with D-STAR, YSF, M17, DMR, P25, NXDN, and POCSAG.

I am dedicating this hotspot for use with my M17 radios, but it will work with many digital modes. To operate the hotspot, I’m using WPSD even though WPSD no longer supports M17. The M17 Project folks forked WPSD at a slightly older version that does include M17 support, so that’s what I’ll use for this dedicated-to-M17 hotspot.

Parts list

The $13.96 PoE splitter is crossed out because that is not the model I needed. I mistakenly ordered it and discovered it was wrong during the organization of parts for the project. The PoE splitter I meant to buy carries power over a microUSB plug. To cover for ordering the wrong one, I immediately ordered one each of the following PoE splitters. The $10.89 splitter is rated to 2.4 amps, which is slightly below the minimum recommended amperage for the Raspberry Pi 2 of 2.5 amps. Maybe it will work. The MMDVM hat and small display represent unusual power draws, so I also ordered the $14.49 splitter that is rated to 3 amps. I’ll let you know how these two splitters work powering the hotspot.

Hint: the cheaper PoE splitters tend to be lower amperage devices. Increased amperage capacity means about a 50% price increase, in general. It’s cheaper to use the CanaKit 5V/2.5A power supply, but for this build, I’m also trying to demonstrate the ability to safely use a Power-over-Ethernet switch to power the hotspot using only an Ethernet cable.

Not including the PoE splitter shenanigans, what is the actual cost of this working hotspot?

  • $28.90 for the Raspberry Pi Zero 2WH

  • $9.95 for the power supply

  • $21.99 for the nice case

  • $34.70 for the MMDVM hat

Total cost: $95.54. The copper heatsinks are optional. That’s right: for less than $100, you can build a working hotspot that can handle D-STAR, YSF, M17, DMR, P25, NXDN, and POCSAG.

Why these parts?

I’ve used the UeeKKoo Raspberry Pi Zero 2 board before. The advantage of this particular board is the GPIO header is already soldered in. That’s worth a few extra bucks to me. (If all you need is the RPi Zero 2 WH, this choice will save you $2.) If you’re handy with a soldering iron and have some time to fiddle, you can save a little bit of money by purchasing an RPi with an unsoldered, loose GPIO header. Note that you can save a few more bucks by buying a used RPi (yes, Amazon often makes these available).

As stated in previous Random Wire newsletters, I like the official Raspberry Pi power supply and the one by CanaKit. For this assembly, I chose the CanaKit PS even though I may not need it (explanation coming in a few paragraphs).

I do like seeing into the device so the clear acrylic C4Labs case meets that desire. Also, C4Labs is based in Portland, Oregon, where I spend a lot of time. The screws that bind the layers together are stainless steel and rubber feet are included. (C4Labs also makes some gaming things, so if you are into tabletop role playing or dice towers, check them out.)

I’ve used a couple of AURSINC MMDVM boards in the past, and they’ve generally performed well. (My nice home-built duplex hotspot uses an AURSINC board.) I defaulted to AURSINC because they are ubiquitous and affordable. If it doesn’t work right, I can always upgrade to a different board.

The Geekworm copper heatsinks are more expensive than others, and that’s because they are solid copper. They might perform slightly better than aluminum (copper has better thermal conductivity than aluminum) but there are arguments on both sides of this question. You can feel the heavier weight of the copper heatsinks in your hand, compared to aluminum heatsinks. Since I’m using a clear case, the heatsinks will be visible. I think the copper heatsinks add a bit of visual interest to the hotspot.

Sometimes I hook up a mouse and keyboard directly to a Raspberry Pi but those peripherals use USB-A ports, which the RPi doesn’t have. A USB hub addresses this. I’ve used the Smays brand adapter before so I know it works. The other benefit of the adapter is the Ethernet port in it, allowing me to easily connect the hotspot directly to my network switch.

And speaking of my switch, I’m using a Power-over-Ethernet (PoE, pronounced pee-oh-ee) switch. The PoE splitter I ordered will allow me to power the hotspot directly from an Ethernet cable connected to that switch. Since the Raspberry Pi Zero 2 isn’t PoE capable, the PoE splitter sends power to the microUSB connector (which will plug into the RPi) and sends data to an Ethernet port (which I’ll connect to the Smays adapter mentioned above). Doing this means I don’t need to use the CanaKit adapter. I’m guessing most subscribers aren’t using a PoE switch so the CanaKit adapter is the recommended solution.

I think the PoE splitter provides a bit of peace of mind, too. While it is generally safe to connect a Raspberry Pi single-board computer to an IEEE 802.3-compliant PoE switch, I don’t think that’s a guarantee. I have a much older desktop PC that might precede the 802.3 standard, and when I connected it to a PoE switch, it damaged the Ethernet port on the computer. My takeaway from this is if you are going to use a PoE switch to connect devices and you don’t know if it is safe to do so, use a splitter to separate the power from the Ethernet data lines. You don’t have to plug the power plug on the splitter into anything. When I do this, I use a small piece of electrician’s tape to cover the loose power plug that hangs off the splitter.

Parts received

Here are the parts received for this build, before I separated all the bits and pieces to begin assembling the hotspot.

Software is a WPSD fork

M17 support was dropped from WPSD because M17 was removed from the upstream codebase. (Want more? Start at https://rz01.org/wpsd-m17/ and be sure to hit the link to the Zero Retries article linked in that post.) Some good folks rolled back the clock a little bit and forked the last version of WPSD that supported M17. That’s the branch I’m using for this M17-focused hotspot. It is called the WPSD M17 Community Fork.

How to download and install the WPSD M17 Community Fork is covered in sufficient detail on the Community Fork page.

Since I’m configuring the hotspot for just M17 use, I don’t need to bother with the Brandmeister API key in the advanced settings. (Of course, if I’m ever going to use it for DMR or Yaesu System Fusion, I’ll need to make sure the settings for those modes are correct.)

Calibration? Yes

Should the MMDVM hat be calibrated? I believe so, especially as this is a new build. The procedure is relatively simple in WPSD. In the WPSD dashboard: Admin —> Advanced —> Tools —> MMDVMHost Calibration.

And I discovered that M17 calibration is not listed! I calibrated using my YSF (Yaesu System Fusion) radio, and ultimately, no offsets were required.

No M17 calibration option is available

Does it work? Yes!

Here are a couple of videos and an audio recording to demonstrate startup, shutdown, and connecting to an M17 reflector. (Apologies for sometimes referring to the hotspot as a node. Habit.)

Here’s the first startup video I did as the sun rose over the Lake House.

I did another startup and shutdown video a few minutes later:

And here is audio of the hotspot connecting to a few different M17 reflectors.

And it works on the PoE splitter

A Power-over-Ethernet splitter with a microUSB connector arrived this week. This is the 5 volt, 2.4 amp version. If you recall, the recommended power supply is 2.5 amps for the Raspberry Pi Zero 2 board family. On top of that (literally), there is the MMDVM hat with a display (albeit a small one). I wasn’t sure if a 2.4A PoE splitter would supply sufficient power, but it appears it does. That’s good to know as the 2.4A splitters cost a few dollars less than the 3A splitters.

However, I found that the 2.4A splitter gets warmer than the 3.0A splitter. I’m keeping the 3A splitter in service for this node.

The connected pieces look like this:

PoE splitter attached to hotspot

The hotspot is top center in the picture, the splitter is top right, and the USB hub is bottom left. On the Raspberry Pi Zero 2 board, there are two microUSB ports. The one farthest to the right in this view is the power port. The one next to it is for networking and peripherals.

I ran a long Ethernet cable from my PoE switch to another part of the room, then plugged the cable into the PoE splitter. The microUSB plug on the splitter goes into the power port on the hotspot. The Ethernet plug on the splitter goes into a USB hub that also has an Ethernet port, and that hub is plugged into the other microUSB port on the hotspot. It’s easier to see this in the photo above than to describe it in words.

As you can see in the photos below, the hotspot booted up just fine in this configuration.

Tom Salzer

Tom is an Extra Class amateur radio operator licensed in the United States as KJ7T

Tom Salzer KJ7T