An audio multiplexer based on a Rohm BD3491FS
Go to file
2019-10-21 23:35:09 +02:00
datasheets add jack datasheet 2019-10-21 23:35:08 +02:00
doc add documentation folder 2019-10-16 22:07:59 +02:00
firmware firmware: implement muting of inputs 2019-10-21 23:35:09 +02:00
kicad kicad: modify outline to make step export possible 2019-10-21 23:35:08 +02:00
README.md readme: fix small typos 2019-10-21 13:33:06 +02:00

Wat

This pcb is an audio multiplexer, meaning it can switch three analog inputs into one analog output.

Why

Sometimes you just need more inputs. And this is how you do it.

How

The BD3491 does all the audio switching. It combines one 6 input switch and an equalizer into a simple package. The STM32 configures the BD3491 to switch to the specified inputs based on pressed buttons or software control.

serial control Syntax

Upon connecting the stm32 to a PC using USB it will register itself as a new Serial Port. The following text commands can be issued via said Serial connection (the baudrate is irrelevant):

  • C[number]\n will change the input to the specified channel. The stm32 echo the command as it was understood. e.g: When Sending C0\n it will respond C0\r\n to acknowledge the channel switched to Input 1. When issuing a C10 there will be no response, since 10 is out of range. NOTE: when using the buttons on the PCB to switch the input, the stm will also issue a C[number]\r\n over the serial port if it is connected to notify the PCB of the external input change.

  • G[number]\n will activate an input gain of [number] in dB. It will also respond with the closest gain it can do. e.g: G10 will result in the stm responding G12\r\n which means it will add a 12db input boost, which was the closest matching valid input gain value. You can check the datasheet of the BD3491 to find the possible gain values if this peaks your interest :)

  • L[number]\n or R[number]\n will activate an attenuator in either the left or the right channel. [number] is once again in dB. It works much like the G-command. Setting [number] to 0 will deactivate the Attenuation.