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.
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'