Pages

Showing posts with label mmdvmhost. Show all posts
Showing posts with label mmdvmhost. Show all posts

01/08/2017

Flashing MMDVM on an STM32 Nucleo using OS X


As you may already know from a previous post, I've been experimenting with MMDVM (Multi Mode Digital Voice Modem), software that can be used to operate a DMR radio hotspot or repeater. Historically I've been using a DVMega hotspot 'shield' on a Raspberry Pi, however I'm now taking it up a notch and building a 'proof of concept' DMR repeater.

The MMDVM Modem is made up of several components-

  • The interface board - Interfaces with the radios and performs the necessary filtering and amplification of the Tx and Rx Signals
  • The Modem - an embedded microcontroller for doing the analog to digital and digital to analog conversion and sampling.
  • The Host - usually a Raspberry Pi. Manages the modem and performs actions such as relaying DMR frames to the network.

The MMDVM software will run on several different platforms including the Arduino Due, the Teensy's, and the STM32 Nucleo. The DUE's are EoL, and the Teensy's are expensive, which left the STM32 as the logical option.

This guide is aimed at flashing the STM32 Nucleo board (STM32F446RE) for use with one of F0DEI's highly recommended MMDVM boards using MAC OS X. If you're using another MMDVM board, you may need to tweak the Config.h file accordingly.

I've not used an STM32 Nucleo before, so I had to do some research to figure out how to flash it. I've written up my findings below.


If you're using Windows I recommend F5UII's blog post here

The STM32 Nucleo


F0DEI's MMDVM Board

I tested this on 03/05/2020 and it worked as expected!

02/07/2017

Using UDEV rules to ensure a USB serial device always links to the same location in /dev/

If you're using several USB serial adapters on a linux machine, you may have found that their /dev/ names change after a reboot. This can be frustrating if each serial port is plugged into a specific device and you want to always access it using the same /dev/ name.

Fortunately, udev rules exist that allow you to symlink a serial device to a name, persistently. Udev rules are very powerful and support lots of tweaking, but for now I will cover the basics of assigning a USB serial device a static name.

28/03/2017

Adding a Nextion display to a MMDVMHost Hotspot


In a recent post I ran through setting a Raspberry Pi as a DMR hotspot using a DVMega and MMDVMHost.

MMDVMHost natively supports various displays including various TFT's manufactured by Nextion, 128x64 OLED screens commonly seen in Arduino projects, and HD44780 based LCD displays.


I wanted something colourful but still compact, so I went with a 2.4" Nextion screen available on Ebay here for around £12.50.  Shipping from China took just over 2 weeks which is satisfactory.


I also required a USB to Serial adapter to drive the display, as the Raspberry Pi's built in serial port was already being used to control the DVMega. This was purchased from Ebay here for £2.70.


The end result (Enclosure coming soon!)

For the instructions, click 'read more'

19/03/2017

Using the Raspberry Pi based DMR hotspot with BlueDV

In my previous post I provided a tutorial for setting up a DVMega and Raspberry Pi to use as a DMR hotspot.

The DVMega can also be used in a bluetooth only configuration where the heavy lifting is done my another device, such as an Android or iOS handset. The bluetooth hardware seems to go by a few different names but can be purchased here. The software to do this was previously called openSpot, but has been renamed blueDV.



As I have already got the DVMega and Raspberry Pi 3 package, I thought I'd have a go at 'converting' it to be suitable for use with blueDV. I found some information on doing this on G0WFV's blog, which sets up ser2net so blueDV can communicate over 'serial' over Ethernet.

Some of the steps were already performed prior to installing MMDVMHost, so I've added the modified steps below.


12/03/2017

A DMR Hotspot using a Raspberry Pi, DVMega and MMDVMHost.

NOTE: This post is now a year old. MMDVM is a fast moving target, and raspbian has since been updated, so these instructions may be out dated. I throughly suggest you use the Pi Star image instead.

To celebrate passing my foundation radio license I treated myself to a Connect Systems CS-580 DMR Radio. DMR (Digital Mobile Radio) is a digital standard that digitises and compresses the audio, allowing two simultaneous conversations to occupy the same amount of bandwidth as a single narrow band call using a traditional FM radio. There's a lot more to it than than, but it's probably best covered in another post.

Unfortunately I discovered signal strength  from my local DMR repeater GB7WL was marginal, so I was unable to pick it up from the warmth and comfort of my flat. I initially considered fitting an external aerial, but that would leave me unable to roam around my flat as I'd be tethered via a cable to the aerial, so I started looking into hotspots - a low powered radio device that connects into the existing DMR networks over the internet and relays the voice traffic out of a small antenna. Plus, as I passed my intermediate license in the time it took for the CS-580 to arrive, I was due another treat...

I've heard good things about the SharkRF openSpot, a hotspot that works 'out of the box', but the inner hacker in me wanted something a little more customisable. I then stumbled across the DVMega, an add on 'shield' for the Raspberry Pi, and decided it would better suit my needs. The DVMega + Raspberry Pi also came out at approximately £150, which is £50 cheaper than the openSpot and includes a Pi that I can continue to use if I move on from DMR radio.

A DVMega on a Raspberry Pi 3

A DVMega on a Raspberry Pi 3