top of page


  The world's first dongle THD+N<-120db@12ohm!


This is the true story of how a tiny portable DAC loaded with headphones outperforms all others, regardless of cost or size.

 I had no plans for a new portable DAC at all cause I was focused on the ultra-performance Cosmos line, namely on Cosmos DAC. Unfortunately for the Cosmos DAC project, 9039S at 24MHz MCLK produces so clean sine that I have no idea how to improve that for Cosmos DAC in the future.

 Actually, 9039S was born as an attempt to get a cleaner harmonics-free performance of Cosmos DAC proto-III.

 The proto-I was based on dual ES9038Q2M and got 130db(A)+ of DR and THD+N -123db, that's not really WOW and I decided to move the project to ES9039Pro.

 The proto II, due to 9039Pro(2 ch config) gave me DR 137db(A) and THD+N -130db, however, that chip has quite cheap high-frequency performance, 10k H3 is -110db!

 Of course, I can't be completely happy with that, fortunately, ESS released one more 9039 chip - Q2M, and 10x cheaper than 9039Pro. I instantly prepared proto-III on dual ES9039Q2M and got DR 133db(A), THD+N@1k about -128db, and 10k H3 -135db. The only bare THD@1k wasn't perfectly clean, lots of tiny high-order harmonics don't let me sleep well.

 To realize the root cause of the residual Hi-ord harmonics I decided to try ES9039Q2M in a simpler project. I took my old 9038S portable DAC project and redesigned that for ES9039Q2M and OPA1612+AD8397 composite. The very first PCB version showed me an extremely clean performance, and the next 14 PCB iterations were needed only for fine-polishing(like a sword) the performance under 16ohm load + right parts selection.

 That's why Cosmos DAC release is delayed again and instead of that I suddenly offer 9039S which I tend to consider as Cosmos DAC Lite.


Status:                         production

Retail cost:                   TBD

Materials:                      sandblasted/anodized aluminum/ES9039Q2M/AD8397/OPA1612

                                    Taiwanese connectors, Susumu resistors, Kemet, TDK, Murata caps


Dimensions:                  48x22x9mm

Weight:                         12g

Power:                          USB 5V power rail no internal battery, 150mA idle current, the                                                  device contains 4500uF of solid-polymer Low-ESR capacitors

Input:                           USB-C tighter grip version, PCM up to 32b/384kHz DSD256

Output:                         balanced output 2.5mm jack A&K pinout

                                   Don't try unbalanced adapters! You can kill the DAC. 

Output impedance:       .1 Ohm@1000Hz Agilent U1733C

load capacitance:          <6800pF, a long 2-3m cable is not recommended

Output power:                >380mW@32ohm@1kHz@THD+N -124db  0dbfs

Output power:                >680mW@16ohm@1kHz@THD+N -123db -.5dbfs

Output power:                >710mW@12ohm@1kHz@THD+N -121db -1.5dbfs

                                     typical for each channel, both channels are loaded

                                     measured with PC USB2 port powered, 2m USB cable

Frequency response:      DC-130kHz +.05/-3db @32b/384kHz, -.5db at 45kHz

                                    DC performance is limited by DC protection

DR AES17                     130db A-weighted, real one with just a couple db of the 

                                      full-scale noise modulation

THD+N@1kHz@-0dbFS   -125.66db averaged for 10 samples 32b/96kHz@10k 49MHz

THD+N@1kHz@-0dbFS   -124.77db averaged for 10 samples 32b/96kHz@32ohm 49MHz

THD+N@1kHz@-.5dbFS   -122.9db averaged for 10 samples 32b/96kHz@16ohm 49MHz

THD@1kHz@-0dbFS        -140db typical calibrated with Cosmos APU 32b/96kHz@10k 49MHz

THD@1kHz@-0dbFS        -145db typical calibrated with Cosmos APU 32b/96kHz@10k 24MHz

Crosstalk:                      <-150db@1kHz@10k or -143db@32ohm


 To see what we finally have from the statistical point of view, I tested the first production panel with 10pcs 9039S PCBA. Each DAC was tested with a Windows PC USB3 port + 2m good fully featured USB2 cable for close to real-life conditions. 16ohm loaded(Cosmos Load-board has 16.1ohm yet) results would be better with a shorter cable + powerbank and so on(see Archimago's review). Cosmos APU LNA 34db for the DR test, Cosmos APU notch +6db for the THD+N tests, and THD test used APU notch 0db.
Averaged results for 10 samples of the table above: 32/96 DR AVG = 130.32db(A), No load 32/96 0dbfs THD+N AVG -125.66db, 32ohm loaded 32/96 0dbfs AVG THD+N -124.77db, 16ohm loaded 32/96 -.5dbfs AVG THD+N -122.935db.

 Interestingly, for the kind of Sine_gen mode(MCLK = 24MHz 1db higher noise but less harmonics, you can set that with Tweak_9039.exe CLK_GEAR=1) THD compensation coefficients are nearly zero(between 0 and 4), and all samples have at least one channel with all harmonics <-150db! This is a great opportunity for DIYers with Cosmos APU to measure their poweramps with 9039S as a balanced sine source(unbalanced is also not bad THD+N down to -121db) with no wasting $30000 for a noisy analyzer. 

 10kHz performance is remarkable too: 0dbfs H3 -135db, -3dbfs H3 -140db(probably limited by Cosmos APU performance!), BW90kHz THD = -132db, THD+N -116.3db.

 9039S is mainly DIYer2DIYers product but isn't totally, unlike Cosmos APU or Scaler. Let's then talk about why 9039S is a remarkable leap for the portable DACs "industry". A portable DAC is intended to work with headphones, without it that device has no any sense. This is the same as a truck supposed to be loaded 24/7, hence, there is no sense in testing that with no load. That's crazy, but I didn't see any review based on measurements where a DAC+HPA or even a dedicated HPamp was rated by the THD+N(aka sinad) under loaded conditions. Thanks to our curiosity which may bring us to the end of such a review and we can see how -125db of sinad degrades to -115db at 16-32ohm of load even with standalone AC-powered HPamps, in the best case! I didn't see the result <-115db@16-32ohm ASR or L7 reviews, did you? Much worse for portable DACs, you can find there -80db(like 14bits) or so, and I should consider that as a technology state for 2024 because of 4.4mm jack? Simplified DAC tests let manufacturers "optimize" the product cost dramatically. If nobody cares about the real load testing why they'll add a heavy steady power supply in a portable DAC? Just 10uF ceramic SMD is Ok for that i.e. hundreds of times cheaper than 4500uF in 9039S. No reason for tens of PCB polishing iterations as well. 

 As you can see in the table above, 9039S no load(10 samples AVG 125.66db) vs 32ohm loaded has less than 1db of sinad difference, and 1.6db vs 16ohm loaded(about 700mW per channel). BTW, the full-scale modulation of ES9039Q2M noise is 2db only, "no hidden catch, no strings attached" just true DA conversion.
In fact, only one chip CS431**  dominates in portable chi-fi DACs within $13..299 range, with very fishy DR specs. I'll not claim that they implemented a tricky DR test deceiving algorithm(like DRE of ESS) or just CS431** has abnormally high modulation noise but for both cases, I wouldn't consider that DAC as a Hi-Fi at all, not mention of funky 384k "support". An experienced DIYer will recollect the Cirrus's hit from 2000 CS4398 DR 120db(A) and Fs <216k ;) I would like to try AKM DACs but they are about a decade in standby, so, vive la ESS. ES9039Q2M is a really gorgeous beast for reasonable money!

 Alright, it is clear that the performance is awesome as supposed to be but what about the drawbacks? Oh yeah, 9039S has it more than I wish.

 The first is a relatively high current draw 145-150mA and the DAC runs a bit warmer than 9038D6K, for example. The reason is serious opamps and 6.25V rail for them with low-noise 3.6MHz SMPS.

 Next, the pop noise is slightly louder than 9038D6K, the reason is composite opamps and parts tolerance. It's hard to explain that simply but a composite is two opamps in serial to obtain a huge loop gain(which is a factor of reducing the distortions), any charge of caps difference multiplied by hundreds of millions of times turning a fraction of uV to a volt.

 One more limitation caused by composite opamp usage is a max cable capacitance <6800pF. If you take a cable (DAC2HP) 5-10m the composite amp could start oscillating by losing loop stability. For that reason please avoid plugging/unplugging the cable with the powered DAC.

 Another "weakness" is 2.5mm output jack. As I read in ASR forum - "chi-fi industry" switched from 2.5 to 4.4mm or even XLR but I have no idea why, 9039S got THD+N -123db@16ohm(from 3 to 50x times better than any portable DAC with 4.4mm) with 2.5mm jack and it wasn't a bottleneck, by the way. Anyhow, for believers, we prepared a good quality adapter 2.5/4.4mm.

 As usual, we prepared for the DAC some control SW. Tweak_9039.exe app for Windows can control the type of 8 interpolation filters(for 9039S DAC1 only is active), volume, H2/H3 harmonics compensation(you can calibrate your DAC with Cosmos APU), and a few registers of ES9039 directly. IDAC_NUM default value = 0, the description you can find in the ES9039Q2M.PDF datasheet, I keep that reg controllable because some of the numbers(for instance 11) turn the DAC in NoOS mode or something like that. The mod isn't documented in the datasheet but investigated in the Archimago's review. CLK_GEAR reg switching the MCLK frequency, default value = 0 i.e. "49MHz", set it to 1 to get "24MHz" MCLK to minimize harmonics but 1db increasing the noise performance. DPLL_BW is the Digital PLL Bandwidth, active only for asynchronous FW like 9039S_v05.hex, less value = less jitter. Synchronous FW like zatoichi_v02.hex ignores that reg, and provides the best jitter performance, however, USB audio bridge CT7601 doesn't support native DSD in a sync mode, DoP64-128 only. 

 Tweak_9039.exe uses the USB HID interface which isn't supported by ios, moreover, ios17 ignores our USB devices if they use the HID. For this reason, ios devices require special FWs, and BTW 9039S could be used with ios only with Y-splitter cable + external USB power such as a powerbank. That's perfect for performance but it's hard to call it a portable yet. Androids are better, and most of them run with a normal USB-C2USB-C cable but the Y-splitter+powerbank is the best power scheme anyway.All Tweak_9039 parameters will be memorized independently and 9039S will keep them after FW reflashing, default parameters: 2nd = 3; 3nd = 13; IDAC_NUM = 0; CLK_GEAR = 0; DPLL_BW = 1; Filter = Min phase. 

Please remember, the reflashing process is critical for interruption, a DAC could be bricked. Please use a good-condition USB cable and do not touch-shake it during reflashing.

 Thanks Archimago for the comprehensive review 


 The Windows driver is here  Isn't necessary for W10/11 but for FW reflashing.


 Tweak_9039 windows app


 FW tool for Windows

 9039S FirmWare files





































The regular update of 9038S DAC+HPA, we've named that 9038SG3. Pretty much the same sounding and specs but some major weaknesses of the G2 were improved dramatically.
The first thing is another USB audio bridge with HW Volume(UAC2->ES9038), 32/384, and DSD256 support. Sure, it's not a big deal but I don't know another portable DAC with DSD256 support for Android, only DSD128. Also, 9038SG3 got the standby mode to save your phone battery if DAC is idle > 2 minutes. Strongly reduced LTE buzzing noise aka "static", hence 9038SG3 become more and more portable. Slightly improved SNR, Dynamic Range, and THD+N. Due to PCM384 and DSD the frequency response is extended up to 100kHz(10-100000Hz +0.1/-0.3db). The output impedance is 100mohm. The LED flashing frequency is proportional to the audio data rate. 44.1kHz LED blinks 1 time per 2S, 88.2kHz 1 time per 1S etc.
We have deleted audio modes and by default, you have only the Performance mode(without any delays/interruptions!). Instead, we gonna give you a lot of hardware ES9038Q2M DAC control with our new Android "E1DA Tweak" app with the preset manager, harmonics distortions compensation, Nyquist's filter selection, MasterClock frequency and more, most of these parameters could be dynamical defined depends on HW Volume, of Audio DATA Rate etc. In other words, make your own ES9038Q2M based  DAC, and save that as a preset( to share this preset)!  However, the app release is delayed, thanks covid19 one more time. The new USB bridge lets you update 9038SG3 FirmWare by USB, and I'll provide FW file everyone who gonna go to use the app.
The new 9038S version will have a black sandblasted anodized aluminum case and caps machined with CNC(G2 used laser-cut that's not too accurate). Logo and the model name are laser marked, an elegant and reliable solution vs G2 silk print.
All these improvements have some cost but as usual, 9038SG3 price range would be similar to the predecessor. 


The current Firmware(FW V1.0) configured to work as G2 "Performance mode" for PCM 44.1-192kHz to make a most clean THD harmonics distribution, and as G2 "Normal mode" for PCM384kHz and DSD to provide the best Dynamic Range(123db(A), Performance mode has 1db less) and SNR up to -123db(A). THD compensation utilizes two volume zones, one, if the volume = 0dbfs then the THD compensation optimized for light-load condition(good for high impedance open-back headphones, planars and so on), the second zone -127..-1db optimized for 32ohm load. The Nyquist filter is a linear phase slow roll-off. For legacy 44.1kHz I would like to recommend a sharper filter(see Tweak app) to make exact 0db at 20kHz but the slow one sounds a bit more comfortable to me.

 The Windows driver is here.

 The Firmware and FW tool is here. 

After ios17 the compatibility Android vs ios was broken, and our DACs flashed for Android need to reflash for ios17_FW if you gonna use ios-devices. The tutorial is here.


 That model is so simple if not say trivial, that it still keeps a negligent name of the prototype project. We have finished that within a month or so. This toy is conventional USB DAC +  balanced Headphone Amp, however, it made from the best for today components and now #9038S the only USB DAC+HPA  with 550mW@16ohm, SNR -122db(A), THD .0002%@-3dbfs@32ohm, and 10g weight.

 The device can operate in 3 modes:
1) Normal Mode -LED is always On, no flashing.

2) Performance Mode – LED flashing 2Hz when no signal detected, THD performance optimized for Fs 44.1-48kHz but PLL lock slower and the first-second signal is muted.

3) SE Mode– LED flashing 1Hz when no signal detected, 2nd harmonic artificially increased to emulate SE tube behavior.

 To switch between modes you need to interrupt #9038S power during its startup when LED very fast flashing. Then next turn on #9038S will be started in the next mode(1-2-3-4-1-2-3-4.. cycling)

Note: the latest #9038S Gen2 has 4rth operation mode "IEM" with limited max output power at -15dbfs level for safe operation with low-impedance and high sensitive In-Ear Monitors up to 4ohm, LED is Off when no signal detected. Also, #9038S G2 adopts soft-start function to a seamless start with any(as I hope) iOS/Android devices without external power-bank. However, no one of iOS devices and part of Androids will able to provide USB power enough to drive #9038S G2 for max power. Don't be surprised to see msg like this: "USB OTG device requires external power source", that's why we always suggest Y-splitter.

 iOS/Mac devices need to use player app like Neutron to get volume control.


Status:                            production

Retail cost:                     TBD

Materials:                       sandblasted/anodized aluminum/ES9038Q2M/AD8397


Dimensions:                   48x22x9mm

Weight:                           10g

Power:                             USB 5V power rail no internal battery, 90mA idle current, the device                                                       contains up to 4000uF of capacitance and IOS/Android devices can

                                         start OTG operation only with Camera_Adapter and USB OTG Y-splitter                                                 cable respectively

Input:                               USB-C, PCM up to 24b/192kHz

Output:                            balanced output 2.5mm jack A&K pinout

                                         No adaptors allowed! You can kill the DAC.

Output impedance:       .05 Ohm@1000Hz Agilent U1733C

Output power:                >340mW@32Ohm@1kHz@THD=1%

Output power:                >550mW@16Ohm@1kHz@THD=1%

                                         measured at +.5dbFS level, typical PC USB2 port powered

Frequency response:   10-85kHz +.05/-.2db@ 24b/192kHz

S/N ratio:                      -122db(A) referenced to 3.399VRMS @32ohm THD+N = 1% @

                                       +.5dbfs typical PC USB2 port powered

DR AES17                     120db unweighted

THD@1kHz@-3dbFS   .0002% typical for Performance Mode 24b/44.1kHz@32Ohm

THD+N@1kHz@-3dbFS  <.0004% typical for Performance Mode 24b/44.1kHz@32Ohm

THD+N@1kHz@-3dbFS  <.0009% typical for Performance Mode 24b/44.1kHz@16Ohm

THD+N@1kHz@-3dbFS  <.0004% typical for Normal Mode 24b/44.1kHz@32Ohm

THD+N@1kHz@-3dbFS  .25% typical for SE Mode 24b/44.1kHz, almost only 2nd harmonic

Crosstalk:                     -125db@1kHz

Tech appendix

Conventional PC USB2 port, 32ohm load THD+N vs Power

Conventional PC USB2 port, 16ohm load THD+N vs Power

Conventional PC USB2 port, 70ohm load THD+N vs Power

Conventional PC USB2 port, 110ohm load THD+N vs Power

Conventional PC USB2 port, 70ohm load -6dbfs THD+N vs Frequency

Conventional PC USB2 port, 70ohm load Frequency response

Conventional PC USB2 port, crosstalk

bottom of page