Escape Cable Hell with an Audio I/O Multiplexer

If you ever find yourself swapping between a mix of audio inputs and outputs and get tired of plugging cables all the time, check out [winslomb]’s audio multiplexer with integrated amplifier. The device can take any one of four audio inputs, pass the signal through an amplifier, and send it to any one of four outputs.

The audio amplifier has a volume control, and the inputs and outputs can be selected via button presses. An Arduino Pro Mini takes care of switching the relays based on the button presses. On the input side, you can plug in devices like a phone, TV, digital audio player or a computer. The output can be fed to speakers, headsets or earphones.

At the center of the build lies a TI TPA152 75-mW stereo audio power amplifier. This audio op-amp is designed to drive 32 ohm loads, so performance might suffer when connecting it to lower impedance devices, but it seems to work fine for headphones and small computer speakers. The dual-gang potentiometer controls the volume, and the chip has a useful de-pop feature. The circuit is pretty much a copy of the reference shown in the data sheet. Switching between inputs or outputs is handled by a bank of TLP172A solid state relays with MOSFET outputs, and it’s all tied together with a micro-controller, allowing for WiFi or BLE functionality to be added on later.

[winslomb] laid out the design using Eagle and he made a couple of footprint mistakes for the large capacitors and the opto-relays. (As he says, always double-check part footprints!) In the end, he solder-bridged them on to the board, but they should probably be fixed for the next revision.

[winslomb] built the switch as his capstone project while on his way to getting a Masters in EE, and although the device did function as required, there is still room for improvement. The GitHub repository contains all the hardware and software sources. Check out the video below where he walks through a demo of the device in action. If you are looking for something simpler, here is a two input – one output audio switcher with USB control and on the other end of the spectrum, here’s an audio switch that connects to the Internet.

Continue reading “Escape Cable Hell with an Audio I/O Multiplexer”

Tiny audio switcher eliminates repetitive plug swapping


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

A Few of Our Favorite Chips: 4051 Analog Mux

Raindrops on roses, and whiskers on kittens? They’re alright, I suppose. But when it comes down to it, I’d probably rather have a bunch of 4051, 4052, and 4053 analog multiplexers on the component shelf. Why? Because the ability to switch analog signals around, routing them at will, under control of a microcontroller is tremendously powerful.

Whether you want to read a capacitive-sensing keyboard or just switch among audio signals, nothing beats a mux! Read on and see if you agree.

Continue reading “A Few of Our Favorite Chips: 4051 Analog Mux”

A 16-voice Homebrew Polyphonic Synth

Homebrew synths – generating a waveform in a microcontroller, adding a MIDI interface, and sending everything out to a speaker – are great projects that will teach you a ton about how much you can do with a tiny, low power uC. [Mark] created what is probably the most powerful homebrew synth we’ve seen, all while using a relatively low-power microcontroller.

The hardware for this project is an LPC1311 ARM Cortex M3 running at 72 MHz. Turning digital audio into something a speaker can understand is handled by a Wolfson WM8762, a stereo 24-bit DAC. Both of these chips can be bought for under one pound in quantity one, something you can’t say about the chips used in olde-tyme synths.

The front panel, shown below, uses 22 pots and two switches to control the waveform, ADSR, filter, volume, and pan. To save pins on the microcontroller, [Mark] used a few analog multiplexers. As far as circuitry goes, it’s a fairly simple setup, with the only truly weird component being the optocoupler for the MIDI input.


The software for the synth is written mostly in assembly. In a previous version where most of the code was written in C, everything was a factor of two slower. Doing all the voice generation in assembly allowed for twice as many simultaneous voices.

It’s a great project, and compared to some of the other synth builds we’ve seen before, [Mark]’s project is at the top of its class. A quick search of the archives says this is probably the most polyphonic homebrew synth we’ve seen, and listening to the sound sample on the project page, it sounds pretty good, to boot.

Upgrade a toy keyboard’s tone production


[Jan] was given this toy keyboard and decided to make it the subject of his next project. In addition to having three octaves of keys it’s got a ton of buttons used to select different modes. He gave it an upgrade by installing his own tone production circuitry seen in the upper right.

His preliminary investigation of the stock components yielded a mystery uC encased in a blob of black epoxy. He wasn’t going to be getting anywhere with that, so he started by figuring out how to use 4051 multiplexers to read all of the keys. Outputs for that were routed to a 20 pin header for easy connection to the synthesizer board he would build in the next part of the project. He based it around an ATmega8, which we know can produce some killer chiptunes audio. Once he had everything working he laid out a circuit board in Kicad to ensure the transplanted circuitry would hold up inside of the toy keyboard. You can hear all of different effects it’s capable of in the clip after the break.

Continue reading “Upgrade a toy keyboard’s tone production”

Disco Planet, a massive RGBW LED array in a 6′ globe

About half a year ago [John] over at Frank’s Kitchens came to me with an idea for a giant lighting project. He had this 6ft diameter aluminum frame globe rescued from the Philadelphia Theater Company and wanted it to be an interactive display of sorts. After a few discussions we got together and somehow managed to order 800 3 watt LEDs in red, green, blue, and white. We had a system that worked great on paper, and managed to get it built by Valentines day for a big show. It failed miserably and hardly even illuminated the LEDs. I, naturally, took this far too personally and set out for a complete redesign, looking in the direction of digitally addressable LED strips.

In addition to building a crazy turbo charged LED array I also spent a lot (a whole lot) of time coding a nice clean fully functioning RGB LED strip controller using an Arduino Pro Mini (5V 16 MHz), the MSGEQ7 audio frequency multiplexer (PDF) , and an IR remote. I plan on using this for other projects so the code can be easily reconfigured to use many different LED strips and a whole slew of IR remotes.

The schematic of the globe is here. The top half  of that schematic be catered to other projects using a variety of pre-built LED strips. The pastebin with code is here,  fastSPI_LED and IRRemote here and here. Some code jockeying was required to get IRRemote.h and FastSPI_LED to play nicely together, so check the code comments.

Continue reading “Disco Planet, a massive RGBW LED array in a 6′ globe”