==== DroidStar MMDVM Based M17 Transceiver (M17 DroidTransceiver) - 25/11/21 ====
Once DroidStar started to support the MMDVM HotSpot board over USB, I had to take a closer look..
This minimal M17 Transceiver provides a great, cheap way of demonstrating and experimenting with M17.
**This document is very much a work in progress, None of it is warranted as Correct, Accurate or Optimal.. Suggestions very welcome.**
{{:wiki:m17droidtrx.jpg?350|}}
** Requirements **
*Android Device, Phone or tablet with USB OTG and Google Play support
*Latest DroidStar app from Google Play, or build from source
*Generic Pi Hotspot Board or USB MMDVM HotSpot Board (Then no USB TTL adapter required)
*Latest firmware loaded on the MMDVM HotSpot Board
*USB to TTL adapter board - I used a Silabs CP2102 board
*Cable to connect the USB TTL board to the Pi Hotspot Board
*USB On The Go (OTG) connection lead
** Android Device, Phone or tablet with USB OTG and Google Play support **
Most Android devices are suitable, does not need to be the latest, even a cheap Amazon Fire Tablet may be suitable. Key things are USB OTG and Google Play support.
** Latest DroidStar app from Google Play, or build from source **
Easiest just to install the latest version of [[https://play.google.com/store/apps/details?id=org.dudetronics.droidstar|DroidStar from Google Play]]. See the Build DroidStar section to build from source.
** Generic Pi Hotspot Board or USB Hotspot Board (No adapter needed) **
Generic Pi Hotspot board. Boards with built in USB are also available.
** Latest firmware loaded on the HotSpot Board (Pi 3b used) **
Build and flash the latest Hotspot Firmware with M17 support, based on
https://github.com/juribeparada/MMDVM_man/blob/master/MMDVM-Pi_v0_9_en.md
** Please note I am using G4KLX repo **
Disable conflicting services
sudo systemctl disable serial-getty@ttyAMA0.service
sudo systemctl disable bluetooth.service
# in /boot/config.txt - remove the console section
# Add..
enable_uart=1
dtoverlay=pi3-disable-bt
Prepare
cd ~
git clone https://github.com/g4klx/MMDVM_HS
# Refer to scripts/install_buildtools.sh for build prerequisites only
cd MMDVM_HS
# M17 support now in master
git checkout master
Load Flash Tools
cd ~
git clone https://git.code.sf.net/p/stm32flash/code stm32flash
cd stm32flash
make
sudo make install
Build and Flash
cd ~/MMDVM_HS
git submodule init
git submodule update
# Ensure you have correct board config and clock selected
cp ~/MMDVM_HS/configs/MMDVM_HS_Hat.h ~/MMDVM_HS/Config.h
# in Config.h
# uncomment //#define USE_ALTERNATE_M17_LEDS
# comment out other // LED options
make
# Flash
sudo make mmdvm_hs_hat
{{:wiki:flashing.png?350|}}
Hotspot board flashing in progress
** USB to TTL adapter board **
Using a Silabs CP2102 USB to TTL board (others could be used). This board has proved very reliable and provides a 3.3 Volt output and 3.3 Volt levels for the RX and TX. Beware some boards provide 5 Volt RX and TX output, these risk damaging your Hotspot board.
{{:wiki:m17usbttlboard.jpg?400|}}
** Cable to connect the USB TTL board to the Pi Hotspot Board. **
Pi Header pin 6 for ground, pin 1 for 3.3 Volt, and pin 8 for TX Data from the Pi, and pin 10 for RX Data into the Pi. [[https://www.theengineeringprojects.com/2021/03/what-is-raspberry-pi-zero-pinout-specs-projects-datasheet.html|Pi Header Spec]] Note that some USB TTL boards may have RX and TX "Swapped"
{{:wiki:m17hotspotboard.jpg?400|}}
** USB OTG lead **
Connect the USB TTL board to your Android device.
** Basic Testing **
The configuration of Android, USB OTG cable, USB TTL board connecting cable and Hotspot can be tested using a [[https://play.google.com/store/apps/details?id=de.kai_morich.serial_usb_terminal|Android USB Serial Terminal App]]. Set the baud rate to 115200 and send e0 03 00 hex. This is a basic version check command and should give similar output to this.
{{:wiki:m17serial_usb_terminal.png?350|}}
==== Running DroidStar M17 Transceiver ====
TBA
-----
==== Optional - Build the DroidStar Software For Linux and Android ====
Building DroidStar requires the Qt toolset and development environmen. To build DroidStar Android the Android toolset, frameworks and NDK etc are also required.
** Qt Prerequsites **
https://www.qt.io/download-qt-installer
Sign up etc...
Select Install 5.15.2
sudo apt-get install build-essential
# These are likely not needed
#sudo apt-get install qtcreator
#sudo apt-get install qt5-default
#sudo apt-get install qtquickcontrols2-5-dev
#sudo apt-get install qtdeclarative5-dev
# Modules likely to be required
sudo apt-get install qtmultimedia5-dev
sudo apt-get install libqt5serialport5-dev
sudo apt-get install qml-module-qtquick-dialogs
** DroidStar Project Install and Linux Build **
cd Documents
git clone git://github.com/nostar/DroidStar.git
# Install imbe vocder lib and headers
sudo git clone git://github.com/nostar/imbe_vocoder.git
cd imbe_vocoder
make
make install
cd /home/nicolas/Documents/DroidStar
~/Qt/5.15.2/gcc_64/bin/qmake
make
# Run Linux DroidStar!
./DroidStar
**DroidStar Android Build**
TBA
-----