Hi guys,
This is my first attempt at making my own headphone amp, and I'm still very green in the DIY department, so please go easy on me 😛
I was searching for tiny CMoy amps online just for fun, and I found the 'msop CMoy' on another forum. I liked the design, and it was really tiny, but it had several drawbacks in my opinion. So I thought I'd go ahead and see what I can do with 1 square inch of PCB. The actual PCB design is exactly 1" wide and 1" high (2.54 x 2.54mm).
Here are the results (please excuse the crappy PCB cuts):
The board on the right is the amp, and the board on the left is the LiPo battery charger I made to go with it.
Here they are populated with components, tested and working:
Here's some info on the components I used.
I decided to use an OPA2134 for the first one I built, but I still have a few other SOIC-8 op-amps I could use.
All resistors and ceramic caps are 0805, and the tantalum caps are bog standard 1306.
All resistors are 1%.
I have used a 100K input resistor, and 100K and 200K resistors for the feedback loop, for a small x3 gain. I got 510K 1% resistors as well in case a higher gain will be needed.
0.1uF ceramic filter caps very close to the op-amp's power pins and
10uF 16V Tantalum caps just in case to keep the voltage rails stable.
I used 150mAH Lipo's from Adafruit. I went with these because they're just about the same size as my target PCB size.
The 'improvements' in my version over the msop CMoy are as follows:
1) Dual rail power supply. No rail splitter IC required.
2) 3.5mm input and output jacks on board.
3) 0.22uF Panasonic PPS (ECH-U1H224GX9) input caps.
4) On/Off switch.
5) Battery status indicator LED.
6) SOIC-8 chip, more options and easier to hand solder.
I have ran a few tests and I think there are noticeable improvements in the quality of sound, particularly music sounds clearer, instruments are more detailed and 'noticeable'. So far I like it a lot. Even my cheapo 16ohm IEMs seem to sound a lot better through this amp.
I'd like to hear what you guys think of this little project and what I could/should do to improve on it. Also what other op-amps would you recommend me to try out on this amp?
This is my first attempt at making my own headphone amp, and I'm still very green in the DIY department, so please go easy on me 😛
I was searching for tiny CMoy amps online just for fun, and I found the 'msop CMoy' on another forum. I liked the design, and it was really tiny, but it had several drawbacks in my opinion. So I thought I'd go ahead and see what I can do with 1 square inch of PCB. The actual PCB design is exactly 1" wide and 1" high (2.54 x 2.54mm).
Here are the results (please excuse the crappy PCB cuts):


The board on the right is the amp, and the board on the left is the LiPo battery charger I made to go with it.
Here they are populated with components, tested and working:


Here's some info on the components I used.
I decided to use an OPA2134 for the first one I built, but I still have a few other SOIC-8 op-amps I could use.
All resistors and ceramic caps are 0805, and the tantalum caps are bog standard 1306.
All resistors are 1%.
I have used a 100K input resistor, and 100K and 200K resistors for the feedback loop, for a small x3 gain. I got 510K 1% resistors as well in case a higher gain will be needed.
0.1uF ceramic filter caps very close to the op-amp's power pins and
10uF 16V Tantalum caps just in case to keep the voltage rails stable.
I used 150mAH Lipo's from Adafruit. I went with these because they're just about the same size as my target PCB size.
The 'improvements' in my version over the msop CMoy are as follows:
1) Dual rail power supply. No rail splitter IC required.
2) 3.5mm input and output jacks on board.
3) 0.22uF Panasonic PPS (ECH-U1H224GX9) input caps.
4) On/Off switch.
5) Battery status indicator LED.
6) SOIC-8 chip, more options and easier to hand solder.
I have ran a few tests and I think there are noticeable improvements in the quality of sound, particularly music sounds clearer, instruments are more detailed and 'noticeable'. So far I like it a lot. Even my cheapo 16ohm IEMs seem to sound a lot better through this amp.
I'd like to hear what you guys think of this little project and what I could/should do to improve on it. Also what other op-amps would you recommend me to try out on this amp?
Member
Joined 2009
Paid Member
The feedback resistor values are way too high. If you look at the OPA2134 DS, it recommends an impedance imbalance (+ vs. - input) of no more than 2 kOhms. Since sources tend to be low in impedance, you can safely go with 1k+2k - thin-film preferred, btw.I have used a 100K input resistor, and 100K and 200K resistors for the feedback loop, for a small x3 gain. I got 510K 1% resistors as well in case a higher gain will be needed.
Also note input common-mode input range limitations of this part - about 2.5 V from both rails. It should just about work out with a gain of 3, but I wouldn't go any lower. An inverting configuration may be worth trying.
Being able to fit a NJM4556AM in DMP package (somewhat wider than SO, same pitch) would be an additional bonus. A well-behaved part with lots of oomph for lower-impedance loads that should not need any output series resistance.
Any plans for a volume control?
Neat little project in any case.
Thanks for the feedback guys.
I ran a battery test today and the amp managed 10.5 hours before the batteries went down to 3.8v and the low battery indicator came on, and then it managed another 3.5 hours (full 14 hours) before the batteries went down to 3.7v and I shut it off. I think that it's a pretty impressive achievement for these tiny 150mAH batteries.
@sgrossklass
You're right, I made some mistakes in my calculations.
I'll solder a 200K resistor in parallel to the 'input' resistor to correct the impedance imbalance. It will only have a negligible affect on low-end frequency response (11Hz vs 7Hz) but should equalize the impedance of both inputs.
I will also make sure to get thin-film resistors next time, the ones I got are Samsung thick-film ones.
According to SPICE simulation, with a ±3.8V rails, the op-amp can output peaks of around 3.2V which is not too bad I think.
I also have a few SOIC-8 THS4032s and OPA1642s that I can play with.
The OPA1642 seems like it has a very low quiescent current - good for battery life, but has a very low output current limit.
The THS4032 is superior in the current output department, but has a higher quiescent current and it is also recommended to power off a minimum of ±5V rails.
I also have a couple of LT opamps, but I think they are designed for current feedback, which isn't a very good choice for low power devices.
Allowing wider packages shouldn't pose any problems with the PCB layout, should be a pretty simple fix, I'll probably make that in the design files soon.
How well does the NJM4556AM compare to the OPA2134 'sound quality' wise, though? If I'm not mistaking user reviews of the 4556 chip aren't that great (although I could be confusing it with the 4558).
I thought about adding volume control, but couldn't find any sort of pot that would actually fit the board with the dimensions I decided to go with. If you know of any that you think could fit, please let me know.
I ran a battery test today and the amp managed 10.5 hours before the batteries went down to 3.8v and the low battery indicator came on, and then it managed another 3.5 hours (full 14 hours) before the batteries went down to 3.7v and I shut it off. I think that it's a pretty impressive achievement for these tiny 150mAH batteries.
@sgrossklass
You're right, I made some mistakes in my calculations.
I'll solder a 200K resistor in parallel to the 'input' resistor to correct the impedance imbalance. It will only have a negligible affect on low-end frequency response (11Hz vs 7Hz) but should equalize the impedance of both inputs.
I will also make sure to get thin-film resistors next time, the ones I got are Samsung thick-film ones.
According to SPICE simulation, with a ±3.8V rails, the op-amp can output peaks of around 3.2V which is not too bad I think.
I also have a few SOIC-8 THS4032s and OPA1642s that I can play with.
The OPA1642 seems like it has a very low quiescent current - good for battery life, but has a very low output current limit.
The THS4032 is superior in the current output department, but has a higher quiescent current and it is also recommended to power off a minimum of ±5V rails.
I also have a couple of LT opamps, but I think they are designed for current feedback, which isn't a very good choice for low power devices.
Allowing wider packages shouldn't pose any problems with the PCB layout, should be a pretty simple fix, I'll probably make that in the design files soon.
How well does the NJM4556AM compare to the OPA2134 'sound quality' wise, though? If I'm not mistaking user reviews of the 4556 chip aren't that great (although I could be confusing it with the 4558).
I thought about adding volume control, but couldn't find any sort of pot that would actually fit the board with the dimensions I decided to go with. If you know of any that you think could fit, please let me know.
I soldered a 200K resistor on top of the existing 100K to equalize the input imbalance I had on this amp. Sounds pretty much the same, I think. But tests with actual test equipment would probably show a difference.
I've made several changes to the PCB design:
1. I put 2 parallel footprints for Rs, this should allow me to use the same 2 resistors I use in the feedback loop in parallel, creating a matched impedance on both inputs of the op-amp without resorting to looking up "exotic" resistor values.
What do you think of this solution? I don't think I ever seen it be used before in other designs I looked at.
2. Extended the pads for the op-amp, this will allow using both 150mil and 209mil devices.
3. Added small copper pours at the power pins for a little bit of heatsinking, the output tracks have also been widened from 0.5mm to 0.6mm.
I've made several changes to the PCB design:
1. I put 2 parallel footprints for Rs, this should allow me to use the same 2 resistors I use in the feedback loop in parallel, creating a matched impedance on both inputs of the op-amp without resorting to looking up "exotic" resistor values.
What do you think of this solution? I don't think I ever seen it be used before in other designs I looked at.
2. Extended the pads for the op-amp, this will allow using both 150mil and 209mil devices.
3. Added small copper pours at the power pins for a little bit of heatsinking, the output tracks have also been widened from 0.5mm to 0.6mm.

Last edited:
Neat design there, but the main flaw with Cmoy designs is that they are rubbish, the op-amps cannot provide the current delivery required. 16 ohm headphones will be really stressing it.
Yes, I noticed that this is their biggest problem.
I assume that they should perform well with high impedance headphones, though, right?
I'm thinking about trying out a design that will utilize the TI TPA6120 amplifier as an output buffer.
I assume that they should perform well with high impedance headphones, though, right?
I'm thinking about trying out a design that will utilize the TI TPA6120 amplifier as an output buffer.
The chips are designed for 600 ohm loads, no heavier. An output buffer is therefore mandatory for driving almost every type of headphones. This could be a chip or discrete solution.
Actually, nope, it doesn't. At AC, the noninverting input now sees the source's output impedance || 100k || 200k, which still pretty much equals the source impedance as that tends to be in the low hundreds of ohms or low kOhms at most (and single-digit ohms for many portable players). You're not normally using a headphone amp without a source, are you?@sgrossklass
You're right, I made some mistakes in my calculations.
I'll solder a 200K resistor in parallel to the 'input' resistor to correct the impedance imbalance. It will only have a negligible affect on low-end frequency response (11Hz vs 7Hz) but should equalize the impedance of both inputs.
Matching DC resistance is not a particularly pressing concern when using a FET input part. (The NJM4556 is not particularly picky either - its typical 50 nA of input bias current would only result in an input offset of 5 mV with a 100k imbalance.) AC impedance matching, however, is all the more important because of nonlinear input capacitance. Besides, a 100k/200k feedback network also contributes a fair bit of noise.
Sijosae did some load-dependent maximum output level testing at voltages similar to yours many moons ago. OPA2134 actually does well on higher-impedance loads, but on 33 ohms it's not a match for NE5532, NJM4580, NJM2114 or AD8620, let alone NJM4556.
Not sure about volume control options. Maybe DIP switches or a jumper to simulate a few steps on a 10k pot, on a 3rd board? When you have a source with volume control included, a selection like 0/-10/-20/-30 dB or even 0/-20 dB tends to be quite adequate. I'm not aware of any miniature low-noise PGAs.
Last edited:
- Status
- Not open for further replies.
- Home
- Amplifiers
- Headphone Systems
- µCmoy - My take on the portable CMoy amp