diyAudio (
-   Digital Source (
-   -   Open-source USB interface: Audio Widget (

alexlee188 25th June 2011 12:26 PM

Hi all,

Thanks to Nikolay, one of the several firmware developers of the audio-widget, we now have async out with rate feedback in uac1, which works under all OSes including Windows, without the need for any custom drivers. (We already have async out with rate feedback in uac2 for some time - however, this requires a custom driver under Windows.)

Latest firmware can be downloaded from:

Downloads - sdr-widget - Audio and Control Interface for Amateur Radio SDR and Audiophile USB-DAC - Google Project Hosting

Also, following the mod done by Wei adding Black Gate N caps to the audio-widget to improve the sound quality, I have also done a similar mod, using the far cheaper Sanyo OSCON caps, 25V 15uF, on the AB-1 board by Borge, and also on the USB9023 board by George.

With the OSCON caps, I can report significant improvement in the bass which is tighter, stronger and clearer. There is also some slight improvement in the vocal range, with voices sounding more natural.

Note that the above are using USB power to the widget.


borges 25th June 2011 05:02 PM

Hi guys,

following Alex's and Wei's suggestions, I'll make changes to the AB-1.1 board to fit these capacitors.

Just one thing: should we care about the USB inrush current requirement? 10F seems to be a common maximum load. But what about decoupling on the other side of LDOs?


alexmi 26th June 2011 05:07 PM

a question
Hi guys,

While waiting for the USB9023 board from George and building courage to update my Linux kernel I want to pass this question by you...My music server is an Atom system running Ubuntu 10.10 with mpd as the player. My future dream system would do digital crossover and digital room correction (DRC) on the server, thus generating a total 6 streams (that must be somehow synchronized). Hopefully there are enough cycles in the processor to do all this real-time,
but if aren't I can always upgrade the motherboard. The question is, could I multiplex all 6 streams on a single USB, and of course de-multiplex at the USB-DAC end and get 6 channels of analog audio ?? From a bandwidth point of view it would seem possible, a 24/192 stream would need 600 KB/sec, so 6 streams would need 3.6 MB/sec way below what USB 2.0 can do comfortably (20-25 MB/sec). However I know nothing about how current USB multiplexes right and left channels to maintain sample synchronicity and if this could be somehow expanded to 6 channels.
What do you guys think, is this even remotely possible, or is it only a pipe dream ? Of course, I understand, it will require special drivers/code and I could write some...but is there anything inherently impossible about this ?

thanks a lot, Alex

alexlee188 27th June 2011 12:04 AM

We have started designing a multichannel version of the audio-widget. However, it will require a different architecture/microcontroller. We are considering a C-Media uac2 chip.


abraxalito 27th June 2011 12:11 AM


Originally Posted by alexlee188 (
We have started designing a multichannel version of the audio-widget. However, it will require a different architecture/microcontroller. We are considering a C-Media uac2 chip.

Curious - you're using ARM now aren't you? Does a multichannel solution exceed the capabilities of ARM microcontrollers?

Disclaimer - I'm a big fan of ARM so very curious to know what their limitations are in practical applications such as this one :)

alexlee188 27th June 2011 03:45 AM

Hi Abraxalito et al,

1. The current audio-widgets use the Atmel AT32UC3A3256 uC, which AFAIK is not arm based - so you can relax :-)

2. For multichannel work, the limitation is not at the USB uac2 end, but at the i2s interface to the DACs end.

The AT32UC3A3 has only a single i2s port, which is just enough for stereo capture and playback. i2s data transfer occurs under direct memory access (PDCA) with little cpu overhead (just to service the interrupts to switch the ping pong buffer). All these are working nicely for stereo work.

For 7.1 channel work, you will need a better way to communicate with the DAC (or multiple DACs), either with multiple i2s, single/multiple channel TDM (Time Division Multiplex), or with a completely novel approach. Our present design thinking is that we could use an FPGA to connect to the DACs, and for the uC to access the FPGA as an external memory - ie direct memory mapping, which has tremendous bandwidth.

Alternatively, there are chips specifically designed for multichannel uac2. One of the chips we are studying is the C-Media chip. If it is feasible, it will form the basis of the next version of the audio-widgets.

Of course, we will continue to improve and support the AT32UC3A3 based audio-widgets for stereo work. The current stereo audio-widgets are proving to be an excellent performer, and are a joy to listen to music with. We hope to get the AB-1 and the USB9023 to the hands of more audiophiles for them to provide us with listening test feedback.


abraxalito 27th June 2011 03:55 AM

Hi Alex

Thanks for giving us such a comprehensive answer. I agree there's a big challenge about getting lots of I2S channels out of microcontrollers. But help might be just around the corner [dons ARM marketing hat quickly]. Have you downloaded data on the NXP LPC4300 series? Its not available yet but I've seen demos using the chip on YouTube so probably will be out by year-end. It has a new peripheral which NXP has designed called 'Serial GPIO'. It allows creating custom serial protocols, and there are I think 16 pins you can use to output. So an extra 8 channels of I2S should be possible in theory. There are FIFOs available to use on those ports too, so the CPU overhead should be manageable. To help further there's a second core on that device too which can offload I/O handling. All in all looks like a part sent from heaven for digital audio guys :D

alexmi 27th June 2011 07:24 PM

Cool, I'll keep my eyes open for the multichannel stuff...If I could help please let me know, I can program in assembler and C (though I don't know how much time I could devote to this, and haven't written a line of assembler in over 25 years...;) ). I will sign with my login name "alexmi" so we avoid the confusion with alexlee.

thanks, alexmi

borges 10th July 2011 09:57 AM

More hardware available soon
Hi guys,

a new batch of Audio Widget is being ordered these days. Schematics are at:

This piece of kit is quite similar to the first Audio Widget with a few changes:
- It now comes in a case, not just separate boards
- USB, audio and buttons are on the back
- The Analog Board is prepared for external power supplies/batteries/chargers
- The clock MUXing has been improved
- Critical components are sourced in Europe, not China.

Another important change is that place is reserved for 6.3/2.5mm pitch OS-CONs and Panasonic EEF-CD0J100R capacitors all over. I'm planning to populate quite a few of them, but would like some more feedback on your preferences.

The price is USD120 for a complete box, USD70 for just the USB-I2S module. There's a USD30 discount for each original AB-1 kit for those who want to upgrade.

Feel free to PM me to order order kits. But please don't transfer any money yet before working hardware arrives with me.


zelter 17th July 2011 04:36 PM

Windows: Need help
just trying to install SDRwidget under windows.
Do not manage to install sdrwidget driver. Widgetcontrol therefor fails to find
DG8SAQ/MOBO. Could someone post a short "how to"?

Best regards


All times are GMT. The time now is 03:42 AM.

Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 17.65%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Copyright ©1999-2018 diyAudio