Indicating the sample rate and format

I wonder how difficult it would be to indicate the incoming sound’s sample rate and format (PCM/DSD) by the board. The OLED connection is only a pass-through from VIM’s PIN header, so the Tone Board cannot use it itself.

It could be enough to connect some LEDs to the XMOS, but the firmware would need to be modified, I suppose. There is probably not enough free I/O pins available to indicate all the combinations, so that some multiplexor would probably be needed?

OK. Replying to myself… :slight_smile:

There are really not many free “wires”. Using I2C would probably be most efficient. Maybe the same I2C could be used at the one controlling the DAC?

I like the solution of the AUDIOPHONICS DAC I-Sabre ES9038Q2M: I2C connection to an OLED display via a standard pinout header. They also provide input for a rotary encoder for adjusting the volume. The board is well adapted for I2S input, but it has no USB/XMOS input like Khadas TB. And I cannot find any closer documentation, software nor support. So, the software probably cannot be adapted for other types of displays anyway. The price is comparable (considering it includes EU taxes).

Could an OLED display be connected to the I2C bus on the TB? The XMOS software would need to be extended to drive the display and indicate the format a frequency.

1 Like

Dear @wanthalf, have you figured out yet if it is possible to connect an LCD display to a Raspberry Pi/ Tone Board which will show the sample rate and format of the audio being processed by the DAC?

With kind regards,


I have dowloaded the original XMOS Software and it looks like it should be quite easy to send some messages to the I2C bus depending on the format a sample rate. But adding some more complex library to draw nice and smooth numbers and text on some graphical display would probably be more difficult for a XMOS-beginner like me. Anyway, we would need the Khadas modifications of the XMOS software, and if I understand the XMOS licence correctly, they are NOT allowed to publish the whole XMOS Code themselves in source code - it is not really fully “open source” in this sense, they can only distribute the compiled “object code”. But maybe they would be allowed to publish a “patch” (diffs) containing the modifications of the original software???

Actually, I do not have the TB yet. I just wanted to get one, but I think now it might be worth waiting for the “next generation” if it really(?) comes in a few months…? I could hope for some improvements of the extensibility…

To be honest: the extension connectors on the board are not really beginner-friendly, and the OLED and I2S connectors are nothing but “unfriendly” extensions of the much more friendly GPIO pins of the VIM/Edge. And Khadas does not offer any accessories for the TB itself, so they are pretty useless at the moment. They probably also expect that the VIM/Edge will be used to drive an OLED display and other extensions (still: I do not see any use of the additional I2S extension… to connect another DAC to the VIM/Edge? why another??)

Personally, I would rather avoid stacking the boards and connect just the power and USB pins and use the other GPIO pins directly from the VIM/Edge board - if I actually wanted to use the TB with a VIM/Edge, which is not what I plan to do at the moment. Instead, I would rather use the board as a standalone DAC (anyway, it is already an USB DAC with its own XMOS processor, not just a simple “dumb” I2S DAC!) - so I would like it to be capable of driving its own display and possibly having its own volume control for use with headphones, just like the AUDIOPHONICS board (which is, paradoxically, “just” an I2S DAC!). But that means to be able to modify the firmware according to the displays/extensions used.

So, we would need to get Khadas’ modifications to the original software and in the best case also some more friendly extension connector, at least.

Thanks for the information,

I am also a XMOS-beginner. I am also more and audiophile then a engineer when it comes to the working of components. My main target with the Tone Board is to replace the build-in DAC of my receiver in the hope for a better more detailed sound.

I am still not quiet sure how to connect my Tone Board when it arrives, at first I will test it with the supplied usb c cable. When it matches my expectations and indeed delivers a better more detailed sound I want to try to power the board using a linear power supply and feed its data via the GPIO.

I have no idea what will feed the board with data, perhaps a Raspberry Pi or maybe my own laptop.

Hi @wanthalf,

I am running Volumio (v2.526) on a Raspberry Pi 3 model B+ in combination with the Khadas Dac thru USB connection. Volumio already tells you the Bit depth and length!! :slightly_smiling_face: Of course I don’t know how you feed your Dac, but if you are looking for a good audio player with the function of telling the bit depth and length you should definitely check out Volumio!

Yes, every good player will tell you the format and the sampling frequency. That is also probably the reason why Khadas only added a passthrough for the I2C bus from GPIO to another (less usable) connector and nothing better. The information can always be just shown by the player, not the DAC.

Still, I would prefer the DAC to confirm (independently) that it is actually receiving the data in the expected format. Not that I would not trust MPD/Volumio… OK, maybe I should trust them more :slight_smile: And it is true that I do not expect to use the DAC just anywhere or with anything, myself. But maybe other people would like to?

One of the main arguments for Khadas TB is the possibility of customisation and extensibility - and that is why I wonder how it could be improved or extended. Of course, there is always “some solution” to every real problem and this is not such a big problem - I just always like to have flexible options open and experiment a bit, otherwise I would just buy some ready made DAC or network player and not worry… :slight_smile:

By the way, I am still not sure whether using Volumio is better than using just the pure MPD. I have to admit that I do not like the UI of Volumio that much. But I have not found any other touch-friendly GUI to MPD (except for Android Apps) either. And Volumio uses MPD and adds a lot of simplicity for common use cases - but it is still a whole system, so you need a dedicated machine. It is also a bit more difficult to customise, unless you are familiar with the technologies it uses.

It is very true that what Volumio says it is playing can be different from the actual source bit length en depth. My Marantz receiver (current used as an amp and dac because my TB is still not delivered :frowning:) tells me it is receiving a PCM stream of 48Khz while I setup my Volumio to play DSD, not DSD over PCM and Volumio told me the source was 24Bits, 44.1Khz… :thinking:

I agree it would be better if the dac told you the incomming bit depth and length instead of the audio player your using. Too bad there is no (never say never) way the TB can tell you this…