Hardware volume

Thanx SO much! Will give it a go… :crossed_fingers:t3:

hi, after you flash the xmos, can you choose the hardware mixer in volumio? I am using exactly the same setup with yours. I really want the hardware mixer to do the volume control.

In french :

Matériel = hardware

So basically what I need to do is writing your code to the dfu and flash it to the board?
Thank you very much!

Great improvement! I suppose it shouldn’t be difficult to control the volume by a rotary encoder as well. Could someone competent suggest a simple circuit?

Anyway, can headphones be connected directly to the RCA output without additional amplifier? The missing headphone jack is another small drawback of the board.

With latest XMOS firmware you can adjust the volume on Volumio.

Tested with Volumio-0.7-2018-05-20-aml9xxxarmv7.img


Will the Toneboard become available with the new XMOS firmware already installed?

Hardware volume control?

Hi, is it correct to do this with TUSBAudioDfu.exe on Windows?
Do I have to load both @Ben007’s wesion_volume_ctrl_dfu.bin and wesion_volume_mute_flash.bin?
In any particular order?

First wesion_volume_mute_flash.bin then wesion_volume_ctrl_dfu.bin.We’ll put it all together in a formal version later.

1 Like

Hi! I updated to the new firmware because I have trouble with some noise sometimes on my Mac. But after upgrading, I don’t get any volume at all. Could you please upload the original firmware?

it seems we have several issues here.
I heard from one of our members on the Volumio forum, that after he updated, the Tone Board is not recognised anymore.
When I also read the post above, it makes we wonder if I should not better hold off until all the issues are cleared.

The new driver for windows 10 (XMOS-Stereo-USB-Audio-Class2-Driver-3033_v2.26.0) can’t be installed, it gives installation error.
There is no installation problem with previous driver (Thesycon-Stereo-USB-Audio-Driver-v224_Win7_win10).

Hi guys,we are still doing more tests, and we will release the official version a little later.
If you are in a hurry and want to use the version we are testing, you can send me a private message separately. I will send it to you separately, please.

1 Like

1、Added XMOS IO detection volume control function and control the 9038Q2M DAC output volume.It needs a button panel to control the volume and we will provide relevant accessories(need more discussion ) later.
2、Added volume control for Volumio system(RS Pi etc.) and it is not USB HID control mode.
3、Added Windows 32 bit deep source decoding function and display options, 16/24/32 bit deep source decoding function is supported.Some OS only display two kind of bit-depth displays by default.
4、Change the name of Khadas tone board shown in the system to Khadas tone control.

Upgrade Firmware:


XMOS Driver()

Have a good day!


Don’t touch the sound quality, unless you know what you are doing !!

@Ben007, looking closely at my TB, examining the oscillators, I see two 24 MHz and one 24.576 MHz (see photo).

However, your schematic says there should be one 24, one 24.576 and one 22.579. Indeed, one of the 24 MHz is connected to Xmos pin 13 through a resistor, which should have been 22.579, according to your schematic.

Please elaborate.


Hi Coolheinze,
We are very sorry for the trouble we have caused you and will confirm and deal with this matter in time.

1 Like

Add the default maximum volume output firmware.


Hi all, it’s the noob writing again.:baby:

I’m trying to build an controller routing 4 channels using I2S - 2 for the stereo DAC and 2 for the 8 channel external connector.

So far, I’ve extracted the original firmware via Xtag3 and (tried to) port the Xmos USB Audio 2.0 framework with limited success. :slight_smile:

If I don’t touch port 4D, the DAC doesn’t play, of course, but the I2S comes through the USB nicely. But it seems that when I try to init the DAC using port 4D, setting the reset pin low and high, I lose USB connection to the board. :thinking:

I see that the 8-bit RX port 8B shares pins with 4D, so I’m guessing there’s a conflict. :face_with_monocle:

Is that correct?
If so, how on earth do I solve it?
What else am I missing? :wink:


1 Like