mmdvm and Pi-Star setup (Amateur Radio digital voice hotspot for DSTAR, DMR and other modes) – part 1

After setting up an SD Card with the Pi-Star image, booting it up and then hitting http://pi-star.local in a browser on my laptop, I used the default userid ‘pi-star’, password ‘raspberry’ to get to the dashboard page and set up the modes you want to operate. For this part of the setup I followed many of the existing guides and videos online, some of which I collected together here, but the best guide I found was this one by KE0FHS.

mmdvm board

The OLED display only appears to be active when on wifi, and is not active when on a wired connection. I setup mine on a wired connection first and was fiddling with the different display settings. When I had setup the wifi though and the rebooted with only wifi, then the screen started working. This is not obvious, but I think I read comments elsewhere that this is the expected behavior.

mmdvm board working on a Pi3, before moving to Pi Zero W

Some mmdvm boards are configured with a tx/rx offset (from photos online, usually indicated with a sticker on the board), but mine apparently had zero offset (it also didn’t have a sticker), and from watching the board transmit using my SDRPlay, when it was receiving DSTAR traffic from the Reflector I set it on it was transmitting locally spot-on frequency. Pi-Star showed it on 438.800Mhz, and it was right on the money.

Setting up a DV/DR repeater memory on my Icom 880 radio with the correct settings was absolutely key to getting everything working. It’s been a few years since I’ve used DSTAR, and it’s a good job I kept some notes here as it would have take hours to work out this again. Key settings to get this working were:

  • The hotspot repeater name of ‘KK6DCT B’ needed to be set EXACTLY in the repeater name setting for the DV memory setting on the radio, otherwise keying up the radio wouldn’t even appear on the mmdvm status page and it seems the transmissions are completely ignored by the hotspot (presumably because it’s not hearing traffic matching it’s own hotspot name so this is probably intentional)
  • Using the GRP UR setting on the 880 to send BOTH RPT1  (KK6DCT B) and RPT2 (KK6DCT G) values was key to getting my transmissions sent out across the internet gateway and to the reflector. I remember working this out before (link above), but this is key, as any of the other GRP * modes on the Icom 880 will not get your transmissions relayed out to the DTAR network

Once I had the above settings configured on my radio, transmitting on my Icom 880 I saw myself popup on the REF001 activity last heard list, so looking good so far:

Just as I was typing this (8/14/18 12am local time) I heard JI3IBK (Op = Masa) call CQ on REF001 so I returned his call and we had a quick QSO, and confirmed my setup is good, audio quality is good, so I’m pleased it’s all setup and working good, and I just had my first DSTAR QSO via my mmdvm hotspot!

Next steps are to solder the headers onto my new Pi Zero and move the mmdvm board from my Pi3 across to the Zero, and then put it in the custom aluminum case, and then my hotspot will be all set!

mmdvm useful setup references (Amateur Radio hotspot)

I’ve got a mmdvm board (Multi-mode Digital Voice Modem) on order – it’s an Amateur Radio hotspot for digital voice modes, such as DSTAR and DMR. While waiting for it to arrive I’m collecting together some useful links to help with the setup and config.

Excellent high level overview of digital voice hot spots in general:

Pi-Star – hotspot control software for the mmdvm board:

DMRplus MMDVM Setup

Pi-Star setup notes:

mmdvm hat assembly on Raspberry Pi:

ircDDB Android remote control app:

D-Star setup with Icom ID880H

The 880H supports a couple of different approaches to using DSTAR:

  • regular memories, each one holding repeater info plus one UR, RPT1, RPT2, MY combination, with the DV mode selected
  • DR Mode memories combined with UR memories

The regular memory approach is probably the easiest the understand in terms of how memories would be used in a non-DSTAR mode, but given that you will likely want to send link/unlink commands to the repeater, this would mean each of these combinations would occupy one additional memory.

The DR Mode uses one memory for the common repeater settings, and then you select the variable parts for UR, RPT1, RPT2 etc as needed.

If you follow the instructions in the 880H manual for configuring DR Mode, it talks about three settings, GRP CQ, GRP RPT, and GRP UR. The manual is not very clear about the difference in these modes relating to your UR, RPT1, RPT2, and MY settings however. So here’s my understanding of the differences:

  • GRP CQ – removes RPT2 setting for routing which means when you transmit, you’re only heard on the local repeater and you do not get forwarded out via the gateway to any linked reflectors or other repeaters.
  • GRP UR – does keep the RPT2 value (usually ‘repeater-call G’), plus you can select any of your stored values for UR, either CQCQCQ or a link or unlink command.

I read somewhere that you should use UR of DRCQCQ to indicate that you’re using DR mode to force the repeater to see this as destined not only for the repeater and include the gateway routing info too (RPT2). I don’t think this solves the issue of GRP CQ though, which seems to intentionally remove the RPT2 value – changing the default UR of CQCQCQ to DRCQCQ I don’t think has any effect.

So in summary, if you’re intending to get forwarded out from your repeater’s gateway, use the GRP UR mode.

  • Press DR, select one of your DR repeater memories (from your repeater list memories)
  • Long press UR and select CQCQCQ from your Callsign List
  • Select GRP UR (instead of GRP CQ) by pressing BAND button (each press cycles through GRP CQ, GRP RPT, GRP UR)
  • Long press UR and select GW instead of NOT USED.
  • Press DR Button to return to DR Mode.

I got this tip from this post here.

A few other random observations:

  • If you watch the dashboard for your repeater (eg for W6CX) and a reflector that it is linked to (eg REF014), you’ll see your call appear when you transmit on the repeater dashboard, but NOT the reflector. I’ve asked questions about this in multiple forums online and the opinion seems to be mixed, but I don’t believe if you are accessing a reflector linked to a repeater, then you don’t appear on the reflector’s dashboard. Initially this was misleading for me, as I misread this as I wasn’t making it to the reflector, but calling CQ and a couple of QSOs later confirmed that I was successfully being forwarded to the reflector, even though I never showed up on the reflector dashboard.

I’ll summarize a few other tips later.