BluWave USB-to-SPDIF bridge, "a miniature beauty"

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
...as one owner said to me recently. To my shame I didn't get his approval to quote him but I'm quite confident that he will forgive me! In fact, the whole statement was something like this: " It's the ultimate size! a miniature beauty." Partially I agree with him thought I'm reluctant on "ultimate size" since I know this design can be squeezed furthermore.

Hello guys,
I'm speaking about my latest board called BluWave made from pure love to build something good and affordable. I did spend some years now to build up this small PCB but I worked occasionally on it. Since I know this post can be edited later on, I'll attach two pictures of a dirty board, top and bottom. I'm sorry that it looks terrible but I'll get back later with updated pics. This board is based on my previous design (Wave IO) but I did make some improvements here and there. For those guys who are thinking about this board to be a second iteration of Wave IO I want to state form the beginning that it does output only SPDIF signal, nothing more! So, there are no I2S buses or something like it... not this time!

As for this new card, you will easily notice that I've learned the lesson of not using pin jumpers when it comes to ... everything. Instead of this I opted out for PCB-designed jumpers, made purely of copper pads and your solder. This allows you to choose a particular configuration without be worried about parasitic resistances which can develop mostly due to moisture. I do confess those PCB jumpers could be small for some of us...

What are those configuration options?
1. The most important one is related to on-board "audio"/main clocks. This board does own a pair of small NDK oscillators used to generate all the clock/data signals for the output SPDIF stream. Using local oscillators is the default configuration for BluWave. Alternatively, a pair of U.FL. coaxial connectors are available in case you like to use your own external clock generators. This external signals should run freely, wired to those two tiny uBNCs: one for 22.5792 MHz (J7) and the other one for 24.576 MHz (J6). The related PCB jumpers to switch the clock sources are JP2 and JP3.
In this mode and to minimize the noise amount, local NDK oscillators can be disabled by cutting default traces to JP5 and JP6 => both oscillators will become dead silent.

2. The second option - which I guess is not so important - is related to on-board LEDs. In case you want to see them disabled then cutting the wire on JP4 will cause all LEDs to stay dark. Regardless of JP4, the signals on closely related pin-header J5 will always be available to drive panel mounted LEDs, for example.

3. JP1 is not used in this hardware revision so please leave it as it is.

Other than that, this board does have:
* USB input completely isolated form the output side.
* USB receiver + processor powered form USB bus while the output side can be powered separately from whatever external PSU you like. You do also have the possibility to power all the board form USB Bus. Due to some technical limitations, there's no option to entirely power this board only from your external power source.
* reclocking stage on output signal's path.
* main NDK oscillators on the "quiet" side.
* plenty of filters and decoupling networks.

It's my belief that saying which kind of parts I'm using is simply irrelevant since implementation (layout + part choices) is equally important. Let's say that I did my very best to keep all of them aside one from another trying to minimize the noise on this board and keep it to the lowest possible value I could afford. On the other end, signal integrity was my second concern where plenty of my efforts were spent on making square signals "square", especially for SPDIF output.

The output pin header (J4 - 2.54 mm pitch) is used by this board to share signals with the rest of your system (white arrows will show you the direction of that particular signal: input or output / no bidirectional). As usual, PCB is made of four copper layers in 35 / 70 / 70 / 35 um layer stack config as my previous design.

I decided to open this thread to share knowledge and gather feedback about it so I can improve this design along the way. Let's see where it goes!

Update 03-March-2017: After reading below post I decided to share some of BluWave's key features that I consider worth to be mentioned and bring clarifications where are needed:
* This board does provide SPDIF output only acting solely as USB to SPDIF bridge.
* First choice for a four layer board topology applied to this board was signal's integrity and noise minimization. Signals are properly terminated so the over / under-shoots artifacts are kept to minimum values.
* The power rails for this board are the most addressed parts of this design. This board does have bead filters and plenty of decoupling caps all over the place. Second reason why I choose for 4 layer copper board.
* PSUs are made entirely of linear voltage regulators. Despite the fact that in most cases a small SMPS circuitry will do the trick and be easier to implement, especially for the core voltage of the processor, I decided to use linear Vregs instead regardless of the power dissipation involved. BTW, that is the main purpose for those two glued heatsinks present on this card!
* By default, the output side is completely isolated form the USB receiver. The single exception is where one is wishing to power up the whole board from USB bus. In this particular case, the USB ground layer will be directly shared all across this board. In any other cases, USB grounds (and all related noise) will be kept apart from the rest of audio setup involved.
* Output side consist of SPDIF circuitry + main oscillators + reclocking stage and related PSUs. The Vreg used here does have better specs compared to what I've used on Wave IO. Star power sharing and ground planes will try to preserve the desired low noise levels.
* The ESD trouble was taken into account by applying proper protection circuitry to important nodes.
* BluWave can have two sources for main clock signals: on-board NDK oscillators (finest available to me) and external clocks applied through U.FL. connectors. When external clocks are applied, local oscillators can be disabled... both of them.
* The output data rate can start with 24bit / 44.1 kHz and go up to 24bit / 192 kHz.
* This board comes with free future support for Windows drivers as many of Wave IO users are used with! And, yes, drivers are genuine! Not something like a hacked copy of "luckit drivers" which you'll find all over the internet! ... drivers that, at origin, were mine too.
* Possibility for future firmware update though USB DFU, in case it's needed.

Update 10-March-2017: I totally forgot to add the price for this board! And, since there are many asking for this info I thought to list it. Before doing that I want to say that all the BluWave boards I have here which are part of my prototype batch will get a 10 Euro discount from the intended price tag (99 Euro). So, pilot boards will carry a price of 89 Euro with Paypal and shipping charges included in it.

Update 22-April-2017 with board dimensions:
An externally hosted image should be here but it was not working when we last tested it.


Kind regards,
L
 

Attachments

  • BluWaveTOP.jpg
    BluWaveTOP.jpg
    187.4 KB · Views: 2,742
  • BluWaveBOT.jpg
    BluWaveBOT.jpg
    163.3 KB · Views: 2,697
Last edited:
Hi Lucian,

as an owner of these first nice toy ;-) you was going the right way.

As I wrote some time before via email to you (6th of cecember last year) now for all my first listening impressions.
>> After some time listening i think it sound different from the WaveIO. But it sounds for me finer, differential and more details at the mids
and highs. I will hear some more times and other songs, not that my actually situation makes the different. The WaveIO is still today my favourite because in "over all" it sounds as best for me." <<

Now, I think it depends on the other components that i use and I can't really prefer WaveIo or BluWave.
Living room: Mac mini => WaveIo or BluWave => Soekris DAC => Pass Pre Clone => Spendor BC1A, without the amps but there are XA Clones (please no questions), Aleph J clone or some other digs amps.
Little office (and work bench): Mac Pro => WaveIo or BluWave => Soekris DAC => Pass Pre Clone => Aleph J (mini) clone => RFT BR26 or RFT BR50 (it depends on the music I'm listening)

All about I don't know and I prefer in the living room the WaveIo (Spendor are relay detailed) and in the "office" the BlueWave.

@Lucian,
sorry, but i can't decide me!

@all,
please that that is really "jammern auf hohem Niveau" (hope thats right: Whine at a high level) ;)
If someone needs these (only) output I will say "go for it"!
 
@ 454Casull: well, to be able to answer to your question I have to make a comparison between the two and the result would be subjective, regardless of my efforts! Not to mention that I don't own a miniStreamer board!
Still, I'll update my first post with details regarding BluWave's capabilities and features.

@ carsten.witt: :D Both are my creations so I cannot take part but I can full understand your dilemma :eek: I have to say there are other BluWave owners that simply can't get back to WaveIO... at least this is what they said too me recently. I'm looking forward to their feedback... if they wish to share their experience.

Kind regards,
L
 
I've Lucian's BluWave for several weeks now.

My experiences with this little board are very good at all. I've tested it in numerous ways to find out best settings (USB driver, JPlay) and best power supply options.

The source I used for testing was a LiFePO4 battery powered Core i5 PC with an optimized, minimal Windows OS running JPlayStreamer. That followed by a JCAT USB Card connected via PCIe. And I've used the interal NDK clocks of BluWave board.

So far my personal findings are:

- The BluWave reacts to power supplies at both sides - at isolated SPDIF of course, but at USB side as well
- Crossfeeding power at USB side is a good approach
- Do not bridge power from USB side to SPDIF side - this would result in an audible degradation (at least here)
- In my chain the BluWave is a bit more sensible to driver and JPlay settings than the WaveIO - you may need to find out best and most stable settings for usage with your gear

Compared to WaveIO, I find the BluWave board better by any means. It's not night and day - the WaveIO is a very good DDC as well - but I clearly prefer the new tiny board.

If I had a wish, I would opt for an additional power connector at USB side. This would eleminate the need for a special USB cable, additonal adapter or a similar thing to allow crossfeeding 5V.

Best regards, Christoph
 
Hi Lorien,

I have special made usb cable without 5 v from pc , only data + / data - / ground

can i feed the entire board with my external supply bridging both side ?

or should i feed each side separately ?

in any case i dont have usb 5 v.

Thanks in advance



.
 
Last edited:
@ fabrice63: Hello, please see my answers inlined below:
I have special made usb cable without 5 v from pc , only data + / data - / ground
can i feed the entire board with my external supply bridging both side ?
From what I know, there's need for USB +5V at USB enumeration still, I'm fully aware that my whole WaveIO was powered from external PSU and it seems there was no problem regarding this small aspect. If you want, I'll give it a try by powering the whole BluWave from my bench PSU and come back with results.
EDIT 1: As for bridging both sides, please see below:

or should i feed each side separately ?
By default, the power "strategy" behind this design was something like this:
* USB side - which is made by processor + related logic - should be powered form USB +5V while the output side - SPDIF + "audio" clocks + reclocking stage are powered from external PSU. Nothing fancy but useful!

By doing this, the noise related to USB processing will be kept on one side while the output will be (a bit) "quieter" (read = less switching noise present).

In my opinion, the switching noise from USB side - which is the one generated on-board + that acquired through GND path of USB connection - should be kept there! In this regard, you should have two completely separate PSUs: one for USB side of BluWave (in case it's working this way) and the other one for SPDIF output stage. Please see Christoph's post above. If I understand correctly his post, BluWave card is already working with external +USB5V (crossfeeding 5V) but I'll give it a go here to confirm this.

Kind regards,
L

EDIT 2: I forgot to say that bridging both sides of BluWave while it's powered from same external PSU = it's like the default power configuration of WaveIO. Still, BluWave allows you to isolate the SPDIF stage from the rest of noisy circuitry (WaveIO can't!) so please use it! Like Christoph said above, bridging those two sides together will allow for USB noise to pass through your DAC via GND connections. You do not want that to happen!
 
Last edited:
... I'll give it a try by powering the whole BluWave from my bench PSU and come back with results.
@ fabrice63: As promised, I thought I should give it a go and test the USB side with external PSU. The one I'm using is made by my friend Doede and is able to deliver 5V @ 1A ... plenty enough even to get out the magic smoke of my test BluWave if I want :D
Anyway, to avoid changing one of my USB cables I decided to remove only a part on the PCB with same effect (more or less). The part as the designator "FB6" and is the closest ferrite bead to the USB socket in 0805 package (imperial). I say "more or less" because removing FB6 I simply broke the Pi filter present on the USB +5V input. So, because of that I would suggest changing the USB cable rather than desolder anything on the BluWave board!

So far so good! I tried all kind of combinations I could think off to see how this little card behaves:
1. I leaved the USB cable plugged into my laptop and power on the BluWave board => it was detected instantly.
2. I've powered BluWave first and then plug in the USB cable => worked as expected.

The thing you need to know is this: the output SPDIF side was always powered with the rest of the board. Exceptions to this rule are discussed in above posts and are not covered by this test!

Kind regards,
L
 
Last edited:
That's quite a big difference between BluWave and the card linked on Farnell website! :p
Even if I'm quite familiar with most of XMOS products I never encounter any chip to be called "U800" still, there are two of them: U8 (BGA one) and xCore-200 (latest addition to their offer). Either way, BluWave does not have any of those processors on it due to technical choices but the one used right now is more than capable of doing "just fine" :)
Filters are not only for voltage regs but placed where I considered that I should have a "quiet" path for both voltage supplies and important digital signals.
Kind regards,
L
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.