Audio signal, line level out, volume levels in config

This is a weird question to ask…

but I know the config #define VOLUME for the proffie board dictates volume to the speaker and drives the signal to that speaker.

but what if one wanted to pass the proffie audio signal to something else (bypass the speaker completely), and not drive that signal so hot to the new device that isnt a speaker. Is there a preferred or optimal define volume setting that is a flat line level (not amplified)?

To give more clarity, what im doing is hardwiring a saber to a TRS/mic cable, so i can plug the saber directly to a recording interface, and im using what WAS the speaker connections (hot/ground) and thats wired to the new cable i made. The only issue im having, is that the signal coming out of the proffie board is so darn HOT, its driving the audio interface like crazy and clipping the audio signal so much. I tired lowering the #define VOLUME in the config to lessen the signal gain, but im afraid its still a bit too hot.

Is there a prefered #define VOLUME setting that acts like a (non-amplified) normal line level signal?

I don’t know the number that would give you unity gain or something close to +4 dBu, since I’m not even sure if there is such a thing out of a DAC. I doubt there’s attenuation, unity, then amplification, but Fredrik can tell you.

If I were you , I would just hook it up to serial monitor, and use set_volume.
Start with set_volume 100 let’s say, watch the input, and just creep it up until you hit zero.

Unfortunately, just reducing the volume also reduces the number of bits of fidelity in the output. Also, regardless of the output, the Proffieboard amplifier ouputs 400kHz PWM at \pm 5 volts.

I would probably use a voltage divider (some resistors) to reduce the output voltage, that would be safer for all the equipment, and it doesn’t reduce fidelity. The signal will still be 400kHz, so something has to filter it, or it won’t sound good.

You may also want to consider that Proffieboards supports generating S/PDIF out. You just need one of these:

You hook it up to GND, 3.3v and the AUX pad, then add


If you need to you can adjust the output volume with: (It’s separate from the speaker volume)

#define LINE_OUT_VOLUME 2000

Loosing fidelity is not a problem for S/PDIF because the output is 24-bit.

1 Like

What I have working so far…is using the old speaker hot/ground wires and created my own mic cable to connect to it via quick connectors, and that goes directly to my audio interface to record capture. I then have the config set to define VOLUME to 100, and once I turn on the saber I go again unto volume control gesture (holding power button down and hitting the saber) and I again even lower the volume some more, all the way down till it’s almost muted (1 level above mute).

This is the only way I can get a clean undistorted signal into my audio interface. I then have to boost the living crap out of the signal in my DAW to get the volume back up to normal listening levels. But yes, as Fredrick said…hooking it up this way is a degradation of the audio signal. It’s a bit dull, almost like comparing 24 bit audio to 128-MP3. You do notice a difference a bit, but it’s not that bad to say it’s not usable.

I’ll have to look into the SPDIF connections to the board, and then look for a digital to analog converter so I can hook it up to a mic cable.

What does Data4/Dac pin do on the board? The manual says that it’s a used for DAC audio, is this a possibility?

It’s a possibility, however, I have not written code to actually utilize the dac output in proffieos yet. The output would be 3.3v, so some resistors would still be required. (Standard line-in is 0.5 volts) The built-in dac is only 12-bit, but at least it wouldn’t need any filtering to sound reasonable good.

1 Like