Giter Site home page Giter Site logo

rpi-wd-packet-interface's Introduction

RPi-WD-Packet-Interface - A digital mode soundcard interface for the Raspberry Pi!

I set up an APRS igate using a Raspberry Pi device and a TNC-Pi 'hat'. While troubleshooting some other issues, I inadvertantly damaged the TNC-Pi, so I decided to go with a software TNC application. In this case, I chose Dire Wolf by WB2OSZ. In his documentation, he specified a simple radio PTT interface that included a 'watchdog timer' to prevent a software issue from locking the radio into transmit. Working with WB2OSZ, I expanded the circuit and created a board with the following features:

Selectable transmit and receive channels

  • I noticed between sound card dongles, the mic input could be on the left or the right channel, depending on how much care the manufacturer put into it. A jumper lets you pick the channel that works with your card. I added a transmit channel selector for the same reason, but also so you can use a 'Y' cable with your stereo sound card and use two interfaces to work with two radios without any cable hacking.

Transmit audio level pot

  • The radio is expecting millivolts of input into its MIC input. Modern sound cards can put out more than 2V peak to peak. This is really bad for distortion and over-deviation. Right now, I use about 40% volume on the sound card, and 20% volume on the pot. The audio is DC isolated with a capacitor to prevent phantom voltage (for electret microphones) from either the sound card or the radio from damaging anything.

Adjustable watchdog delay

  • Most people will use this for packet, but some others may use it for things like RTTY, JT-65, QRSS or any other digital mode that has a long duty cycle. I added a big cap and 25-turn trimmer for a delay adjustable between 0 and 110 seconds with the parts specified. One can solder in a fixed resistor or change values for something that doesn't need to be adjusted. Calculators are out there.

DCD (received packet) LED

  • The newest version of Dire Wolf can trigger a GPIO pin to signal a successfully decoded packet. Just bring this pin 'high' and the yellow DCD LED will light up. Yay. Good for watching activity at-a-glance from across the shack.

Selectable single-wire handheld PTT or 'Kenwood' dedicated PTT wire method

  • Most HTs use a resistor to ground on the microphone input to trigger PTT. Kenwood/Baofeng and some others have to be different and ground the mic shield to trigger. You can set a jumper to select whatever method you need.

Standard Kantronics DB-9 radio interface

  • I already had some cables I made and bought for radios when using my KPC3. The TNC-Pi and (I believe) the TinyTrak and OpenTracker devices use the same standard. This makes it easy to buy cables if you don't want to make them, or re-use ones you already have kicking around. FWIW, I hate DB9 connectors and prefer RJ-45 for these purposes, but I wanted to make it 'standard'. Signalink and RigBlaster use a similar (although RB is reversed) RJ-45 standard, but it's not as prolific. In case someone hates DB-9 as much as I do, I called out the signals on the pads to which they can be directly soldered for a cable, header pins, etc.

Native 3.3v Rpi logic levels

  • Using this board as configured works with the 3.3v logic the RPi uses. If you use another controller (like an Arduino) you can use 5V logic as the LMC555 CMOS can handle it without a sweat, but you will need to change the resistor values for the LEDs and transistor bias. You can also skip 3.3v altogether if you want to use it with a 5V microcontroller and use a cheap and widely-available LM555N (and the appropriate resistor changes).

Uses standard 60mm x 60mm 'Sick of Beige' PCB size

  • Just like the xkcd comic about standards, there is a new PCB size standard for the Maker crowd called Sick of Beige. They have some cool acrylic cases at Seeed Studios, but you can probably find others or fab up your own. The original board was smaller, but in order to fit into the SoB standard size, the minimum size that would fit the DB-9 connector is 60mm. Please note this is not a 'hat' for the RPi. It's a separate board.

Open Hardware

  • I put the time into it, but like most of my projects, once it's done, it's done. I figure others can benefit from my work, so I may as well pass it on. This project is licensed under Creative Commons Attribution-ShareAlike, so you can edit it, improve it, remix it into another project, make and sell PCBs or kits, etc. You just need to specify a link back to the original source (here) to comply. It's no big deal.

Readily-available parts

  • You probably have most of these parts in your bin, but things like the 3.5mm and DB-9 connectors are available at SparkFun. I specified genuine Borne trimpots in the PCB footprints but they are commonly used by others. You can find them at Mouser or many other places.

You can order a pre-made PCB from OSH Park (with the beautiful purple solder mask as shown). They come in multiples of three, so order some for your friends or make a couple for a multi-rig interface. You can also take the Eagle files and have them made elsewhere, or make your own using a toner transfer or photo etch PCB process. Go nuts.

Known issues

None at this time.

Enjoy the interface, and see you on the air.

rpi-wd-packet-interface's People

Contributors

jaymzx avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

rpi-wd-packet-interface's Issues

Power distribution

Add Anderson Powerpoles for DC input power, and provide power to one or more USB ports. Use this to power the Pi.

PTT and/or CW key options

Allow the following methods for triggering PTT:

fldigi can also use hamlib, rigcat, RTS/DTS pins of a serial line, or a pin on a parallel port.

Looks like we want the existing detector circuit on the left channel, an additional detector circuit on the right channel, and a means of selecting which PTT to use. (but sound to radio always goes to left channel--happily, channel 0 for direwolf). PTT options are: GPIO input, left detection, right detection.

Should put a special CW/PTT out connector to wire to a CW key.

Ethernet / PoE

  • Powerpoles #2
  • USB hub #4

Provide ~12W PoE ([email protected]) to ethernet device (e.g., Ubiquiti WiFi access points). This will likely require a DC-DC converter

10/100 USB Ethernet controller and RJ45

USB Hub

Add a USB hub chip and "adequate" output ports. Expected connectivity:

  • "Upstream" USB to the controller (WiFi router's USB port/Arduino/Pi/Odroid/phone/laptop/tower computer)
  • USB to optional external GPS
  • USB to onboard soundcard chip
  • USB to onboard Ethernet controller to local network or WiFi router/access point (#3)
  • USB to CAT control interface?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.