PI Teensy TNC Hardware Overview The TNC consists of a board with a Raspberry PI form factor fitted with a Teensy Microcontroller with analog circuity to interface to the audio input and output of a radio and digital logic to support a variety of interfaces to a host computer. The main features are Teensy Microcontoller. Can be fitted with a Teensy 3.2, 3.5 or 3.6. Raspberry PI Header. Can be fitted with a stacking header to allow more than one TNC to connect to A Pi. Can use either Serial or i2c interface to the PI. Op Amps to interface the audio levels to/from the radio to the 3.3 V levels used by the ADC and DAC on the Teensy. Digital Pots to set the gain of the op amps to suit the levels to/from the radio A PTT circuit (open collector NPN transistor). A LED to indicate PTT state and four status LEDs Radio interface via DB9 or 6 pin MiniDIN connectors or header pins. Can be powered via the PI Header, the USB port on the Teensy, header pins on the board, or a pin on the DB9 connector. In the latter can be fed 5V or 12V via an optional regulator. Host to TNC interface is via the PI header, the Teensy USB port or over TCP via an optional ESP01 module. A Bluetooth interface module could be connected in place of the ESP01. I've used the SCS Host mode protocol rather than the original ARDOP TCP protocol, as I had the code available and it opens up the possibility of use with existing applications. I've tested with Winlink Express, configured to think it is talking to a P4 Dragon. Connectors for optional OLED or TFT Displays. Currently Available Software ARDOP. This needs at least a Teensy 3.5 though as the 3.6 costs very little more I suggest using that Packet. Runs a port of Thomas Sailor's Linux Soundmodem code. This will run on a Teensy 3.2 Soundcard. Emulates a soundcard to the host. Has audio derived PTT. The board has an ARM Cortex M4 180 MHz core, with 1 MB Flash and 256 Kb RAM, amd I'm using the 16 bit ADC and 12 bit DAC for the sound interface. It has hardware floating point (single precision) and there seems to be plenty of processor power, even before optimising with the Cortex DSP library. The sample rate is derived from the Teensy's xtal, which as far can find out is spec'ed at 20 PPM. I tested a few with a GPS module with a 1 PPS output and frequency was about 14 PPM out. The feedback capacitors on the opamps may need to be changed or even left out, and you could replace the digital pots (MCP4261) with a couple of normal 50K pots to keep it simple. The board is designed to take either a Teensy 3.2 or 3.6. The 3.6 is needed for ARDOP but the 3.2 could be used for a 1200/9600 packet TNC. I've fitted pins to mine. Round pins allow it to fit into a lower profile socket, which I will use for my PI board, but for prototyping either round or square will do. The Teensy ARDOP code supports a rig control port with the control data multiplexed over the host serial port, so only one connection to the host pc is needed. There is a choice of DB9 or MiniDIN connectors. I like the miniDINs, as that is what is on my radios and cables are cheap (usually sold as PS2 Keyboard/Mouse Switchbox cables). Power (5V) is via the PI header, USB connection, a 2 pin header on the left edge of the board or a pin on the DB9. In the latter case it can be 5V direct or 12V via an optional regulator at JP5.   On the ones I've build I've replaced the 1 uF audio coupling capacitors C5 and C8 with wire links. So long as your radios aren't DC coupled on input and output (none of mine are) you don't need them, and for 9600 you need good low frequency response. I've also left off the op-amp feedback capacitors (C6 and C7). I thought they might be needed, but the circuit seems stable enough without them and it keeps the hf response up. The TX and RX registers go from 0 to 255 and correspond roughly to 0 to 3000 mV peak to peak, both on input sensitivity and output level. The only case where I’ve found the need to override the input auto level control is when two TNCs are connected back to back for testing. The board is programmed via the Arduino IDE with the Teensyduino add-on.