I've built many small speaker projects before, but whilst they do sound perfectly reasonable, sometimes you notice that lack of bass.
Physics plays a restriction - small speakers, in a small box with a small baffle are going to slowly start to not reproduce frequencies efficiently below 200Hz, and dropping quite rapidly after 100Hz.
The solution is to boost the frequencies required (or use a bigger speaker and box, but at a cost of portability).
This circuit does just that, and operates on a single 5V power supply for convenience, and can even operate down to 3V. It will boost the input signal for lower frequencies so that your power amplifier receives a larger signal for these frequencies, and subsequently your speakers.
There is a downside though - the power amplifier will require more power to give the speaker higher voltages at these frequencies. This will reduce your overall volume, causing distortion to kick in a bit sooner, so this circuit is more suited to improving sound quality when you're listening to music in a hotel room (or improving the sound of many TV speakers) rather than partying with friends.
The goal here is to make a very small, battery operated circuit which you can squeeze into your speakers, and improve the bass response. It's almost like a loudness filter, fresh out of the 80's! But it does not boost treble.
Circuit and calculator:
The schematic below shows the circuit for one channel. It is in an inverting configuration - these are more stable for single supply operation and give us the ability to cut as well as gain, however if you are intending to combine this bass boost circuit with other speakers or a subwoofer, you will be out-of-phase with these, which will cancel out soundwaves.
Therefore, this circuit is intended for use with speakers on their own, but a simple inverting buffer following this will put the phase back as required.
Single supply operation:
Op amp circuits are simpler to build with a split power supply - in my hifi systems I use +15V, -15V and a ground 0V. Split supplies are required for an AC signal to go positive and negative to the ground.
But for battery operated circuits, we can do either of these options:
- Use two batteries in series, with the 0V line taken from where the negative terminal of the first battery meets the positive terminal of the second. This has a disadvantage of also requiring a split power supply when powering off the mains and makes operating off a USB port difficult.
- Use a splitter - a simple voltage divider (such as Project 43 on sound-au.com) can split the battery or USB port providing a half voltage for the ground. This becomes a problem when the source supplies the signal and power ground though - such as a laptop supplying USB ground and audio ground via the headphones port. Suddenly the headphone port gets 2.5V - not ideal!
- Use a splitter to offset the input signal to the op-amp. The circuit above does that. It offsets the signal by adding half the voltage (i.e. 2.5V) to the AC signal. This allows the AC signal to go negative up to -2.5V and positive up to 2.5V.
The third option is used here. This allows me to connect any battery, USB power source or single supply PSU without worry.
There are some disadvantages to using this method - so for hi-fi I recommend split supplies, but this circuit is not really hi-fi!
- You need to use some more components. For split rail operation you can reduce the component count - just connect the op-amp inverting input (+) to ground and delete R5, R4, C2 and C4. In a single supply stereo system, we can avoid duplicating all components - we can use the same R5, R4 voltage divider and C2 to connect the inverting input on both channels since both channels can use the same voltage offset.
- Less stability - fluctuations on the power supply, hiss and hum can be injected into the input signal. C2 on the voltage divider helps reduce hum.
- Low frequency cut-off - C2, C3 and C4 actually operate as high pass filters and therefore have a -3db cut-off point where low frequencies start to fall off. In this circuit though, we can use this to our advantage! This is because we can cut frequencies below around 30Hz, since small speakers are never going to get there anyway!
If this circuit is built with a +12V or higher single supply, or a +/-6V (or higher) split supply, the op-amp itself is not critical as it can boost without clipping. NE5532, TL072, or even a humble 4458 will work OK if you have +12V available.
With only a single supply of 5V or lower though, these typical op-amps cannot work as they can only reach 2V to 3V of the supply voltage. The 2.5V DC offset is already within the limits and won't allow an up to +/- 1V AC signal to run through it.
We need something more modern. Rail-to-rail op amp exist and many of these will suit the requirements. I went for the LMV358 (not to be confused with the LM358) as it is one of the cheaper rail-to-rail op-amps. This is a dual op-amp, but comes in a 8SOIC package (or even smaller - but these are really difficult to solder for DIY!). Standard DIP rail-to-rail are rare, but you can buy SOIC to DIP adaptors cheaply and I did just that to prototype this circuit on a breadboard, and I brought 10 of them for experiments, backup and potential future use.
The small size has an advantage - with a few other surface mount and back soldered components, the PCB I built is very small! I'm quite happy with the LMV358 choice - however be aware that this chip has a maximum supply of 5.5V, so the application is limited to USB power or 3x 1.5V batteries. For my speakers, I either used a PAM8403 amplifier which has the same voltage restriction, or a bridged TDA2822 which shouldn't take more than 6V single rail, so I didn't mind.
So, how does it work? Here are some pointers:
- R4 and R5 make a voltage divider. The suggestion is 33K (for down to 3V) to 100K (for upwards of 5V) for battery operated devices to reduce power consumption. Lower values reduce hiss and improve stability at the expense of power consumption. The goal here is battery operation and USB operation, so lower consumption is better for longer life and more volume on the amp when required!
- C2 is to reduce hum on the DC output of the divider. 100nF or upwards will work effectively. This does form another high pass filter with R5 so higher values will reduce the frequency cut. With 100Hz it's around 35Hz though, and the small speakers cannot reproduce frequencies below that anyway.
- R1 and R2 set the normal gain. With 47k, the gain is 1 so no signal change. R1 should be around 1/2 the R4/R5 value for improved stability.
- C1 sets the break frequency. At low frequencies, C1 blocks the signal, forcing low frequencies to go via R3 instead
- R3 with R1 limits the gain above the cut off frequency of C1. This should be higher than R1 to give bass gain/boost.
- C3 blocks DC from input signals. It also forms a high pass filter with the impedance of R1. We can use this to cut frequencies below 30Hz since small speakers will never do that!
- C4 blocks DC from output signal (this has a 2.5V DC offset on a 5V PSU). Again it forms a high pass filter with the impedance of the amplifier. Make C4 large enough to cope with a variety of amplifier impedances. 1uf with a 10k amp impedance (fairly typical) gives a cut at 15Hz.
You can download an Excel Spreadsheet here, or open format here. This uses formulas to calculate the values should you wish to adjust them. The second sheet is an alternative version that overall gives cut, but more bass boost without clipping.
Below is a full schematic for a stereo version and provisional values that you can start with.
I've added a switch to turn off the boost, achieved by shorting out C1. When shorting C1, you'll get a modest cut in volume which should hardly be noticeable with a 1M resistor for R3. R3 and R2 in parallel gives 44.8k giving a gain of (44.8 / 47) = 0.95. A normally closed or push to break switch would give you a button that you push in for bass boost. It needs to be double pole for stereo.
Alternatively, the bass boost can be switched off by bypassing the circuit altogether using a DPDT switch to bypass the stereo signal. The signal would change phase however, as this circuit inverts it when active.
In addition to the schematic above, you should add bypass capacitors across the op-amps negative and positive pins (pins 4 and 8). This would be a 100nF ceramic capacitor and 100uF electrolytic capacitor, shown in the full schematic below. These capacitors should be as close as possible to the op-amp pins.
This schematic also has added bypass capacitors on the 1/2 V supply - C2 is 100nF but to give better performance, C8 is added which is a 100uF electrolytic.
The circuit shown gives quite a lot of boost - R3.1/R3.2 is shown as 1M ohm - this gives good results but do experiment. During my tests, I found that this circuit runs better placed after a volume control. Connecting directly to the source can sometimes cause problems and I found that whilst connecting directly to TV or a portable radio was absolutely fine, connecting to the headphone out for mobile phones caused one channel not to work, and the other to be slightly distorted.
To solve this, put this circuit after a volume control. Shown below is how I also added a low pass filter too in order to eliminate high frequencies and reduce the load on the source. Shown with 1k and 6.8nF capacitors, frequencies above 23kHz will be -3dB down. I however used 10nF which will be down -3dB at 16kHz - which good enough for music and TV use and I doubt my small speakers will reproduce frequencies above this anyway. You can adjust the resistor and capacitor to suit - the -3dB point is calculated with 1 / (2πRC). 820 ohms and 10nF will be another good combination - 19.4kHz -3dB point.
With this, connecting mobile phones to the speakers worked perfectly, with good bass boost. Alternatively, if you already have a volume control in your amplifier, you may get some success (not tested) by just putting a 10k resistor between the input and ground.
The PCB is a drilled and etched one. Layout is not particularly critical, avoid ground loops on the board and bring the ground points to a single point, just like you should on all audio boards.
The board is manually drawn with an etch-resistant pen and etched in ferrite chloride. This is cheap and easy, and actually very reliable and easy to solder, but you may have the equipment to do better than this. On the other hand, making this on veroboard/stripboard prototyping boards is also fine, just get an adaptor if you are using a SOIP chip like the LMV358.
I had and used 100nF surface mount capacitors for the input capacitors C3 and voltage divider capacitor C2. This reduces size further too.
Below is the etched layout before soldering.
My drawn PCB version. I always like to draw the board layout with pencil on paper first so I can make corrections. I then punch holes with a compass point
so I can reverse and use this paper template as a template for drilling the board.
Soldered side of the board.
Top side of the board.
Note that my PCB design can be improved further and you should also consider these points:
- Swap the position of R4 with the capacitor - the capacitor should be between the voltage source (the two resistors) and the drain (op-amp)
- The 100uF capacitor C6 should also be between the V in (source) and the drain (op amp) rather than the position I put it. I later soldered this to the bottom of the board close to V in and Ground but you can include it in the design.
Note that my board used 2.2uF capacitors instead of 1uF at the outputs - these will work just as well.
With the custom PCB, SOIP op-amp, surface mount resistors and reusing the voltage divider for both stereo op amps - the result is a very small board. Light and easy to squeeze into any project, and improves the sound of my small speakers, making them sound warmer and bigger than they actually are!
I've tested this circuit on USB power and two slightly used AA batteries (giving less than 3V) - both have worked fine.
Feel free to tweak though. More gain or less is obtained by changing R3, and the gain frequency can be adjusted by changing C1.
Some references that helped me with this circuit: