The DuinoVOX Arduino powered digital modes USB interface for ham radio.
I wanted a better computer to radio interface than what I was using, straight connection from the computers audio jacks. Being unemployed for awhile, I couldn't afford $100 to buy a Signalink commercial interface, so I built my own. Also, I wanted to use an Arduino in a ham radio project. It came out so well, that I've decided to publish it here. If you build it and like it, please let me know.
Below is the schematic. I did a youtube video on the project, watchable at this link.
The USB sound dongle can be purchased on Amazon.com for less than $10. Search for "USB sound adapter" and you'll find dozens of them. Look for one with a split plastic case so you can take it apart. You'll need to tap +5V and ground at the USB connector, the outside pins of the 4 pin connector.
You can used 1/8" jacks to plug in to it, or desolder the existing jacks and tap audio right off the PCB with thin coax or other shielded cable.
The audio coming from the USB sound device is low voltage. 1.7 volts P-to-P max volume. Since the Arduino will only sense positive voltage, that's 900mv at best. Depending on the point in time that you sample the signal, you can catch it anywhere from zero on up to .9 V within the waveform. Not great.
So, Q1 is a simple amplifier that takes the input signal up to the full 5V on peaks.
The amplified signal passes through D1 and charges C4. D1 prevents the cap from discharging back through the transistor, so you get an accumulated voltage up to around 4.4V DC during a full volume signal. This gives an excellent range on the input to the Arduino, and allows for sensitivity adjustment to be done in software.
R6 bleeds the capacitor down when the audio stops.
Q2 takes the PTT signal from the Arduino and grounds the radios PTT line to key it into transmit.
C1 and C2, I used non polarized caps since I had them on hand, but regular electrolytics will work fine. If you're concerned about isolation, you could use two 600:600 Ohm transformers instead.
C4 is not critical. If you don't have a .22, put two .1 in parallel
R7 and R8 don't have to be 10K, can be anything from 10K up, don't have to match either.
C3 can be anything from 1uf up to 10uf
One important tip on using this interface. On your computer, you'll want to set the playback volume for the interface sound card to maximum, then use the drive control knob to set the audio level to your rig. This gives the vox circuit plenty of audio to work with.
The Arduino source code is pasted below. You should be able to copy paste it right into the Arduino IDE. If you have trouble, let me know and I'll email the file to you. Thanks and 73.
If you build this and love it, and you'd like to leave me a tip, my email registered with paypal is firstname.lastname@example.org