This project is a collection of former (and some new) projects connected together to make an APRS digipeater, which doubles as an APRS weather station, with PE1RXF telemetry server capabilities.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2.7 KiB

1200bps AFSK / Bell 202 modem

This modem is intended for use as a universal KISS tnc for packet Winlink or APRS. Other uses are, of course, possible. It is build around an Atmel ATmega328P, clocked at 16MHz. The ATmega328P must be programmed with the Arduino bootloader and is programmable via the Arduino IDE. A CH340 serial to USB converter is used as an interface to the outside world. It is also possible to use an Arduino nano instead.

In order to program the ATmega328P in-circuit, a small modification made to the CH340 board is needed. See photo.

CH340 modification

This design is based on the MicroModem from markqvist (https://unsigned.io/).

Use cases

  • Digipeater with APRX
  • Winlink RMS (packet)
  • APRS station with YACC or Xastir

Author

Copyright 2022 M.T. Konstapel (PE1RXF)

https://www.meezenest.nl/mees-elektronica

Features

  • Uses universal KISS protocol.
  • USB powered.
  • Can be configured for normal PTT (open emitter) or combined PTT/MIC (for some hand helds).
  • Open source hardware and software.
  • Should work on any OS (but only tested on Linux)

Adjustment

Adjust VR2 to get about 100 mV signal on pin 23 (PC0) of ATmega328P. Adjust VR1 according to the input sensitivity of the used transmitter.

Flexible firmware support

The modem also works with the other firmware from unsigned.io. It can be programmed for different applications:

  • APRS KISS (also used for TCP/IP over AX.25) (microaprs-3v-kiss-latest.hex) - used in this project
  • APRS SimpleSerial (microaprs-3v-ss-latest.hex)
  • MicroModemGP KISS (MicroModemGP-kiss.hex)
  • MicroModem Direct Serial (MicroModemGP-direct.hex)

Program the ATmega328P with the following command:

avrdude -p m328p -c arduino -P /dev/ttyUSB0 -b 115200 -U flash:w:microaprs-3v-kiss-latest.hex

For me this command failed because it couldn't find the avrdude.conf file. I had to specify the full paths:

~/arduino-1.8.10/hardware/tools/avr/bin/avrdude -p m328p -c arduino -C ~/arduino-1.8.10/hardware/tools/avr/etc/avrdude.conf -P /dev/ttyACM0 -b 115200 -U flash:w:~/Documenten/electronische_projecten/packetmodem_nano2/MicroModemGP/precompiled/microaprs-3v-kiss-latest.hex

How to use on Linux

Install AX.25 support

sudo apt-get install libax25 ax25-apps ax25-tools
sudo nano /etc/ax25/axports

    than add line:
    ax0     NOCALL        9600    255     2       Packet modem nano2

Attach KISS interface to AX.25

sudo /usr/sbin/kissattach /dev/ttyUSB0 ax0
sudo /usr/sbin/kissparms -p ax0 -t 500 -s 200 -r 32 -l 100  -f n

Configure Pat

pat configure

than add AX.25 port 'ax0' to the 'ax25' section, subsection 'port'