M17 hotspot

From M17 Foundation Wiki
Revision as of 09:29, 10 June 2025 by OK1ELN (talk | contribs)
Jump to navigation Jump to search

M17 hotspot

MMDVM with WPSD software

WPSD project page

CC1200-HAT as M17 hotspot set up guide

Guide how to set up CC1200_HAT-hw board with raspberrypi as M17 hotspot

Prepare raspberrypi

Write sdcard image - use official rpi-imager app or download image manually from official website and copy it with dd. 32bit is recommended if you use raspberry pi zero or zero 2 due to limited RAM.

dd method:

Find out which device is microsd:
lsblk
edit of=/dev/sdX accordingly and run:
dd if=2025-05-13-raspios-bookworm-armhf-lite.img of=/dev/sdX bs=8192k status=progress; sync

Configure raspios

sudo raspi-config

  • wireless lan settings
  • serial port settings -> console no, serial yes

Edit config.txt with your favorite editor:
nano /boot/firmware/config.txt

add under [all]

[all]
dtoverlay=miniuart-bt

Or simply append to last line with:
sudo echo "dtoverlay=miniuart-bt">>/boot/firmware/config.txt

Update system

sudo apt-get update && sudo apt-get upgrade


Flash firmware to CC1200_HAT-hw

Install dfu-util

sudo apt-get install dfu-util
or other command if you use non debian-based distro.

Download firmware repository:

git clone https://github.com/M17-Project/CC1200_HAT-fw.git

Flash CC1200_HAT-fw

Connect CC1200-HAT to computer or raspberrypi via USB cable while holding PROG button, release the button and run:
dfu-util -a 0 -i 0 -s 0x08000000:leave -D ./CC1200_HAT-fw/Release/CC1200_HAT-fw.bin


Install git

sudo apt-get install git

Install dependencies

sudo apt-get install libzmq3-dev cmake libgpiod-dev

Optional dependency: Install Ham-DHT - Ppendht

Ham-DHT support on N7TAE mrefd github

Install rpi-interface

Clone repository and subrepositories:

git clone --recursive -j8 https://github.com/M17-Project/rpi-interface.git

Enter libm17 subrepository:
cd rpi-interface/libm17/

Build and install libm17
cmake -DCMAKE_INSTALL_PREFIX=/usr -B build
cmake --build build
sudo cmake --install build

Back into rpi-interface: cd ..

Build rpi-interface:
make

Configuring rpi-interface

Copy config so we have original:
cp ./default_cfg.txt ./my_cfg.txt

Edit copied config:
nano my_cfg.txt

  • Set gpio pins as shown in example if you have CC1200_HAT-hw.
  • Set your call and m17 reflector. M17 reflectors list
  • Set log file anywhere else if you don't have dashboard
  • Frequency correction needs to be set with the SDR or spectrum analyser. Just compare frequency output of your hotspot vs radio.
#Main settings
log_path="/var/www/html/files/log.txt"  #log file for the dashboard
device="/dev/ttyAMA0"                   #UART port to use
speed=460800                            #UART's speed
node="N0CALL H"                         #callsign with a suffix
ipv4="152.70.192.70"                    #reflector's IPv4 address
reflector="M17-M17"                     #reflector name
module="C"                              #module, single letter
nrst=21                                 #nRST pin
pa_en=18                                #PA enable pin (unused by the CC1200 HAT)
boot0=20                                #BOOT0 pin

#RF settings
tx_freq=433475000   #Hz
rx_freq=433475000   #Hz
freq_corr=-71       #frequency correction (integer)
tx_pwr=10.0         #transmission power, dBm
afc=1               #automatic frequency control (0-off, 1-on)