Assignment: Make a controller for a DMX-based lighting plot.

For the assignment I tried using both node.js and Arduino, and found the Arduino (Arduino MRK1010 board and Arduino MKR485 shield) to be much easier in terms of programming.

To start off I connected the DMX cable to the shield.

Screen Shot 2562-04-14 at 22.48.34.png

I then set the channel on the DMX and tested the light using the ArduinoDMX library’s example and tested a few effects to see the light’s speed – I was surprised to see that it was very fast to turn on/off, much like a strobe effect.


Having worked a lot with audio and visuals on Max/MSP, I wanted to try using the program to control the light. The three main effects I wanted to explore where panning, rhythm and synchronisation/desynchronisation nature of audio and visual.

I started off by trying to send multiple data from Max to Arduino through serial communication (panning experiment).

Sending data from Max: convert all integers to ascii (using atoi object)

Receiving data from Arduino: convert characters to strings (using subString) to integers (using toInt) — StringSubstring and StringToInt examples on Arduino.

After I was able to run the serial communication smoothly I started building the sound files and the controls. These were the results.

Control interface:

Screen Shot 2562-04-14 at 22.01.53.png

Max patch:

Screen Shot 2562-04-14 at 22.04.41.png

Max/MSP patch and Arduino code:

I am very happy with both the control functions and the light quality. I hope to experiment with other sounds and visual effects in the future (as well as making the control more user-friendly)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s