/ESP32TNC

Terminal Node Controller (TNC) for ESP32

Primary LanguageC

ESP32TNC

ESP32TNC is a Terminal Node Controller (TNC) that is implemented for Espressif ESP32 processor.

feature

  • supported hardware: FX.25 KISS TNC rev.1/2/3/4 and M5Atom, M5StickC Plus
  • using small interface board (ESP32TNC HAT) connecting to a transceiver
  • using ESP-IDF development framework to install TNC software
  • support Bell202 1200bps AFSK
  • implementing software modem, decoding capability same as TI TCM3105 modem chip
    • about 980 packets can be decoded against WA8LMF TNC TEST CD Track 1
  • support FX.25 forward error correction (Direwolf compatible)
  • support KISS protocol only
  • using USB serial for host connection and power supply
  • support Wi-Fi connection (TCP and UDP)
  • display received packet on the LCD (M5StickC Plus only)
  • working with internal battery (M5StickC Plus only)
  • decoding packet sound without TNC HAT using internal MIC (M5StickC Plus only)

Caution: not supported normal M5StickC

m5-tnc-1 m5-tnc-2

ESP32TNC HAT

ESP32TNC HAT is small interface board for connecting to a transceiver.

  • size is 24x24mm (same as footprint of M5Atom)
  • same PCB can support both M5Atom and M5StickC Plus
  • small number of parts (1 transistor, 5 resistors, 3 capacitors, etc.)
  • smallest TNC HAT in the world, may be :)

Schematic

schematic

CAD data

The schematic is here. (for KiCAD)
The gerber data is here. (for Seeed Fusion PCB)

BOM list

Reference Value Description Retail store in Japan
R1 option for VX8
R2 120k akizuki
R3 24k akizuki
R5 100R akizuki
R6 1k akizuki
R7 4.7k/22k Yaesu: 4.7k, Standard/Icom: 22k, Kenwood: open akizuki/akizuki
RV1 10k Bourns 3362P akizuki
C1,C2,C3 0.1uF Any ceramic capacitor, 2.54mm pitch akizuki
D1,D2 1SS178 Any small signal diode, e.g. 1N4148 akizuki
D4 LED 3mm Round, indicate PTT akizuki
Q1 DTC143EL Digital transistor akizuki
J1 5P 2.54mm pitch Pin Header, low-profile(9.54mm), for M5Atom akizuki
J2 4P 2.54mm pitch Pin Header, low-profile(9.54mm), for M5Atom akizuki
J3 MJ-8435 Marushin Electric, φ3.5mm jack akizuki
J4 MJ-2-34B0 Marushin Electric, φ2.5mm jack, also MJ-2-34A0 can be used momohara
J5 Terminal for SP/MIC/PTT/GND
J6 8P 2.54mm pitch Pin Header, Right Angle, for M5StickC Plus akizuki

R4 and D3 are missing number.
J1/J2 or J6 is alternative.

Mounting drawing

mounting

Solder jumper

Solder jumper is needed depending on a transceiver.

Manufacture JP1 JP2 JP3 JP4
Standard/Icom/Yaesu 1-2 1-2 bridge open
Kenwood 2-3 2-3 open bridge

for Standard/Icom/Yaesu icom

for Kenwood kenwood

Installing the ESP32TNC software

  • install ESP-IDF, ESP-IDF v4.2 is needed
  • download TNC software
git clone https://github.com/amedes/ESP32TNC.git
  • configure TNC software
idf.py menuconfig
  • chose ether M5StickC Plus or M5Atom
    menuconfig
  • compile and install
idf.py -p PORT -b 1500000 flash monitor

(To exit the serial monitor, type Ctrl-].)

  • have fun!

Instructions

inst-stick inst-atom

Known Issues

  • ESP32TNC will hang up when a packet radio application opens the USB com port.

The auto-download circuit of M5Atom/M5StickC Plus is wrong. So opening of the USB com port may reset the ESP32TNC and keep the reset state depending on the com port driver behavior. There is no workaround to avoid this fault. The following procedure may help you.

  1. unplug the ESP32TNC from the computer
  2. plug the ESP32TNC to the computer again and pray for luck
  3. re-execute the packet radio application
  4. repeat above procedure until good luck becomes...