How about barebones PIC coding?

If 3.0.6 has taught us anything, it’s that even if the FPGA code stays the same, small changes in the PIC controller coding can make a noticeable difference in sound quality. That got me thinking; why not create a barebones PIC code that allows for “basic” functionality that emphasizes on pure sound quality rather than functionality. Offer both a fully functional continually updated PIC control code and a barebones one that focuses on sound quality. I’m assuming it’s the extra processing creating more noise.

I don’t know how many are like me, but I rarely interact with my Directstream, only adjusting the volume occasionally and I keep the screen off when the unit is on. I realize for those who use the Bridge, updating the PIC code is important, but for many others who use a different source component or even a pre-amplifier, there is little reason to have all the functionality as we don’t use a lot of it. How about creating PIC code to make it as least noisey as possible with “basic” or “limited” functionality?

Or better yet, offer a hardware upgrade that galvanically isolates the PIC controller from the rest of the system!


The same point was raised about the DMP code. It didn’t get much interest.

That’s surprising to hear considering so many people care about getting the most from their DAC and source components.

A very good first step is turning the display off.

Except for the Bridge the DS and DS Jr can run with no PIC code (after the FPGA is booted.) The auto input select can switch inputs to the last input that started reliably for most people and if you have a preamp you don’t need the volume control. The details are things like handshaking with the DMP for DSD playback and checking I2S for preemphasis.

But in general there are so many housekeeping things going on that “stopping the main loop” doesn’t really cut that much noise down. There’s a possibility that future products can do better in this regard (and perhaps can be made more immune to such things.)


Is auto input select an setting that needs to be done? My DS Senior used to go to the bridge when I started playing something but doesn’t do that anymore. You have to manually change it. It doesn’t go to usb or i2s either when you play to those inputs.

AUTO should be an input select option, just like USB, COAX etc.

1 Like

Tho the FPGA has the auto input select feature only the Jr has the UI to expose it. Hopefully we’ll see it in the UI for the DS in a future release.