Open-source USB interface: Audio Widget

Hi all,

I have uploaded new AWSetup for Windows and audio-widget-nik firmware (you MUST use both latest), both from Nikolay:

widget.elf - sdr-widget - audio-widget-nik firmware for the new AWSetup for uac1<-->uac2 - Audio and Control Interface for Amateur Radio SDR and Audiophile USB-DAC - Google Project Hosting

AWSetup.exe - sdr-widget - Windows Setup for Nikolay's ASIO UAC2 driver for audio-widgets. You need to use the latest audio-widget firmware for this to work. This will enumerate as "ordinary" sound device under uac1 so all Windows programs can playba

These are for Windows users of audio-widgets so that you can change mode from uac2 <---> uac1 easily. Either with WidgetControl.exe program from the AWSetup, or by button presses on the audio-widget.

When the audio-widget is in uac1 mode, the Windows default usbaudio driver will be used, and all common programs will play sound.

When the audio-widget is in uac2 mode, the Nikolay uac2 driver will be used, and you can playback up to 192/32 with ASIO capable software such as foobar2000 (with ASIO plugin) etc.

Alex
 
Hi Turbon,

there's quite a bit going on, actually. I'm crossing fingers and toes hoping that there will be good quality modules and AB-1.12/.13 units arriving soon.

In the meantime I've been busy on the firmware side, trying to make things a bit more readable without messing up the good work of the original authors. I hope I ironed out more bugs than I introduced... FW discussions are mainly kept on the audio-widget mailing list.

There is a new system for compiling, see file make-widget in the audio-widget-experimental branch. Here is what I just wrote on the mailing list:

Hi guys,

I have done a few things to the firmware and Nikolay's WidgetControl.exe today. Please download and test from branch "audio-widget-experimental". My updates to WidgetControl.exe are in https://github.com/nikkov/Win-Widget branch "experimental". Compiled code is in the "WidgetControl_exe" folder in the firmware branch.

Here's what I did:

- dac features relating to es9023 and PCM5102 are replaced by
a common feature_dac_generic for all no-fuss I2S consumers

- #ifdef _LINUX_QUIRK is replaced by feature_lquirk which may
be set to lquirk_on or lquirk_off

- Add relevant WidgetControl.exe and test.ini to firmware branch
in WidgetControl_exe folder

- "reset=0" is now accepted from .ini file passed to
WidgetControl.exe

- All of this pushed to audio-widget-PCM5102

- New branch started from there: audio-widget-experimental

Here's where I'm asking you for some help:

- Port the changes to widget-control.c or WidgetControl.py

- Check if the new audio-widget-experimental is OK as a
development starting point

Here's a few wishes from me:

- Can we soon phase out audio-widget-nik and
audio-widget-PCM5102?

- I hope audio-widget-experimental proves stable and may be
merged with audio-widget and eventually master


Cheers,
Børge
 
Firmware update

Just posted on audio-widget@googlegroups.com

Hi guys,

I just uploaded the latest audio-widget-experimental build at audio-widget-experimental-20120420.zip - sdr-widget - Experimental branch and WidgetControl for Windows 20120420 - Audio and Control Interface for Amateur Radio SDR and Audiophile USB-DAC - Google Project Hosting

Please check if this works, and the one .elf file behaves like expected with the Linux Quirk. I'm not able to test that myself.

The package holds the latest build (cygwin, toolchain 2.7, win7-64) of audio-widget-experimental branch. Most important changes are build process and the "quirks" feature. quirk_linux is set to replace LINUX_QUIRK. quirk_ptest will be used for special requirements during production test.

An accompanying build of the Win-Widget experimental branch is included.

Both experimental branches are updated in github. NB: Other versions of WidgetControl (.py and .c) have not been updated to support the new features.

How to test:
1) Install Nikolay's drivers from AWSetup.exe
2) Replace WidgetControl.exe witht he one from this archive
3) Reprogram Audio-Widget with the .elf file
4) Run "WidgetControl.exe" for GUI or "WidgetControl.exe test.ini"



Børge
 
Boards update

Finally, something's happening with the new boards!

Here are recent pictures of the newest incarnation of the USB-I2S module and of the AB-1.12 / AB-1.13 prototype boards.

The USB-I2S module still isn't 100% tested... Cross your fingers for a good result.

As soon as the boards get to Norway and I have inspected them, I will open up for orders and payment.


Cheers,
Børge
 

Attachments

  • SDC14229.JPG
    SDC14229.JPG
    158.9 KB · Views: 275
  • SDC14222.JPG
    SDC14222.JPG
    171.2 KB · Views: 267
DAC in AB-1.2

The AB-1.1 complete tested DAC has been sold out for some time now, and I plan to get a new batch of AB-1.2 tested+boxed complete DACs. The new batch will look very much like the AB-1.1 with easy modding. It'll be a bit lighter so that shipping will be much lower.

QUESTION: Which DAC should I use for the AB-1.2? The choice is between ES9023 (from AB-1.1), PCM5102 and AK4430. The latter two can be tested on the AB-1.12 and AB-1.13, respectively. (The ES9012/18 will not be put into the AB-1.2. Too much development work remains for that to happen.)

Cheers,
Børge
 
yes, the better wolfson is MUCH more befitting of a high end effort.

I never understood the idea of using a dollar-dac (so to speak) in this project!

those of us who want i2s or spdif are happy no matter what (lol) but if you put a dac there, why bother unless its at least a non-junker?

the 5102 and the lower end ESS are junk. mp3 player and cellphone quality chips as I understand their market.
 
yes, the better wolfson is MUCH more befitting of a high end effort.

I never understood the idea of using a dollar-dac (so to speak) in this project!

those of us who want i2s or spdif are happy no matter what (lol) but if you put a dac there, why bother unless its at least a non-junker?

the 5102 and the lower end ESS are junk. mp3 player and cellphone quality chips as I understand their market.

The whole idea of the audio-widget was to promote the open-source UAC2 engine and not specific DAC designs. I produced a number of kits (USBxxxx) based on the UAC2 engine to show how easy/quickly you can integrate the engine in designs.

The next on the list is one for the USB8741. This will need firmware support to drive the dac configuration. Again, a development platform and not a full featured DAC.

George
 
linuxworks, my subjective evaluation of EUVL's 9022/9023 implementation as well as the measurements demonstrated by the newly released ODAC indicate these "dollar chips" can be used to produce devices way above what you'd call "cellphone quality".


they clip at today's audio levels (ie, the loudness war has forced a lot of digital content up to 0db levels).

I find these chips useless as, if they can't handle ALL modern streams well, they're not worth using.

its not just internet radio and mp3; even cd's are being pushed toward 0db levels.

these dacs can't handle it. they CAN handle it if you preprocess them and that seems to be the 'solution'. if you digitally attenuate (3db, say) then you won't run into clipping and things won't be too bad. this is great for mp3 players and phones where the audio does not matter *that* much and some pre-atten won't go noticed by the 'bit perfect? who cares!' crowd.

but don't we care? so why intentionally use a chip we know to have severe limits on what streams you can send to it?

I don't have the mag article but there was a recent review of a dac with one of these dollar chips inside and they also noticed clipping.

for me, it makes the chip 100% useless. there are so many dacs that don't do this, why not pick one of those?

the work on the 8741 is not that much. the chip does most of the work and you only need a fairly modest and simple analog outboard stage. the AMB y2 pulls this off successfully and its not high cost or high complexity. its a few dollars beyond the cost of the dollar chips and its a very usable analog solution on its own. say it costs $25 more for the wolfson high end chip and support parts over the dollar dac. are people like us quibbling about $25?? on this kind of project?
 
these dacs can't handle it. they CAN handle it if you preprocess them and that seems to be the 'solution'. if you digitally attenuate (3db, say) then you won't run into clipping and things won't be too bad. this is great for mp3 players and phones where the audio does not matter *that* much and some pre-atten won't go noticed by the 'bit perfect? who cares!' crowd.

I don't have the mag article but there was a recent review of a dac with one of these dollar chips inside and they also noticed clipping.

for me, it makes the chip 100% useless. there are so many dacs that don't do this, why not pick one of those?
I believe that many DAC boards will clip in the analog domain, even if the DAC chip outputs themselves are not clipped. That's because the mandatory analog reconstruction filter output amplitude can be higher than its input amplitude, and many board designs make the mistake of using the same power rails for both DAC chip and filter. e.g. if the DAC chip has a 5 V analog supply, and the reconstruction filter uses that same 5 V analog supply for its op-amps, then you have a situation where analog clipping can occur at some frequencies. Not all the time, but with certain material.

What you're describing may be due to internal digital filtering which clips the digital samples before they even leave the DAC chip. That's certainly a situation to avoid. However, I'm wondering how many 24-bit chips these days have no internal processing. Do any of them simply directly convert the incoming PCM codes to voltages? If not, then I assume that the internal digital filters must have their filter coefficients scaled down to prevent any digital clipping. In that case, a true measure of "good" versus "bad" DAC chips would be whether they cause internal digital clipping.

Sorry if this is redundant discussion, but I wanted to clarify the issue by making a distinction between the very real possibility of analog clipping (which can be avoided when you're designing your own board) versus digital clipping (which cannot be avoided without prescaling the digital data, and which obvious causes truncation problems of its own).

EDIT: In other words, a good DAC board can be designed with the same dollar chip that got a bad review, but can still achieve good results if the clipping was due to bad analog design. Sometimes, a review of an entire product is not a very clear indication of the quality of an individual chip, because there are many factors involved.
 
Last edited:
I'm not strongly attached to either one of those DACs. But for simplicity's sake I've fallen for DACs wish a) pump their own negative supply, and b) don't need a lot of op-amps on the output. A benefit of the low DAC price point is that more people are able to buy a box and start modding. We'd be less people on this list if $20 DACs with $10 PSUs were designed in on day-one :)

The WM8741 looks great. Its 3.3V digital power is easy enough. Its 5V analog power cries out for either external power or some widgetry between it and VBUS. The outputs are differential and need op-amps with bipolar supplies. The negative might be handled by a charge pump and an LDO. Its costs USD11 at Mouser in 100x, so the added cost of the system wouldn't be all that bad.

I'm no PSU guru, so if I'm to do the supply design for something like that myself, there is a fair chance that the extra PSU components would outweigh the benefits of this DAC over the present one. So I suggest a design competition: come up with a credible WM8741 power supply design with USB VBUS as the source!

A word on clipping: I know that the ES9023 goes to phase inversion (much worse than clipping) if fed a square input >-1.5dB. Time-domain Gibb's phenomenon adds to the input and overloads the output of the internal FIR filter. In my book that's a very poorly designed digital part inside the chip. Claiming that full-scale square input won't ever come from a microphone doesn't cut it. Trust me, this is not clipping in the analog domain. If you want I'll dig up the full argument on what's going on inside it. I don't know if the other buck-DACs quack like that.


Børge
 
I'm no PSU guru, so if I'm to do the supply design for something like that myself, there is a fair chance that the extra PSU components would outweigh the benefits of this DAC over the present one. So I suggest a design competition: come up with a credible WM8741 power supply design with USB VBUS as the source!
That's a great challenge. And for those who wish to avoid computer power, a single jumper could easily allow the USB VBUS to be disconnected and replaced with a battery or other source.

(p.s. Your other comments were helpful, too!)
 
Yes, switching to external power is fairly easy. I just don't want it to be a requirement for Audio-Widget hacking that an external power must be bought and shipped around.

I'm all for a Hi-End analog board, but I'm not giving up on an affordable and good one. That's why I asked the question about low-cost / low-complexity DAC preferences a while ago.

Børge
 
That's a great challenge. And for those who wish to avoid computer power, a single jumper could easily allow the USB VBUS to be disconnected and replaced with a battery or other source.

(p.s. Your other comments were helpful, too!)

AMB does it with a Texas Instruments TPS2115APW power multiplexer. So you can power it from USB and it switches to external power if the external supply is present..
 
Finally, something's happening with the new boards!

Here are recent pictures of the newest incarnation of the USB-I2S module and of the AB-1.12 / AB-1.13 prototype boards.

The USB-I2S module still isn't 100% tested... Cross your fingers for a good result.

As soon as the boards get to Norway and I have inspected them, I will open up for orders and payment.


Cheers,
Børge

looking good Borge, i'll keep an eye out for the email