Open-source USB interface: Audio Widget

sounds messy IMO, 'Jack of all trades, master of none' is a (perhaps AU indigenous) phrase that comes to mind
there are a few commercial DACs with I2S input out there, yet each one seems to have chosen a different (and incompatible) format for that connection (not only connector and pinout but also voltage levels, etc. See m2tech paper for more details).

In principle the I2S output on the widget will have to be (at least) electrically compatible with them all (or at least most of them), or it would be mostly useless.

For myself, as far as it will work with my model 192 I'll be happy. :p

OK, I'll drive the I2S buffer from VBUS then for 5V. And allow some patching for the power.
great, tnx! :worship:

...any chance to also go differential? :D

M2Tech IMHO.
why? :confused:

The m2tech "hiFace Evo" is an USB to I2S+S/PDIF adapter, not a DAC. Why should we want to be compatible with it?

AFAIK, their pinout is common to nothing else. I have no idea why they have chosen a new, "unique" pinout instead of chosing to be compatible out-of-the-box with at least some of the existing products (may be they did that on purpose because they also sell OEM boards and adapters to DAC manufacturers and...).

Whatever. Adopting the m2tech pinout would mean that you'd have to use a custom built cable no matter which DAC you have.

OTOH, thousands of NorthStar DACs have been (and are still being) sold worldwide. They are pretty common and popular. I guess their owners (most of which are likely not DIY-guys and may be unable to build their own custom cables) might be quite happy to learn that they can buy a widget and connect it to their good old DAC using any standard ethernet patch cable (of reasonably short lenght).

IMHO, a more properly posed question would be to discuss whether to use the NorthStar pinout or that of some other popular and worthwhile commercial DAC which also use RJ45 for I2S input (if any).

(DACs which do not use RJ45 for I2S input would require a custom cable anyway. DIY designs are less of a concern: anyone who is able to assemble a DAC can surely build also his own custom I2S cable...).
 
Last edited:
Oh, was about to forget. About the ES9012 I/V (and analog out) stage.

The (internal) output stage of the Sabre is pretty peculiar. It's neither a voltage NOR a current output stage. Actually, it can be BOTH and anything in between!

IMO, the best option is simply no IVC, no filter, no extra analog output stage. No anything. Just connect the Sabre outputs straight (via a couple of decoupling film capacitors of adequate quality, such as Obbligato or Mundorf) to a standard balanced output connector.

That output can be used as-is (even using only "half" of it via a balanced-to-unbalanced cable if you have to go to un unbalanced preamp or integrated amp) or brought to whatever extra analog circuitry one may want to add (in that case, the decoupling caps will be likely omitted/by-passed).

Possible (extra) output stages for the Sabre are countless. They can be active or passive, use the chip in Iout, Vout or "mid-way" mode (that is, close the Sabre outputs on whatever impedance the designer decide to use, all the way from short-circuit to open circuit), be based on ICs, discrete SS, tubes and/or transformers, may or may not provide HF filtering, ... the possibilities are simply endless.

If there is anything that you can be sure about, it is that absolutely NO one single choice will ever make everyone happy. No matter how good it is.

People do and will want to try their own ideas on the analog stages (if any will be used).

BTW, believe it or not, many people (including myself) reports that the output from the Sabre chip brought straight (via a decoupling cap) to the (pre)amp is one of the best sounding (if not THE best sounding) solution anyway.

Even if you use only "half" of the DAC (go unbalanced), it sound way better than with many (balanced) I/V stages with proper "BALUN" out.

So that's IMHO a no brainer.
 
Last edited:
wow, measured performance is completely meaningless to you? (regarding direct connection of sabre via one arm for SE output) it will work, but i cannot think of a less suitable way to connect this dac.

i2s is about the most vulnerable and impedance sensitive digital connection anywhere in the dac signal path, particularly if its going to be carrying master clock. adding a mess of adapters to cater for multiple formats; unless you do this with incredible care with rather expensive connectors and impedance controlled layout, you will spend all this effort avoiding the jitter (and error correction) of spdif and creating a master synchronous clocking scheme and throw all of that hard work away with an adapter PCB connected to another adapter PCB connecting the dac? i understand the motivation, but do you really want to sacrifice performance for every dac so that it works for everything?

or will analogue and i2s connections remain direct and only control systems catered for on this adapter?

probably best to avoid talk of sabre IV stages, of course you will never please everyone, but you should provide the basic requirements for best performance, which i mentioned a few posts above. direct connection lowers measured performance (and IMO subjective) to well below other dacs, for exactly the reason you mention, because its not a very robust current source, as its described as a 3.05v p2p voltage source in series with ~780ohms (in stereo mode and with AVCC/2 of 1.65)
 
Last edited:
correction, i was too late to edit. 780R outputz is per dac in 8 channel mode. stereo (and by extension the default mode for es9012) is 195

so

because its not a very robust current source, as its described as a 3.05v p2p voltage source in series with ~195ohms (in stereo mode and with AVCC/2 of 1.65)
so a handy addition for the 9012 board would be an onboard buffer that takes the low noise AVCC supply voltage, divides it in half and buffers it for a separate bias voltage for any IV stage input that can use it. you can squeeze a bit more DNR out of the dac by making the AVCC supply 3.45v instead of 3.3

btw my apologies for the harshness that came across above unixdeveloper, i wanted to edit that too
 
Last edited:
...any chance to also go differential? :D

Probably not. Because:
- There isn't board space for much more
- The data signal doesn't lend itself well to a transformer
- If I use straigth and inverted CMOS drivers, the inverter output may very well see GND on the other side.

I'll add a power patch so that both 3.3V and 5V are options. While VBUS is a higher voltage it is also more noisy. So MCLK toggle times at the receiver will vary with rise time and driver VDD.

I prefer to make a plan and stick to it. That means a cable which works in one I2S Widget will also work in another, once we decide on voltage level. It is unfortunate that other equipment doesn't follow a standard.

You got me convinced, I'll change it to support existing I2S sinks (DACs), not existing I2S source equipment. But after that it's custom cables and Wikipedia articles, NOT board changes :)

I welcome anyone to start a Wikipedia article on I2S over CAT5 (I don't have the time nor the equipment). The article establishes a "standard" and lists equipment which is or is not compatible with it.


Børge
 
Hi Borge et al,

It may be worthwhile to take into consideration the likely existing DAC equipment you will be plugging the external I2S+MCLK bus to.

The considerations include:

1. Is the DAC board going to be the MCLK master? (DAC board supplies the MCLK, USB-I2S takes the MCLK as input.) In this scenario the advantage is that the MCLK is closest to the DAC. Jitter from transmission from DAC board to USB-I2S is not a problem. However, the USB-I2S board will have to cater to WHAT that MCLK will be. Will there be two frequencies, 44.1x and 48x? How will the USB-I2S board signal to the DAC board the sampling frequency to use and the XO to use?

2. If the DAC board needs control lines, you will need either gpio's or i2c. Setting of filters (eg PCM5102 type, ES9018 type) etc.

3. If the DAC is a simple "slave" MCLK device, it will be easy: just send the MCLK (out) and the i2s to the DAC board.

4. Some existing DAC boards might already have their own control panel (hardware buttons etc.) for setting sampling rate, XO's, filters etc. So there is no need to provide control lines. Some will have automatic sampling rate detection (eg by sensing the LRCK) etc.

My point is that every DAC board that you want to inteface with with the external I2S+MCLK lines may be very different. So it may be worthwhile to actually look at one or two of the most "popular" DAC boards - eg TP - to see what is involved.

Alex
 
Hi Alex,

this will be a simple push-MCLK interface over CAT5. Think of it like split-out SPDIF on a DC coupled interface. The development work needed to make a one-size-fits-all and maintain it is too large compared to the benefits IMHO.

If somebody really wants that, take the time to define it, make it compatible with PSaudio's I2S over HDMI, write the Wikipedia article, and I'll put it on a board and publish the schematics!

Børge
 
why? :confused:

The m2tech "hiFace Evo" is an USB to I2S+S/PDIF adapter, not a DAC. Why should we want to be compatible with it?

Yes and it's a more popular and "universal" product than the NorthStar.
Don't know how many people you think own each device, but you'll be surprised.

Also M2Tech is currently one of the most popular OEM USB-I2S suppliers and various manufacturers rely on their tech (Northstar is actually one of them - though they use an earlier version of the tech).
When any other manufacturer or M2Tech themselves release an I2S-something it'll most probably follow M2Tech's pinout.
This is already happening with their DACs (Young, EVO DAC and their next higher-end model).
Plus the EVOs I2S output is very robust and compatible with all the Sabre DIY DACs currently out there if you just observe the pinout.

The only other real competitor at the moment is XMOS (which I think is or will become even more popular).
Again easy to "drive" any Sabre with the XMOS I2S output. Good luck getting it to work with Northstar.

OTOH, thousands of NorthStar DACs have been (and are still being) sold worldwide. They are pretty common and popular. I guess their owners (most of which are likely not DIY-guys and may be unable to build their own custom cables) might be quite happy to learn that they can buy a widget and connect it to their good old DAC using any standard ethernet patch cable (of reasonably short lenght).

Again, you're exaggerating the "importance" of Northstar.
They're a small company, with limited know-how in these matters and who chose a very specific I2S format which is not compatible with anything else.

Plus, the way I see it, widget's target group are not people who have no DIY skills or buy off the shelf components with no urge to tweak them a bit.

IMHO, a more properly posed question would be to discuss whether to use the NorthStar pinout or that of some other popular and worthwhile commercial DAC which also use RJ45 for I2S input (if any).

IMHO a more properly posed question would be the discuss whether to use the M2Tech or some other popular I2S pinout.
But if I had to choose between North and M2Tech, I'd definitely choose the latter.
 
Last edited:
wow, measured performance is completely meaningless to you? (regarding direct connection of sabre via one arm for SE output) it will work, but i cannot think of a less suitable way to connect this dac.
short answer: basically yes. I am the final user: it has to satisfy my "ears", not my instruments.

(besides, it have been scientifically proven -since a long time- that standard audio measurements such as THD do have little to NO correlation at all with perceived sound quality, thus basically they are almost completely meaningless with respect to that).

A more elaborate answer would be long and OT here, so I'd rather not pollute this thread with that. Suffice is to say that indeed I know (I am an EE...) that it technically works better and can also actually sound (a bit) better when using it "properly" (balanced). Yet I can tell you by direct experience that it still sounds very well *even* when using only one output (SE, unbalanced).

About voltage vs. current output mode, with the Sabre even the measured performances changes very little all the way from full voltage mode ("open" outputs) to true current mode (active I/V with close to true 0 ohm input impedance).

Yes, in true current mode measured performances are (very) slightly better than in voltage mode. But then, if you consider the unavoidable added artifacts of the extra active analog circuitry which is required to use the Sabre in current mode, it is not unlikely that in practice you'll get worse overall performances not only from the (IMO paramount) perceived SQ point of view, but even in term of mere instrumental results.

I'd say KISS, but that's me. YMMV.

(BTW: from an SQ point of view, people who have tried claims that the ES9008/9012/9018 sounds best in "power" mode, that is when loaded with an impedance which is close to the Sabre internal one).

Nevertheless, WRT this project the relevant point is that in the DIY audio world no-one would be satisfied with ANY analog output stage you may conceive. Almost everyone have his own idea (and taste) about how that should be better done and will want to do it that way.

That's why I strongly believe that this project would be better off by providing none, allowing people to try and use whatever they like more.

The possibility of direct connection is IMHO a fortunate feature of the Sabre DAC which allows to do so while still providing a device that can also work well right out of the box, without any extra work/added parts.

Otherwise, you'd have to make a "modular" approach similar to the TP Buffalos, allowing people to choose between a few ready made designs or to get none and build their own.

do you really want to sacrifice performance for every dac so that it works for everything?
maybe you missed the point. We're probably talking about different things.

The plans about the widget "own" DACs (including 9012, ecc) have always been to integrate them within a single board, next to its clocks, etc.

The I2S output we're talking about is meant as an added facility/commodity to allow the widget to be *easily* used (also) as an USB-I2S interface for ANY existing DAC (particularly commercial ones).

Of course it should be made as good as possible, but it should be obvious to anyone that such an external connection is somewhat intrinsically flawed and will never be the best possible way of using the widget.
 
dont be fooled into thinking you'll get anywhere near the voltage out spec (let alone the current output spec) by directly connecting it through a cap. to me directly connecting and connecting through transformers were very much audibly inferior to match the significantly inferior measurements for thd and linearity. quite good sounding still, but soft and lacking dynamics compared to discrete solid state and even multiloop FB opamp IV. i dont see the point, may as well use a dac with a proper voltage out and an analogue out that doesnt need filtering (and by that i mean filtering that a single cap cannot provide)

hmm daughter board or adapter are not words that spring to mind when talking about a single board and any AB PCB ive seen has not been integrated either and ive only heard mention of a 9012 daughterboard. maybe the later releases will be? that would be excellent and its not done anywhere near enough here in the name of flexibility to satisfy everyone.

i did mistake some of that talk for adding another adapter for synchronous mode mclk output on top of the already existing daughterboard adapter to cope with different standards.

you WILL have to change the clocks to run 9012/8 if you want to retain OSF and the internal FIR. so i guess i was getting a pretty confused message. i'm going to bow out until you guys have sorted out your direction, because it does seem like there is some confusion in the ranks about the focus and priorities apart from myself and i'm probably not helping.

good luck guys!
 
Last edited:
Hi Qusp,

Here's a bit of info on the design philosophy. The AB-1.1 is split in two. It has an USB-I2S module which you're not supposed to touch a soldering iron to, but which can be updated over firmware. The module sits on an Analog Board which you may very well touch your soldering iron to. Quite a few units have been sold with the ES9023 DAC.

A lot of people are in love with the ES9012. I am not. The reason is: No easy PSU, no support, no availability, no documentation. Provide those four and I'll happily provide populated board.

As a step in that direction I am about to finish the AB-1.12 prototype board. It requires the same USB-I2S module. It will be a naked board which support development of:
- PCM5102 to replace ES9023 (most of the same issues as with bigger brother)
- New regulators
- CAT5 I2S output for the fun of it
- ES9012 layout completely void of PSU and IVC.

There are no more modules or go-between boards planned. (A good candidate might be galvanic separation between AB and module, but that's a case for the future.)

If anything good comes out of tinkering with AB-1.12's designed-in features, or indeed any other cool stuff, it may very well make its way into fully assembled units.


Cheers,
Børge
 
The AB-1.1 is split in two. It has an USB-I2S module which you're not supposed to touch a soldering iron to, but which can be updated over firmware. The module sits on an Analog Board which you may very well touch your soldering iron to. Quite a few units have been sold with the ES9023 DAC.

As a step in that direction I am about to finish the AB-1.12 prototype board. It requires the same USB-I2S module. It will be a naked board which support development of:
- PCM5102 to replace ES9023 (most of the same issues as with bigger brother)
- New regulators
- CAT5 I2S output for the fun of it
- ES9012 layout completely void of PSU and IVC.

There are no more modules or go-between boards planned. (A good candidate might be galvanic separation between AB and module, but that's a case for the future.)
I was going to suggest that there seems to be two different flavors of I2S needed.

A) For those who want to put the DAC in the same box as the Audio Widget, only the simplest I2S connector is needed (and, in fact, it probably already exists as the current link between boards). This is the USB-I2S module output as I2S.

B) For those who want to connect to a DAC in a separate enclosure, a more robust I2S link is needed. This is the external I2S connector on the AB-1.x

The reason I mention the two is that folks who are unhappy with the external I2S that happens to be chosen can just replace the AB-1.x board with something else, and thus change to whatever I2S cable is supported.
 
As a step in that direction I am about to finish the AB-1.12 prototype board. It requires the same USB-I2S module. It will be a naked board which support development of:
- PCM5102 to replace ES9023 (most of the same issues as with bigger brother)
- New regulators
- CAT5 I2S output for the fun of it
- ES9012 layout completely void of PSU and IVC.

Børge

also:

- S/PDIF output
 
you WILL have to change the clocks to run 9012/8 if you want to retain OSF and the internal FIR.!

Hi Borge,

Cusp does have a good point about the clocks for ES9012 (for the AB1.12 on the board 9012 footprint). We may have to go up to 45.1584/49.152 Mhz (or higher?) for synchronous clocking of the Es9012/18, with a corresponding /4 (instead of /2) MCLK for the uC.

The higher clocks are compatible with the PCM5102. (In fact PCM5102 can go up to 384khz sampling with these clocks.)

Alex
 
yep, to support 24/192 with OSF + FIR it has to be 45.1584/49.152, but to support the full 352/384 you have to double up again. with the current clocks it will only support 88.2/96.

Sorry for the caps and insistant tone above with that, but nobody seemed to be listening when i posted it before; its not a matter of being picky doing it for best performance, it will not work at all without this and you would be forced to bypass OSF and the internal filter with arduino or the AKM ackodac MCU module, which works with any sabre. Then you would have to supply at least 8 x FS OS externally, defeating one of the major advantages of these dacs at the same time.

the buffalo 2 and 3 do not have physical dipswitches for this either afaik, so anyone getting the widget for i2s connection to them would have to use the widget in a non-synchronous mode, use limited bandwidth content, or turn off OSF with some sort of i2c interface.

@ borges: thanks for the reply mate, i'll reply to you a bit later, gotta get some work done
 
Last edited:
yep, to support 24/192 with OSF + FIR it has to be 45.1584/49.152, but to support the full 352/384 you have to double up again.
this is indeed a good point. I was bout to mention that too. :cannotbe:

The Sabre DACs (including the ES9023) works (and sounds) better at higher clock freq.

Unfortunately, raising clock freq. pose some problems, too: AFAIK, the higher you go with clock freq., the worst jitter and phase noise tends to be. Clock availability @required freq. may be yet another. :(
 
the most difficult and critical region for phase noise is generally 10-50hz where psrr is not always so hot, but yes although getting xo that fast is not an issue, getting proper audio clock frequency multiples up that high is rare and increases current demand on the psu, maybe even requiring a little heatsink on the DSP. crystek will do custom values, but $$$

did development of the Si570 DsPLL go anywhere?
 
The higher clocks are compatible with the PCM5102. (In fact PCM5102 can go up to 384khz sampling with these clocks.)

I hate to ask, but has anyone had any personal experience with the actual chip and this gibbs clipping stuff? so far, I'm not enthused about this chip; but I'm willing to admit it could be my build or some other flaw in my implementation.

has anyone tried to verify this chip is really usable, before just assuming it is? my experience was quite bad and I stopped considering it, myself.
 
Clocks:
The AB-1.12 is a naked board, so strap on whatever you want :) The module only works with 11.2896/12.288 (=I2S bit clock) but that's no problem since the AB allows 1:1, 1:2 and 1:4 clock division. I plan to ship the naked AB-1.12 board with one loose 22.5792MHz XO and one loose 24.576MHz XO. If you want twice the frequency you'll need to source the clocks. I can help with a group buy from the vendor I'm using today (Golledge). But mind you: This only matters after you set your mind on obtaining an ES9012 and find out a way to power it :)

Clipped Gibbs:
If it "only" clips I'm happy. The ES9023 overflows a very positive output and adds the overshoot to full-scale negative (0x7E+0x02=0x81, from very positive to very negative with small diff). The board will be there for us to find out.


Børge