SkillAgentSearch skills...

ESP32TNC

Terminal Node Controller (TNC) for ESP32

Install / Use

/learn @amedes/ESP32TNC
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

Related Skills

View on GitHub
GitHub Stars72
CategoryDevelopment
Updated3d ago
Forks13

Languages

C

Security Score

85/100

Audited on Mar 29, 2026

No findings