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.

72 lines
2.7 KiB

10 months ago
# 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](./images/ISP-modification.jpg "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'