• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Making small DAP, looking for your wisdom

denengineer

New Member
Joined
May 20, 2025
Messages
3
Likes
0
Location
Rotterdam, NL
Hey folks, newcomer here after being a reader for a few years

I’m working on small DIY DAP (imagine if iPod Shuffle and Shanling M0 had a baby) and after 1st prototype I’m trying to squeeze the best possible performance from the limited PCB space / orientation and will appreciate your help

I did split design into multiple PCBs and arranged them into C-shape - you could see high freq. and audio parts + dimensions marked on the images attached:
current design.jpgpcbs photo.jpg

I don’t have any experience designing top-notch audio PCBs (or low noise analog in general), so all extra opinions/thoughts are very welcome, but my main questions are:

  1. I’ve used PCM5102A to just have I2S sound output - but does it make sense to use smth better? I’ve heard that biggest contributor to noise will be the rest of the design and getting better DAC with lower noise floor is not really worth it since the rest of the design won’t be able to go that low.
  2. What is the best amplification option to squeeze in here considering it will be for headphones only? I don’t drive anything demanding, but having some margin for the future will be useful.
  3. Any recommendation on analog parts (i.e. using smth else than mlcc caps, any specific manufacturer e.t.c.)? Any examples of best in class PCBs of similar size to learn from?
  4. If I will route audio signal from amp to jack on another PCB via headers - could that introduce significant extra noise?
  5. Is common PCB stackup S-G-G-S is okay or I could get extra shielding by using G-S-S-G? Considering that on DAC PCB below analog signal it will be mostly G-G-S-G since I doubt I would need 2 layers for analog part and will just pour 2nd signal as well.
  6. Will making PCB 0.8mm introduce some extra coupling that will be critical compared to 1.2mm stackup?
  7. Should I put some shielding on PCB with MCU? Like the ones that could be usually seen on ESP32 modules or on XIAO boards - thin metal enclosure wrapping top layer components to limit noise coupling to DAC PCB. Or it’s just way too far to influence another PCB?
  8. I plan to use connected ground planes - i.e. no separation between analog and digital. Or it’s a good idea to split them and then connect using ferrite beads and other voodoo magic?
  9. LDOs are the best choice for portable analog power source, right? Since buck & switching will introduce more noise.
  10. Using same LDO for DAC and MCU DVDD is okay, right? Only AVDD should have separate LDO to decouple from digital noise.
  11. Should I do vias stitching if I don't have any wireless onboard? Could that help shield any external noise or it's not an issue unless I add bluetooth.
  12. I have another option of stackup where PCBs will be on top of each other (”Parallel Stackup” image) - will that couple way too much noise from digital PCB?
parallel stackup.jpg

In overall I want to create a portable DAP that could get golfing panther :) So any drops of wisdom from you folks will really help to make it happen!
 
Last edited:
I would strongly consider going with an established headphone driver codec like AK4377 / AK4377A (note: not the same part) or CS43131, either "barefoot" or with an external amplifier if need be (though it is not at all easy to maintain their noise floor). These are solving a number of problems for you.

How much output do you need or want into what kind of loads? (Driving a BA IEM is a different story than driving insensitive planars like a Hifiman HE-6, or that's different from a vintage 600 ohm AKG.) You can get to about 1.2 Vrms or about 2 Vrms right out of the box. The Cirrus looks like the better deal on paper but is also known to suffer from low-level audio glitches when running in Class G mode. (See here. @danadam is your man for this topic.)

I kind of doubt anyone would be using linear regulators in a DAP, that would be silly. (The above codecs are running on 1.8 V rails. I'd rather have twice the battery life, thank you very much.) DAP SoCs like the classic AMS AS3525 have even included them on-chip.

MLCCs are fine for what they are, but require careful consideration of mechanical stresses (though on your small boards, that might be less of a problem, except around the switches). If you want to play it safe, you can get ones for automotive use that are bigger but much less prone to the usual stress fractures, EEVBlog Dave made a video about those several years back. If any need to go in the actual audio path, NP0/C0G only. And thin film resistors.

As you might be able to guess, more PCBs = more problems, but your concept looks sensible enough. I notice you are using a Raspberry something or other, how overqualified and how power-hungry is the thing? DAPs that only get about 8 hours of runtime when new kinda stink in my experience, but I wouldn't absolutely need the 25 that my current one gets either, so that should give you an idea about what size battery / power consumption to shoot for. I can't imagine your construction will fit more than 400ish mAh worth of pouch cell as-is (if that), assuming you get one in the right formfactor. It's kinda long and slim, so maybe consider a 14500 or 10430 LiFePO4? Though by that time you might as well be going with LSD NiMH in AA/AAA size and call it a day (slightly better energy density though more losses in boost converters and heavier).

Also, the software base is like super-duper-duper important. If you have to reinvent the basics like a playback chain with ReplayGain support and whatnot, you have already lost. There may be better options than Rockbox these days, but I can't really think of any.

Note, tiny MP3 players are cute and all, but none of us are getting any younger and these days I'm struggling to read the 1.1" OLED display of my old Clip+ when that holds a measly 3 lines (and is not exactly a joy to use with so little on screen). You, too, will be in your 40s one day.

I would advise nailing down the fundamentals before getting into the weeds with PCB design. That'll no doubt still be important (EMI, ground loops, yadda yadda) - but later.
 
Last edited:
Hey @AnalogSteph, thanks for the reply!

On AK4377 / AK4377A / CS43131 - yup, I've heard they are well regarded but could you tell / drop a link on which exact problems they will solve (compared to others or PCM5102)? So I could see what major issues I'm missing here.

Output wise if I could get 90mW (not heavily distorted) single ended output that will be more than enough.

On caps - noted.

What would you use instead of LDOs then? Buck converters or?

More parts more problems indeed, but I did pick that design so I could experiment with different DAC board designs without needing mainboard to be assembled again (+ I do plan to potentially move jack and USB on PCB with buttons, so when they will degrade it could be just replaced and none of the other PCBs will be stressed during usage).

Yup, indeed RP2350 is used, but I do listen to a lot of MP3s and they needs to be decoded + I potentially do plan to make it opensource so most of the other MCUs are out of the question because of either very weak support/frameworks around them or being not powerful enough.

Battery wise I get 12h on average on 14500 XTAR 1200mAh with 50% volume (set in software) on cheap IEMs (11h from Nitecore 1100mAh) - that's also one of the main points of the project to be able to just have few 14500 lying around and swap them in case you forgot to charge. And with parallel stackup of PCBs (10x14mm) it will be possible to have enclosure either for 14500 or 10440 in case you just need smth lighter but just for jogging/gym.

Software is the simplest part here for me, since I did spend last decade writing it (also because I did pick RP2350 as a platform a lot of low-level things are already implemented by various ppl).

On displays - true, but tbh I'm not even sure this project needs one - the only time when I need one is when I pick a playlist for the session, and for that just having it as a running text in full size is still 1cm high letters even on 0.96 OLED. But that one I'm not sure about :) I still thinking about adding Sharp memory LCD since I really like how they look (and also perfectly readable in sunlight where I use DAP most of the time anyway).

Fundamentals - yeah, true, I did pick some of them watching Altium academy, Phil Salmony and others but for sure a lot of them I still don't know.

But it's already a tad too late to not get into the weeds since I already using first prototype so v0 were designed before this post :D
 
Last edited:
On AK4377 / AK4377A / CS43131 - yup, I've heard they are well regarded but could you tell / drop a link on which exact problems they will solve (compared to others or PCM5102)? So I could see what major issues I'm missing here.
For starters, providing a built-in low-impedance DC-coupled Class G headphone driver and volume control with an output noise floor low enough to please even the most sensitive BA IEM. Some of these can reach 135ish dB SPL / V (with extremes in the low 140s if memory serves), so a noise floor of -115 dBV (1.8 µV) or lower seems advisable. (Hiss used to be the bane of your existence in the olden days of portable audio, and has yet to be banished completely.) They also tend to be impedance-critical. And it goes without saying that you don't really want to squeeze in a few thousand µF worth of coupling capacitors if you can help it.

Moreover, while a PCM5102A isn't a super bad power hog, it needs around 85 mW even with a 1.8 V DVDD, just for the DAC itself. An AK4377 will use less than that running at full tilt. When your battery is good for maybe 660-2200 mWh, every milliwatt counts. As an aside, PCM510x digital filter passband ripple is a bit meh, even if that's one of your lesser worries in a DAP (but I mean, there is no reason why you should be any worse than an AS3543 from the late 2000s, which incidentally needs no more power than this as a complete SoC with CPU, regulators, audio codec and headphone driver all included).

I have, incidentally, thrown most everything at my AK4376A-powered FiiO M3K, from regular dynamic IEMs to vintage 600 ohm Sennheisers, and it handled most of them admirably and only ran out of juice (well, gain) with classical on the vintage 600 ohm ones. The regular 300 ohm ones probably are about the limit for something with a 1ish Vrms max output.
Output wise if I could get 90mW (not heavily distorted) single ended output that will be more than enough.
Into what impedance? 90 mW into 32 ohms would require 1.7 Vrms, that seems quite feasible with some external amplification. 90 mW into 300 ohms, by contrast, would require 5.2 Vrms, that's a much different kettle of fish and likely to inflate your parts and power budget substantially - probably unwise in a small player.
What would you use instead of LDOs then? Buck converters or?
Not much choice, is there? (They would have to be suited for the application, obviously, and the less inductance you need the better.) Potentially even boost converters as well if you need a bunch of output.
Software is the simplest part here for me, since I did spend last decade writing it (also because I did pick RP2350 as a platform a lot of low-level things are already implemented by various ppl).
Famous last words.

At least have a very good look at what's already out there. Crib from Rockbox as much as you can, it has loads of unique features that have grown over decades, including a gapless playback chain with digital headroom and RG support, well-optimized audio codecs (including ARM assembly, which was a bit of a bummer when hardware generally moved towards MIPS), a fast and efficient database system, playlists able to handle thousands of entries with ease, loadable config files and shortcuts (which I'm using to adapt default volume and processing to headphone type) and misc. processing like a PEQ, dynamic range compressor handy for use in noisy environments of all kinds and Meyer crossfeed for headphones (in which case you wouldn't be the first to borrow it).

There's already enough mediocre DAPs as-is. The best hardware is for naught if the software provides all the functionality of a run-of-the-mill 2005 era player or the output hisses like a mad snake. There are loads of DAPs that I am not the least bit interested in as they are missing functions that I as a long-time Rockbox user consider essential, or are big, bulky and expensive.
 
Yup, power draw atm is quite massive for the output I would say, so to make 10440 run acceptably long I need to shave off at least 30%. rp2350 could be used with 1.8v which means if the rest of the schematics will be adjusted to that voltage it will save some watts.

Impedance-wise most of my headphones are 32-90 ohm range, so I don't plan to drive anything really heavy - and also device is targeted on being as small as reasonably possible thus there will be a cap here anyway on what could be done (my max target weight of everything assembled is 50g, so I do have about 7g extra to add to current setup with 14500).

Rockbox does have a lot of nice features indeed, but most of them I've never used on my Cowon D2 back in the day + considering that rp2350 is quite beefy and some optimizations that Rockbox made for old hardware could be just omitted making it simpler to bring extras.

Now looking at that, maybe "golfing panther" was kind of misleading statement - while I do want to get good sound quality main goal to hit here is size of the device and nice user experience for active/outdoors usage - which also means that if there is a choice between making it smaller/making it sound better smaller will go first.

Currently I have 0 complains about Shanling M0 sound (well, before it smoked) - and while I by no means saying it's easy to hit same SE output quality level as M0, making it sound better than M0 is def. not a priority for me.

BTW - looks like CS43131 is like 3x the costs of AK4377, and they both will need extra amplification circuitry since direct output is quite low even for 32 ohm as far as I could see. So I'm wondering what are the benefits of CS43131 ins this scenario.
 
Back
Top Bottom