Open-source USB interface: Audio Widget

Update your firmware - Board programming batch files

Hi guys,

I recommend updating your AB-1.1 firmware. There have been some reports about distortion being improved by new firmware.

Have a look at Add_to_flip345_bin.zip in the SDR Widget Downloads section. It is a collection of batch files to add to Atmel's flip in order to test and program the AB-1.1

The files should be easily editable for other hardware and other OSes.

It uses the latest 32-bit code from Alex. (I pulled the code from git and compiled my self. No diff.)


Børge
 
no, not necessarily.


oh... than you came to my own favourite "player":

Code:
 AUDIODEV=hw:1,0 play *.flac

The command "play" is just a different name for "sox". Install sox and all of its plugins and you're done.

(setting the "AUDIODEV" env. variable is only needed if you want to output to a device different from the default one).

Thought there might be a pure method. So, it's time to create a player menu script :)

I might as well report on my findings that after listening for a few hours last evening/night through uac2 there wasn't a single audible glitch playing with a fat player on a fat linux dist. But still - I wan't to be in control so a script will be fine. I have a strong feeling that the widgetcontrol is quite sensitive on what versions of the different python packages one is using - with the ones I loaded last evening it connects about every time. A bug is when you are using the widget and do a reset at the same time from widgetcontrol it realy should give an error saying that the widget is in use instead of going ahead - the audible result was not pleasant.

Thanks a lot UnixMan!
 
Last edited:
After analyzing the situation of DAC usage and implementation in the AB 1.1 I came to the following conclusions
- that for the ES9023, for sample rates above 96k the master clock is limited (because it should be, according to the datasheets, at least 256 x Fs), so probably we won't get the best audio quality
- that the "experiments" done by some users on the charge pump capacitor are wrong ... if the value has to be 1 micro (according to the datasheet), then using more capacity should make the charge pump work badly (not charging the capacitor enough to generate the desired negative supply).
Probably the best thing to do would be to replace the 1u cap from a SMD to a good traditional "through hole" one. I think the same also for the resistor on Vref, "audiophile" wisdom says that such SMD components are not musically satisfying ....

From one test that I performed with an oscilloscope with FFT I see that the "noise" on the supply lines is mainly due to FM radio stations (here in Italy from 98
to 108 Mhz). The board has a well done metal case, isn't there a connection of such case to ground?
 
After analyzing the situation of DAC usage and implementation in the AB 1.1 I came to the following conclusions
- that for the ES9023, for sample rates above 96k the master clock is limited (because it should be, according to the datasheets, at least 256 x Fs), so probably we won't get the best audio quality
- that the "experiments" done by some users on the charge pump capacitor are wrong ... if the value has to be 1 micro (according to the datasheet), then using more capacity should make the charge pump work badly (not charging the capacitor enough to generate the desired negative supply).
Probably the best thing to do would be to replace the 1u cap from a SMD to a good traditional "through hole" one. I think the same also for the resistor on Vref, "audiophile" wisdom says that such SMD components are not musically satisfying ....

From one test that I performed with an oscilloscope with FFT I see that the "noise" on the supply lines is mainly due to FM radio stations (here in Italy from 98
to 108 Mhz). The board has a well done metal case, isn't there a connection of such case to ground?

So a faster clock and a better charge pump capacitor. Any favorites on these?
 
The clock frequencies have been selected to work with the ES9023 in synchronous mode. In async mode (i.e. MCLK != n*word clock), n must be > 192. We're using high-quality XOs from Golledge. Before the DAC budget (at least) doubles, I suggest keeping the XOs as-is.

For 192 and 176.4 n=128
For 96 and 88.2 n=256
For 44.1 and 48 n=512

This is all within spec of the DAC.


As for charge pump cap, be my guest! I've put in the specified 1µF in a 1206 package. In parallel with that is the (almost) largest NP0/C0G I could find in 1206, 4.7nF that is.

Feel free to remove the 4.7nF and/or install what may be better capacitors. But before you do, let's device a way to test the result. Scoping / spectrum analyzing all supply pins for AC content may be a place to start.

Børge
 
It is interesting to note that the "ESS Sabre Reference DAC (8-channel)" thread guys are talking about:

"Synchronous MCLKing scheme for ES9018"

recently :)

Alex

many have been playing with it for ages, only recently however has it become popular

The clock frequencies have been selected to work with the ES9023 in synchronous mode. In async mode (i.e. MCLK != n*word clock), n must be > 192. We're using high-quality XOs from Golledge. Before the DAC budget (at least) doubles, I suggest keeping the XOs as-is.

For 192 and 176.4 n=128
For 96 and 88.2 n=256
For 44.1 and 48 n=512

This is all within spec of the DAC.


As for charge pump cap, be my guest! I've put in the specified 1µF in a 1206 package. In parallel with that is the (almost) largest NP0/C0G I could find in 1206, 4.7nF that is.


Børge


hmm, where are you sourcing your components to have such a terrible range available? the largest i can get in 1206 SMD is 470nf, with 100nf common and liberally sprinkled over every board in my dacs


starn02 said:
Probably the best thing to do would be to replace the 1u cap from a SMD to a good traditional "through hole" one. I think the same also for the resistor on Vref, "audiophile" wisdom says that such SMD components are not musically satisfying ....

I assume this is sarcasm? 1u can be found in pps film in smd, very nice and as for the vref resistor, anyone wanting to go crazy there could use the ASMP series surface mount naked Zfoils for <10 dollars (they are cheaper than the leaded versions for the same resistor), it doesnt get any better than that subjectively AND objectively. zfoils are one of those parts that tick both boxes, where it doesnt have to perform worse than SMD to be 'audiophile approved'. SMD easily outperforms PTH unless you need high power handling
 
hmm, where are you sourcing your components to have such a terrible range available? the largest i can get in 1206 SMD is 470nf, with 100nf common and liberally sprinkled over every board in my dacs

Thanks for that kick in the shin! I've usually bought these from www.elfa.se. But finding a way better selection at DigiKey is a walk in the park I see now.

Børge
 
no problem =) as for elfa, i thought as much due to your location, they have a quite nice range of electromechanical stuff there like pushbuttons/momentaries, very good range of wima and rifa caps, specialist hitech milspec dsub connectors etc; but there are some really large gaps in their catalogue. the stuff they do stock they tend to have the entire range which is nice.

I can highly recommend the murata and kemet for 100nf 1206 c0g at digikey, but kemet for 0.47uf if you need that big. the murata 100nf/25v (GRM31C5C1E104JA01L) are only 62c each, 32 dollars for 100 and are very high quality.

as for your bulk polymer caps, if you want to save a bit of money the nichicon L8 series (220uf part # RL81C221MDN1KX) solid polymer are on par performance-wise (available in an SMD can as well) for MUCH less money at $0.91. but if you want to kick it up another notch the panasonic special polymer (SP Cap) are available down to 3mOhm impedance (only for 2v though) but with a range at 5-12mOhms in a more friendly 6.3 or 8v rating (180uf/6.3v 7343 size smd or 100uf/6.3v 7343 size smd) afaik these are the highest performance polymer caps on the market and they are still cheaper than your sanyos at elfa.

the nichicons are a steal IMO and i only tend to use the SP caps if i really need the best available; in a more compact low profile size. they havent reached 'audiophile status' like the sanyo oscons have, but if performance/price matters they match them for the former while being better in the latter.

you will easily pay for your shipping with the savings, tax might hit you though? well if turbon is recommending it it must still be worth it even with import duty?
 
you will easily pay for your shipping with the savings, tax might hit you though? well if turbon is recommending it it must still be worth it even with import duty?

Nah, forgot about that... It pretty much levels things out. The best thing invented is to trash the european electronics manufacturing so we europeans can live happily ever after on the duties... Was there an error of thinking there? Well, don't look back - whats decided is decided.

Brgds
 
As for charge pump cap, be my guest! I've put in the specified 1µF in a 1206 package. In parallel with that is the (almost) largest NP0/C0G I could find in 1206, 4.7nF that is.
OK, I have just removed the extra 47u cap I had added there. Does not seem to make much of a difference.

BTW: what are supposed to be the DC voltages on AVCC, VREG, NEG, (CN-CP), etc?
 
Turbon said:
Nah, forgot about that... It pretty much levels things out.

well its still a MUCH better range and in my brief dealings with elfa they were a total PITA as the stock isnt stored in any sort of main depository, rather the whole database over the EU is centralised, so it can take a while for all the parts to congregate in the one place before being shipped.

haha yeah i think many countries are paying the penalty there, luckily here we dont pay any duty till the order is over 1000AUD and even then if its for OEM product for export the duty is waived. it wasnt always that way, used to be only 200 until the free trade agreement.
 
starn02 said:
Probably the best thing to do would be to replace the 1u cap from a SMD to a good traditional "through hole" one. I think the same also for the resistor on Vref, "audiophile" wisdom says that such SMD components are not musically satisfying ....
I assume this is sarcasm? 1u can be found in pps film in smd, [...] SMD easily outperforms PTH unless you need high power handling
it have been eventually proven that much of the "sound quality" of capacitors have to do more with electro-mechanical effects than with their electrical characteristics. Se e.g. here:

www.audiofaidate.org • View topic - Il Suono dei condensatori finalmente spiegato!

as a consequence, (physical) size and weight (mass) DOES matter. Although of course there are also other factors involved, as a rule of thumb the (physically) larger the capacitor (and the higher its max voltage rating), the better it sounds.

For different reasons (I guess mostly termical effects), IME/IMO the same is also true for resistors.

SMDs are NOT good for audio and should not be used anywhere if SQ does matter (again IMO/IME).
 
Last edited:
ok, its a bit funny if you ask me and i find it a bit dubious that you might suggest that a leaded Zfoil resistor such as the TX2575, arguably the most highly subjectively regarded resistor anywhere, might sound better because it has 2 leads on it compared to the ASMP series (known as TSMP when bought from Texas components rather than vishay precision group) naked zfoil, which i'm guessing you have no experience of? but is otherwise identical

also smd pps film caps were tested for piezo electric effects, which is the only possible electromechanical effect in this application and they came out exceedingly well. if you think I choose parts solely on numbers you would be wrong, but i will not choose a part because some audiophile press or 'wisdom' says its good; it must tick BOTH boxes. using a huge high voltage leaded cap in such an application as we are talking about is absurd IMO, asking physically large caps to bypass high frequency makes no sense

its this type of baseless superstition that gives audiophiles a bad name in engineering circles. it does not have to be arcane to sound good. eventually if you keep going that way, somehow drawing a line in the PCB or where SMD parts are allowed to sound good (dacs, USB DSPs, perhaps some RF parts or CLASS D etc) and where they must sound bad and you will eventually not be able to build anything at all; because it wont be too long before only niche manufacturers make anything with leads on it.

btw on the board below, i have 2 of them, its an IV stage/low gain headphone amp, on one i changed the 100nf larger vishay MKP (which is a bypass cap on the supply lines here) to a panasonic pps SMD for lower profile as its portable and it sounds great, the relcap RX polystyrene film/foil LP filter caps on one board were changed to sunring pps and copper foil caps and it finally edged out the relcap. for crucial analogue filter situations like that i will often still use leaded, but if someone released an SMD version i would leap at it. there are a few SMD PTFE caps made for RF work, but they are only available up to 5pf
 

Attachments

  • ASMP Zfoil SMD 3 web lorez.jpg
    ASMP Zfoil SMD 3 web lorez.jpg
    122.8 KB · Views: 238
  • 1fc92526_TSMPnakedsmdZfoilsonIVcloseup.jpg
    1fc92526_TSMPnakedsmdZfoilsonIVcloseup.jpg
    186.7 KB · Views: 262
  • TSMP naked smd Z foils on IV closeup vishay end small.jpg
    TSMP naked smd Z foils on IV closeup vishay end small.jpg
    267.6 KB · Views: 242
Last edited:
I for one am all for buying parts based on their specs. Do you have suggestions for SMD resistors fit for filters in high-end analog circuits?

Also, you seem to have your capacitors screwed on the right way. Any suggestions for common points of load like XO, MCU, op-amp, DAC-analog, DAC-digital? I have the habit of just piling on, 5-ish nF of C0G, 1-ish µF of X7R, 10-ish µF of something with a perigree :)

Then again, I have heard from a very professional high-end designer that he prefers through-hole metal film over SMD metal film, mainly due to thermal heating and non-ideal TCR.

Børge

P.S. Have you considered multiple vias and less ESL for C12 and C13? :)
 
ok, its a bit funny if you ask me and i find it a bit hilarious that you might suggest that a leaded Zfoil
no, of course I would not expect much of a difference among something which is basically the same device. OTOH, I usually prefer by far the sound of bulky carbon resistors (such as Kiwame or good old Hallen Bradley, at least 2W or more even for small signals) WRT any metal film type.

Of course it goes without saying that there is no single perfect component for all uses. Here I'm talking about caps and resistors to be used for analog audio signals (and PSU, which are also part of the audio signal loop).

also smd pps film caps were tested for piezo electric effects, which is the only possible electromechanical effect in this application
Why that should be the only possible effect? For instance, nothing is perfectly rigid. Plate distance (->capacity) varies according to elastic deformations which follows from ES & EM field induced mechanical forces. And you'll have mechanical resonances. On *any* kind of capacitor, no matter how it's made, you'll end up with signal-dependent capacitance modulation, which in turn will affect the signal goin' through the cap.

Read the paper in the link I posted... ;)

asking physically large caps to bypass high frequency makes no sense
of course. But again I was talking about the audio circuit related parts... not RF by-passing.
 
Last edited:
Just updated the firmware on my AB1.1. I downloaded and built dfu-programmer-0.5.4.tar.gz (the special patched version) and prepared the script according to the instruction. Pressed and held down the "prog" button, then briefly also the reset button, released both. Then I run the script:

Code:
 ./program-widget.sh audio-widget-nik-2011-12-26.elf
program-widget with audio-widget-nik-2011-12-26.elf
     target: at32uc3a3256
    chip_id: 0x2ff1
  vendor_id: 0x03eb
    command: erase
      quiet: false
      debug: 6
device_type: AVR32
------ command specific below ------
   validate: true

     target: at32uc3a3256
    chip_id: 0x2ff1
  vendor_id: 0x03eb
    command: flash
      quiet: false
      debug: 6
device_type: AVR32
------ command specific below ------
   validate: true
   hex file: /tmp/audio-widget-nik-2011-12-26.hex

Validating...
115380 bytes used (45.43%)
     target: at32uc3a3256
    chip_id: 0x2ff1
  vendor_id: 0x03eb
    command: reset
      quiet: false
      debug: 4
device_type: AVR32
------ command specific below ------

It seems that it worked flawlessly. Previously I had the preloaded firmware (don't know which version it was).

What puzzles me is that the firmware update seems to have (slightly) affected the sound quality! :eek: How is that possibile?


Oh, BTW: both the new and the old firmware do have a small but annoying bug (actually, that's why I tried to update: I was hoping that the new version fixed that problem).

Easyest way to reproduce: on Linux, play some file from cmd line using sox:

$ AUDIODEV=hw:x,y play myfile

while it plays, hit "Ctrl-Z" to "pause" playing... and you'll hear.

(in the same situation, any other sound card I've tried simply goes mute... as expected).

Bringing back the process ("fg") will resume normal playing.

N.B.: when trying that, keep the volume low and be ready to give "fg" to resume normal playing!

Somethimes the same problem occours also in other circumnstances (with different software), but the described one is the easyest way to reproduce the problem.