Close
0%
0%

Portable Wi-Fi DAC & Amplifier

This project will allow for the transmission of high quality audio, which isn't possible through Bluetooth, to speakers and headphones

Similar projects worth following
Portable wireless audio predominantly uses Bluetooth for data transmission, which does not allow for high quality sound due to limitations in bit-rate. With the possibility of headphone jacks disappearing from phones as Apple is rumored to be considering, users will be forced to use either wireless or digital cables along with a portable DAC to continue using their headphones.

This project aims to provide a pocket-sized all-in-one solution that is capable of using high quality Wi-Fi data transmission as well as a digital signal through a cable to continue using current headphones and speakers with an auxiliary input.

The problem with audio devices such as wireless headphone is the use of Bluetooth to transmit data. Bluetooth is very efficient in terms of energy making it a popular choice for portable battery powered devices, but it generally suffers from a limited bit-rate.

Another method of audio transmission is through Wi-Fi, which is often used in home audio systems. Wi-Fi allows for much higher quality, but it tends to use far more energy and is more expensive meaning it is seldom used in portable technology. However, with the decreasing sizes and prices of Single-Board Computers (SBCs), it should now be possible to provide a portable solution using high-quality Wi-Fi data transmission.

In order to listen to the data from Wi-Fi, a Digital-to-Analog Converter (DAC) and an amplifier are required. After starting research on this idea, I found out that headphone jacks and internal DACs may soon disappear from new phones in a push to make them thinner. There are strong rumors that the new iPhone will not have them and other companies may soon follow.

In order to continue using current headphones and speakers with an auxiliary input, people will need to use either wireless or digital cables and carry a DAC. This project should provide a pocket-sized solution for people who don't want to buy new equipment while also allowing for high quality audio.

Adobe Portable Document Format - 69.38 kB - 05/30/2016 at 13:51

Preview
Download

Portable Network Graphics (PNG) - 148.45 kB - 05/30/2016 at 13:50

Preview
Download

JPEG Image - 15.92 kB - 05/30/2016 at 13:49

Preview
Download

JPEG Image - 24.31 kB - 05/30/2016 at 13:49

Preview
Download

JPEG Image - 15.15 kB - 05/30/2016 at 13:49

Preview
Download

View all 7 files

  • 1 × Domino.IO Core Single board computer
  • 1 × PCM1754DBQ Data Converters / Digital to Analog Converters (DACs)
  • 1 × ADG736 Switches and Multiplexers / Analog Switches and Multiplexers
  • 1 × OPA2134PA Audio ICs / Audio Amplifiers

  • Component Layout

    Hemanth Pemmaraju05/30/2016 at 13:19 0 comments

    When working out the component layout, one of my major goals was for this project to be compact and pocket-sized. Therefore, as a rough guide, I figured that it shouldn't be larger than a phone.

    I started by drawing the outline of my phone and trying to place the components within it. Looking at the schematic, it made sense to put all the power supply and amplifier components in one section, and have a separate section for the ICs and audio jacks. Since the parts are all very thin (with the minor exception of the boost converter), I separated them into two layers.

    I tried out a number of different arrangements, trying to make parts linked in the circuit diagram close together.

    Finally, I modeled the arrangement using CAD. For this application, I used PTC Creo. I made sure that the outside dimensions were correct, to ensure that there would be no collisions, but I did not produce parts with fine-detail. Where possible, I used the manufacturers' CAD models available online.

    This is the layout of the top layer. This consists of the single-board computer, voltage regulator (green) supplying 5V, the DAC and Audio Switch ICs on breakout boards, the micro USB port for digital audio in and the two 3.5mm audio jacks. One (at the top of the picture) for audio out and the lower one for bypassing the digital stages and using the amplifier directly. Space has also been to implement the detection circuit.

    The bottom layer contains the barrel connector for charging and external power supply, a voltage regulator (4.2V), two batteries stacked on top each other, the boost converter (in blue) and the amplifier components: the volume control dual potentiometer and the op-amp.

    The final series of combined assembly images should make it easier to place the components in the pocket-sized enclosure during manufacture.

  • Circuit Schematics

    Hemanth Pemmaraju05/30/2016 at 01:40 0 comments

    I drew up the circuit schematic using the layout of the ICs I am going to use. I then used this sketch as a reference to make a schematic on KiCad. Some of the KiCad footprints are not the same as the actual components though, so I'm uploading both schematics

  • Component Selection

    Hemanth Pemmaraju05/29/2016 at 23:28 0 comments

    The computer I selected for this project was the Domino.IO Core, mainly because it shipped very quickly and was readily available. This computer was short-listed because it has a very small form-factor and low power usage making it great for portable battery powered operation. It also has built-in Wi-Fi, so there's no need for additional modules as well as I2S for transmitting digital audio signals. Another added benefit is that the boards it can be mounted on are open hardware. Unfortunately the computer itself is not open source. However, it may be replaced with any other Linux based Single-Board Computer with very little change in design.

    The DAC selected was the PCM1754DBQ. It has a high sampling rate (up to 192 kSPS) and a sufficiently high bit-rate (24 bit) for high quality audio reproduction. It can also be directly connected to the SBC through I2S.

    For the audio switching, the ADG736 SPDT audio switch was chosen because it has a low resistance and is able to switch bi-directional current (essential for switching analog signals).

    Finally, I decided to go with a CMoy amplifier design. It's a very compact and easy design to implement, and there's tons of resources available to design it, such as the tangentsoft website. This website provides all the information required to build the amplifier and ensure it's running correctly, making the design ideal for getting the project up and running. This may be easily replaced with a more advanced amplifier at a later date. I decided to use the Burr-Brown OPA2132PA op-amp to implement this amplifier, but there's a wide selection available with their own unique sounds and features.

    While researching amplifier circuits, I came across an awesome CMoy amplifier using P2P wiring. Given that I don't really have access to any PCB manufacturing equipment and I want to limit the cost of the build, I decided to use some P2P wiring myself. Also I reckon it looks pretty cool.

  • Design Plan

    Hemanth Pemmaraju05/29/2016 at 20:24 0 comments

    I made this diagram to help plan out the design and visualize the components required.

    In order to get the Single-Board Computer to connect to the audio source, I am planning on using Shairport. The Shairport package allows audio to be played through Wi-Fi using AirPlay sources and iOS devices.

    Since I want this system to be light and portable, I'll use lithium-polymer batteries in parallel. They can be made very thin and light and I already have a few small ones lying around. These types of batteries can be dangerous if not properly maintained though. Initially, I was planning on using several in series to get a high enough voltage for an amplifier circuit, but the issues with balancing their charges meant an overly complicated circuit. Instead, I'm going to use a reasonably cheap adjustable boost converter board to step-up the voltage (blue board in image below). The board I'm using has a switching frequency around 400 kHz which is way higher than human hearing, so noise shouldn't be a problem.

    For simplicity, I'll charge the lithium-polymer batteries using a constant voltage of 4.2V. This can be obtained from an old 6V DC wall wart and an adjustable switching voltage regulator (green board in image above). Another regulator can be used to get the 5V required for the ICs.

    In order to get the most out of the device, I want to add the option of running analog audio through the amplifier bypassing the SBC and DAC. This means that the amplifier can still be used with a source that has a headphone jack. Instead of a switch, I wan to use a 4-pole audio jack (TRRS) to determine if an analog cable has been attached or not and switch the signals accordingly.

    This is the jack from the pair of headphones. The tip provides the left signal, the ring in the middle provides the right signal and the sleeve is the common (ground). A TRRS jack has an additional ring, which is generally used for a microphone. However this can also be used to detect if a plug is inserted, as it will connect the second ring to the common. This will change the resistance significantly, which can be used to provide switching logic to an IC.

View all 4 project logs

Enjoy this project?

Share

Discussions

dackdel wrote 07/10/2018 at 12:16 point

have you seen this https://www.hifiberry.com/beocreate/? you think its hard to create a schematic file for beocreate?

  Are you sure? yes | no

Craig Hissett wrote 06/09/2016 at 10:10 point

I want, nay, need one of these devices.

I've been contemplating a way to stream audio in my car via it's aux port, and this would be a great way of doing it.

Eventually I want to get a Raspberry Pi controlling an in-car system but until then this device would be perfect!

  Are you sure? yes | no

Hemanth Pemmaraju wrote 06/12/2016 at 03:45 point

Awesome. I'll put up the build instructions once I'm done if you want to make it.

  Are you sure? yes | no

Craig Hissett wrote 06/12/2016 at 06:38 point

Thanks mate!

  Are you sure? yes | no

Stuart Longland wrote 05/29/2016 at 08:08 point

I was considering something similar… one of my frustrations is that I like the idea of a wireless headset.  Bluetooth using A2DP is one-way and has all sorts of audible artifacts (on the headsets I've tried), Bluetooth HSP sounds utterly terrible (8kHz, 8-bit mono, welcome to 1991), and most non-Bluetooth wireless headsets I've seen are USB only.

At work I have my laptop, for which I use a wireless USB headset, but then to use the phone (Cisco IP phone), I have to switch to a different analogue headset (a former wired Logitech USB one that I hacked up).  I also have radio transceivers that are purely analogue.  It'd be nice to use the one headset for the lot.

I did stumble on http://www.nuvoton.com/hq/products/microcontrollers/arm-cortex-m4-mcus/nuc505-series/nuc505ds13y/?__locale=en (and others in the NUC505 family) which looked interesting, that and an ESP8266 would give you a quite capable wireless ADC/DAC that could either interface a headset to a phone or an analogue device to a headset.  No idea what the chip is like to code for, but as a concept, it looked interesting.

Maybe an external CODEC and a cheap MCU is a better option, not sure.  But a bi-directional device could be handy for a multitude of reasons.

  Are you sure? yes | no

Hemanth Pemmaraju wrote 05/29/2016 at 21:34 point

I've had similar problems with Bluetooth headphones using A2DP (and now I'm glad I've never tried one using HSP). I wonder if some of the problem has been with the audio coding though? Have you tried anything using some of the new codecs, like aptX? I have heard that they are supposed to be near CD quality through A2DP, but it's really hard to find two devices with compatible codecs to make use of it. 

At the moment, I've been focusing on the audio output, but I was thinking of adding an ADC and using the single-board computer to transmit a microphone input back once I get that part done. Those NUC505 micro-controllers look like a really appealing alternative though. 

  Are you sure? yes | no

Stuart Longland wrote 05/29/2016 at 21:45 point

No idea on the CODEC used… I know the headsets I've tried, most of them didn't do A2DP… HSP was intended for hands-free headsets with mobile phones, it's only recently that they've gone wideband there.  So 8kHz is fine for a phone call on pre-4G GSM, but VoLTE is a different story.

The one A2DP headset I have, a cheapo Digitech one, sounds like the music's being played down a drain pipe.  That said, it's the only headset my rather fussy Yaesu bluetooth module would talk to at all, and even then, it is not reliable.

One advantage of having the ADCs there is that you can have a fairly general-purpose module.  The same hardware can be an interface to an audio device or a headset/speakers, it really doesn't matter.  To the devices at each end, the wireless link can be transparent, CODECs cease to be an issue.  Alternatively, if the device supports it, it can stream direct over the link.

You can bounce both ways and not be constrained by the technology. :-)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates