[Phil] uses both his computer’s speakers and a set of headphones while working at his desk, but he was growing tired of constantly having to remove the headset from his sound card in order to insert the speaker plug. He’s been meaning to rig something up to make it easier to switch outputs, but never seemed to get around to it until he recently saw this LAN-enabled audio switcher we featured.
His USB-controlled switch features a single audio input and two audio outputs, which he mounted on a nicely done homemade double-sided PCB. The switch can be toggled using any terminal program, sending commands to the on-board ATtiny13A via an FT232R USB to serial UART chip.
The switch’s operation is really quite simple, merely requiring [Phil] to type in the desired audio channel into the terminal. The ATiny and a small relay do the rest, directing the audio to the proper output.
Nice, although I would have used vusb + 2313 =)
+1
or even ATtiny85.
This is pretty cool. My quick & dirty hack solution to this exact problem was just to wire up two sockets in parallel and live with the messed up impedence + lower output. This USB board would be much nicer :)
Hmm, I would have just used a cable splitter. But nice looking pcb, none the less. :)
“put a whole new shine on the word ‘overkill’ ”
an input, 2 outputs, and a relay should be enough. a computer shouldn’t NOT have a header on the mainboard(or soundcard) for a front panel audio jack and do all the above for us.
Uh… relay? How about a DPDT switch… it can take the two stereo input and route them to the common nodes of the switch to the output jack. You can even get these in push on/push off configuration if you just want to let gravity do the work for you when you reach over to switch audio channels ;-) hahaha.
reverse that… audio into the common, and out the poles to the two output jacks.
Yeah a switch works well. Won 3rd place in the Altoids’ Million Tin Contest with it. Also mine had a mic extender on it.
i have been wanting to build a headphone stand for a while that used two limit switches , but alas i always got sidetracked.
er: Tin Millions Uses
http://news.cnet.com/Once-an-Altoids-tin,-now-a-pinhole-camera/2100-1041_3-5979231.html
Using FETs to switch the audio would be a lot cleaner solution than having to resort to Relays.
FETs could introduce a lot more noise into the audio path than a relay will, and a relay doesn’t risk distorting the sound at high audio levels.
If you didn’t have a requirement to execute the switch from the pc, then a simple DPDT switch would accomplish the same goal. 3 audio ports all using a common ground, and a DPDT to switch between one output and the other.
What i have is a switched 6.5mm jack (DPST), with the signal wires to the speaker amp output jack hooked up to the switches.
Plug headphones in, speaker amp is disconnected. No issues with impedance, and no power required!
Huge overkill. It can be done with only FT232R on board, or like Necromant says vusb on Tiny2313.
Indeed, could’ve just used one of rts etc. pins as the toggler.
he could also skip the mcu and control the relay bit-banging the FT232R ports…
Almost every motherboard nowdays comes with two outputs, one on the back labeled “Speakers”, one header on the motherboard labeled “Headphones” which connects to the front panel IO.
You can control the output jacks separately from software.
Most Mainboards have several audio outputs, why not use those?
A very nice hack, well-executed. Although I’m not sure why you’d want to make it a computer-controlled switch for this application–why not just use a pushbutton DPDT switch?
If this were stand-alone, why require a computer at all? Why not put an IR receiver of some sort on the board and take a signal from a remote?
Nice job and an interesting approach. Just a recommendation for anyone else though: I switch between computer speakers and headphones often as well, all I did was plug in a stereo Y cable to turn the speaker output into two. Then sound always goes to both. I simply turn the computer speakers on/off as needed. Very simple, cheap, and accomplishes the goal. Not very “hackish” though :)
Just my $0.02.
-Chuck
Well, can you really say it is a overkill to use mcu if ATTiny costs 1$? And mcu gives one advantage over using just RTS line: When OS boots, all sorts of drivers can go and poke around ports to test what is attached. With mcu you can implement locking mechanisms to prevent unwanted switching.
First, sorry…hit report instead of reply by accident.
Second, maybe they mean overkill by the fact that you need to use a terminal. There are only two options here…why not just use a single push button???
Or buy a USB sound card. $2.14 from DX incl. shipping.
With such a great sound quality.
Or switch sound outputs using pulseaudio at runtime
This is serious overkill.
The comments remind me of the complaints of new programming students who refuse to understand why they need to design a flowchart and a class to add two numbers together, but then can’t design a class for their application later because it is too complicated.
He could have used switch or a button, but he used something that provides knowledge that can be leveraged to solve larger and more complicated problems.
I think it’s a decent hack.
This is serious overkill.
The comments remind me of the complaints of new programming students who refuse to understand why they need to design a flowchart and a class to add two numbers together, but then can’t design a class for their application later because it is too complicated.
He could have used switch or a button, but he used something that provides knowledge that can be leveraged to solve larger and more complicated problems.
I think it’s a decent hack.
Damn double twitch.
While a computer controlled switch is overkill for now, you could easily imagine writing a plugin for your media player that would switch the output to headphones when playing music.
When not playing music, the speakers can be used to hear your new mail notifications and meeting reminders.