Alteration of a DMX signal by Arduino

: I am currently operating an ADJ Focus Spot Three Z Pearl spotlight, along with other DMX controllable devices through a myDMX 3.0 interface. The DMX devices are programmed and controlled from the myDMX 3.0 software app on a computer. I would like to have the option of joystick, or trackball, control of the Focus Spot Three as a manually controllable follow spot. The Focus Spot Three is operating in a 22-channel mode on channels 25 through 46. This configuration makes channel 24 coarse pan, channel 25 fine pan, channel 26 coarse tilt, and channel 26 fine tilt. The problem is that coarse pan at 2.47° per 8 bit (0 – 255) DMX digit is too coarse, fine pan at 0.0969° per DMX digit is too fine, coarse tilt at 1.058° per DMX digit is too coarse, and fine tilt at 0.00415° per DMX digit is too fine for smooth follow spot control. I would like to daisy chain an Arduino device between the myDMX 3.0 interface and the Focus Spot Three that could add a joystick signal to channels 24 through 27 to provide follow spot control of the Focus Spot Three on top of the computer settings that are already there. Given that 0-255 binary pan and tilt signals are generated by the joy-stick, they could be multiplied by appropriate factors from DIP switches and added to the original fine pan and fine tilt signals from the myDMX 3.0 interface. Divide each result by 255 and add the integer results to the respective coarse pan and tilt channel signals. The fractional remainders, times 255, would then be substituted back into the respective fine pan and tilt channels. These results would then replace the channels 24 through 27 signals in the next DMX packet issued from the myDMX 3.0 interface.

Welcome to the forum

Consider editing your post and breaking up the large slab of text into smaller paragraphs to make it easier to read. In order to get help you need to present the problem in the best, most understandable way possible

I've never actually used DMX.

If I understand what you're trying to do, it should be possible...

There are DMX boards for the Arduino, or you can make one, and I believe there is a DMX library. You MIGHT not need the library if you can otherwise read & write the serial data.

The first steps would be to separately read messages from the controller and write messages to the light. You can use the serial monitor to display the received data from the controller and you can either display the raw bytes or you can "decode" the messages. Then, just pass-through the messages (through the hardware and software) before trying to modify the data as it passes-through.

Once you can send & receive DMX data or pass it through, you should be able to modify it as it passes-through.