Hi there -- I just came across this post and I can't believe it's almost exactly what I've been looking for.
I'm working on a personal project in which I want to be able to read the input from an Audison remote controller (which plugs into the DRCC port of of the AF M5.11 bit DSP amp) with an Arduino board, and then replicate the signal output from the Arduino to to the DRCC port.
The reason I want to do this is because I want to use my analog steering wheel controls as well, to control the AF M5.11 -- so the goal is to map the SWC to mimic exactly what the Audison remote controller signals to the amp for, say, volume control.
Therefore:
Any command sent from the DRC remote controller would just be mirrored in one of the Arduino's outputs going to the DRCC port of the amp.
The SWC signal (simple varying voltage signal depending on which button is pressed) would be read by the Arduino analog-in and then would trigger a corresponding command to the DRCC port via the same output as above. Essentially, as if the actual DRC remote controller was sending the command.
As I am very new to Arduino, would your implementation help me achieve this (with some tweaks of course)?
How did you read the input from the DRC? Do you have the Arduino code for this by any chance?
Happy to chip in the purchase of a PCB board for your testing and hard work.
From my understanding, the AF M5.11 uses the DRCC system (CAN Bus) for the remote. This differs from the Bit 10 that uses the DRC system (RS485 bus) for the remote which is what this was designed to support. You unfortunately would not be able to use the PCB I developed to control your DSP.
However, since I have done the groundwork for reverse engineering the protocol, it should be pretty straightforward for you to create the hardware required for your DSP remote (CAN Bus transceiver to interact with the DSP and an ADC to read the voltage input from the SWC). I would love to help you but unfortunately dont have an AF M5.11 for testing but I am always happy to assist you with any endeavours
Hey thanks for the prompt response. I stand corrected, upon further reading I now see that there are two nearly identical models, (DRC MP and DRC MP CAN) which are not cross-compatible.
If I were to go for the Bit 10, how would I start with reading the RS485 bus signals with the arduino? As stated, I don't want to build a new PCB, but rather use an Arduino board to send out an RS485 bus signal to the Bit 10. This signal will either be a mirror output of the DRC MP remote (in case I am adjusting the volume from the remote) or a signal from the SWC "translated" by the Arduino to the corresponding RS485 signal in the output.
If not, how should I go about reading the CAN Bus signal from the AF M5.11 into the Arduino?
If you were to go for the Bit10, your Arduino board would need to connect to an RS485 transceiver (you can use either a module or IC on a breadbord - just make sure the IO voltages are compatible). This could be wired in parallel to the DRC's RS485 lines (green and red wires). I have done most of the groundwork with regards to working out Audison's RS485 communication protocol so you can use the firmware on my Github. It will need tweaks depending on the MCU you use. I have done the development so far with an ESP32 using the Arduino framework for FW.
You could make your life easy and use an ESP32 dev board along with the code I already have, you would only need to add ADC reading functionality to read the SWC.
To make your life even easier, you could use the board I have made with the encoders not connected. You could then hook you SWC wires to the board using the encoder test pads and again, all you would need to do is add ADC functionality and the project is pretty much done
By wiring your arduino in parallel with the DRC, you won't need to "translate" the signal from the DRC back onto the bus as your Arduino acts as another DRC on the bus - hard to explain but probably easier drawn on a diagram.
If you wanted to go with the AF M5.11, you would repeat the exact same process except you would use a CAN Bus transceiver and tap your transceiver in parallel with the DRCC. You would possibly have to do some protocol decoding yourself as Audison may have changed it for the new device
Thanks again for the detailed response. Appreciate the time and patience as I'm very new to the arduino platform and still experimenting.
So essentially you are proposing a pass-through setup for the DRC, and then deal programmatically with the transceiver to translate the signal from the SWC (via the ADC) and produce an output that mimics what the DRC sends (RS485 or CAN bus), correct?
One last question -- as I am exploring other options as well, I'm seeing many amplifiers having an RJ11 connection for their wired remote controls. In the absence of a more sophisticated connection then, is it safe to assume these are either RS232 serial connections or RS485 and thus can be "read" by the arduino board with the corresponding transceivers?
(I got a response from at least one manufacturer confirming they are using RS232 for their RJ11 remote control so...)
So essentially you are proposing a pass-through setup for the DRC, and then deal programmatically with the transceiver to translate the signal from the SWC (via the ADC) and produce an output that mimics what the DRC sends (RS485 or CAN bus), correct?
Precisely, you want to make your Arduino device mimic the DRC on the bus regardless of what inputs you use (SWC, rotary enocders, web server etc)
One last question -- as I am exploring other options as well, I'm seeing many amplifiers having an RJ11 connection for their wired remote controls. In the absence of a more sophisticated connection then, is it safe to assume these are either RS232 serial connections or RS485 and thus can be "read" by the arduino board with the corresponding transceivers?
I wouldn't "assume". What you have done is a good idea. Reach out to the manufacturers to confirm. If it does use a bus of some sort, you would follow the same procedure I did - work out how to tap into the signal, cross your fingers that the communication is not encrypted , decipher the protocol and then implement your version with the Arduino