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