==== 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 -----