MMDVM HotSpot: firmware for ZUMspot or MMDVM_HS based boards (D-Star, DMR, YSF, P25, NXDN and POCSAG)
Find a file
2017-07-15 16:33:35 -04:00
.gitignore Add STM32F10X_Lib directory to .gitignore 2017-07-15 17:33:02 +01:00
ADF7021.cpp Merge branch 'master' into duplex 2017-06-26 11:13:08 -04:00
ADF7021.h Merge branch 'master' into duplex 2017-06-26 11:13:08 -04:00
BitRB.cpp Adapting original duplex DMR code to MMDVM_HS 2017-04-29 23:05:03 -03:00
BitRB.h Adapting original duplex DMR code to MMDVM_HS 2017-04-29 23:05:03 -03:00
bootloader.ld Adding USB bootloader support 2017-02-13 00:46:51 -03:00
BUILD.md Updating build instructions 2017-07-15 15:46:46 -04:00
Config.h Merge branch 'master' into duplex 2017-07-15 15:56:19 -04:00
Debug.h Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
DMRDefines.h First commit 2017-02-01 01:33:31 -03:00
DMRDMORX.cpp Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
DMRDMORX.h Adding RSSI support for ADF7021, and RSSI for DStar and DMR 2017-02-10 14:03:14 -03:00
DMRDMOTX.cpp Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
DMRDMOTX.h Reverting TX continuous mode in DMR DMO 2017-04-16 16:07:44 -03:00
DMRIdleRX.cpp Adding run-time debugging for duplex mode 2017-06-26 11:19:14 -04:00
DMRIdleRX.h Adapting original duplex DMR code to MMDVM_HS 2017-04-29 23:05:03 -03:00
DMRRX.cpp Changing 2 slot RX to 1 slot RX only in DMR duplex mode 2017-05-06 20:19:08 -03:00
DMRRX.h Changing 2 slot RX to 1 slot RX only in DMR duplex mode 2017-05-06 20:19:08 -03:00
DMRSlotRX.cpp Adding run-time debugging for duplex mode 2017-06-26 11:19:14 -04:00
DMRSlotRX.h Changing 2 slot RX to 1 slot RX only in DMR duplex mode 2017-05-06 20:19:08 -03:00
DMRSlotType.cpp First commit 2017-02-01 01:33:31 -03:00
DMRSlotType.h First commit 2017-02-01 01:33:31 -03:00
DMRTX.cpp Adding run-time debugging for duplex mode 2017-06-26 11:19:14 -04:00
DMRTX.h Adapting original duplex DMR code to MMDVM_HS 2017-04-29 23:05:03 -03:00
DStarDefines.h First commit 2017-02-01 01:33:31 -03:00
DStarRX.cpp Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
DStarRX.h Adding RSSI support for ADF7021, and RSSI for DStar and DMR 2017-02-10 14:03:14 -03:00
DStarTX.cpp Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
DStarTX.h Fix serial port bug and several small changes 2017-02-02 22:08:59 -03:00
Globals.h Merge branch 'devel' into duplex 2017-07-09 01:33:55 -04:00
IO.cpp Merge branch 'master' into duplex 2017-05-25 23:46:56 -04:00
IO.h Merge branch 'master' into duplex 2017-05-25 23:46:56 -04:00
IOArduino.cpp Merge branch 'master' into duplex 2017-07-15 15:56:19 -04:00
IOSTM.cpp Merge branch 'master' into duplex 2017-07-15 15:56:19 -04:00
LICENCE First commit 2017-02-01 01:33:31 -03:00
Makefile Add Git ID to MMDVM description 2017-06-12 15:49:29 +02:00
MMDVM_HS.cpp Merge branch 'master' into duplex 2017-05-25 23:46:56 -04:00
MMDVM_HS.ino Merge branch 'master' into duplex 2017-05-25 23:46:56 -04:00
normal.ld Adding USB bootloader support 2017-02-13 00:46:51 -03:00
P25Defines.h First commit 2017-02-01 01:33:31 -03:00
P25RX.cpp Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
P25RX.h Adding RSSI support for P25 2017-02-17 19:57:25 -03:00
P25TX.cpp Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
P25TX.h Fix serial port bug and several small changes 2017-02-02 22:08:59 -03:00
README.md Updating some comments and text 2017-07-15 15:20:45 -04:00
SerialArduino.cpp Adding support for USART1 LCD to STM32duino 2017-07-15 16:32:07 -04:00
SerialPort.cpp Merge branch 'master' into duplex 2017-07-15 16:33:35 -04:00
SerialPort.h Revert "Adding Jonathan’s ring buffer to serial repeater" 2017-07-08 13:58:55 -04:00
SerialRB.cpp First commit 2017-02-01 01:33:31 -03:00
SerialRB.h First commit 2017-02-01 01:33:31 -03:00
SerialSTM.cpp Small changes 2017-07-15 15:21:21 -04:00
stm32f10x_link.ld Adding USB bootloader support 2017-02-13 00:46:51 -03:00
Utils.cpp First commit 2017-02-01 01:33:31 -03:00
Utils.h First commit 2017-02-01 01:33:31 -03:00
YSFDefines.h First commit 2017-02-01 01:33:31 -03:00
YSFRX.cpp Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
YSFRX.h Adding RSSI support for YSF 2017-03-09 21:10:11 -03:00
YSFTX.cpp Adding Jonathan G4KLX run-time debugging option 2017-06-26 11:10:15 -04:00
YSFTX.h Fix serial port bug and several small changes 2017-02-02 22:08:59 -03:00

Introduction

This is the source code of ZUMspot, personal hotspot (ADF7021 version of the MMDVM firmware), based on Jonathan G4KLX's MMDVM software. This firmware supports D-Star, DMR, System Fusion and P25 digital modes.

This software is intended to be run on STM32F103 microcontroller. You can build this code using Arduino IDE with STM32duino package, or using "make" with ARM GCC tools. Also, Arduino with 3.3 V I/O (Arduino Due and Zero) and Teensy (3.1, 3.2, 3.5 or 3.6) are supported.

This software is licenced under the GPL v2 and is intended for amateur and educational use only. Use of this software for commercial purposes is strictly forbidden.

Quick start

Please see BUILD.md for more details, and also MMDVM Yahoo Groups.

ZUMspot Libre Kit (under Linux Raspbian)

Install the necessary software tools:

sudo apt-get update
sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi libstdc++-arm-none-eabi-newlib libnewlib-arm-none-eabi

Download the sources:

cd ~
git clone https://github.com/juribeparada/MMDVM_HS
cd MMDVM_HS/
git clone https://github.com/juribeparada/STM32F10X_Lib

Build the firmware with USB bootloader support (the default Config.h is OK for Libre Kit):

make bl

Upload the firmware to ZUMspot Libre Kit using the USB port (your Libre Kit has the bootloader already installed):

sudo make dfu devser=/dev/ttyACM0

ZUMspot RPi

Enable serial port in Raspberry Pi 3 or Pi Zero W

This this necessary only if you are installing a fresh copy of Raspbian OS.

Edit /boot/cmdline.txt:

sudo nano /boot/cmdline.txt
(remove the text: console=serial0,115200)

Disable services:

sudo systemctl disable serial-getty@ttyAMA0.service
sudo systemctl disable bluetooth.service

Edit /boot/config.txt

sudo nano /boot/config.txt

and add the following lines at the end of /boot/config.txt:

enable_uart=1
dtoverlay=pi3-disable-bt

Reboot your RPi:

sudo reboot

Build de firmware and upload to ZUMspot RPi

Install the necessary software tools:

sudo apt-get update
sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi libstdc++-arm-none-eabi-newlib libnewlib-arm-none-eabi

cd ~
git clone https://git.code.sf.net/p/stm32flash/code stm32flash
cd stm32flash
make
sudo make install

Download the firmware sources:

cd ~
git clone https://github.com/juribeparada/MMDVM_HS
cd MMDVM_HS/
git clone https://github.com/juribeparada/STM32F10X_Lib

Edit Config.h

nano Config.h

and enable:

#define PI_HAT_7021_REV_03
#define ENABLE_ADF7021
#define BIDIR_DATA_PIN
#define ADF7021_14_7456
#define STM32_USART1_HOST
#define ENABLE_SCAN_MODE

Build the firmware:

make

Upload the firmware to ZUMspot RPi board:

sudo make zumspot-pi