Open Source DMR Radio

While ham radio operators have been embracing digital mobile radio (DMR), the equipment is most often bought since — at least in early incarnations — it needs a proprietary CODEC to convert speech to digital and vice versa. But [QRadioLink] decided to tackle a homebrew and open source DMR modem.

The setup uses a LimeSDR, GNU Radio, and Codec2. There are some other open DMR projects, such as OpenRTX. So we are hopeful there are going to be more choices. The DMR modem, however, is only a proof-of-concept and reuses the MMDVMHost code to do the data link layer.

[QRadioLink] found several receiver implementations available, but only one other DMR transmitter — actually, a transceiver. Rather than use an AMBE hardware device or the potentially encumbered mbelib codec, the project uses Codec2 which is entirely open source.

There’s a lot of explanation about the data collection to prepare for the project, and then a deep dive into the nuts and bolts of the implementation. You might enjoy the video below to see things in action.

If you just want to listen to DMR, it’s easy. If Codec2 sounds familiar, it is part of M17.

4 thoughts on “Open Source DMR Radio

  1. Codec2 is not “Part of M17”.
    Codec2 is used as the codec in M17 and many other projects.
    It was written by David Rowe in 2010. See https://en.m.wikipedia.org/wiki/Codec_2

    OpenRTX does not support the DMR standard at all.

    OpenGD77 does support the DMR standard, but has to use closed source binary blobs, from the radio manufacturer, because of the license problems with the AMBE codec. I.e in much the same way as the RPi has to use binary blobs for the Broadcom hardware.

    There is nothing to stop anyone from building codec2 into OpenGD77, except that they may not be able to use and of the existing DMR repeaters or networks, as most of them can’t handle non AMBE traffic :-(

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.