Developing Theatrical Lighting Control with Arduino

Heather Heimbach Adam Klein [email protected] [email protected]

Alex Lin Michelle Lu [email protected] [email protected]

Vivian Zhuang [email protected]

Abstract technology, many issues continue to persist in the design and practical application of Ever since the 17th century, lighting consoles. Currently, the most lighting has proved to be an essential part of common lighting control consoles are large theatrical productions. However, small or enough in size to limit their portability and startup may have difficulty cause significant inconvenience for the user. procuring quality lighting control, due to the In addition, the cost inefficiency of lighting tendency of professional control consoles to control consoles is a valid concern for many be extremely expensive and superfluous.1 In small companies. Professional order to reduce the cost of , lighting consoles readily sell for thousands and provide a simpler alternative to more of dollars, which may not be within the complex standard lighting consoles, theaters realistic budget for small businesses and should utilize Arduinos to control stage productions. In such situations, an Arduino lights. The Arduino is a cheaper and simpler could be used as an alternative lighting open-source microcontroller that can be control console for smaller productions. This programmed to communicate with other study was conducted to analyze the objects in the physical world, such as advantages and limitations of Arduino, and theatrical lights.2 This project explores the how these affect its possible place in the wide array of lighting techniques that can be theatrical lighting industry. created by Arduino and investigates whether it is feasible to use Arduino as an 2. Background economical alternative to standard lighting consoles in the future. 2.1 Theatrical Lighting

1. Introduction In stage productions, lighting performs the essential tasks of providing As technology advances at an visibility of the stage to the audience and exponential rate, options for lighting control enhancing the dramatic elements of the also become increasingly diverse and performance. The ancient Greeks addressed accessible. Proper lighting control promotes these needs by building open-air an efficient use of stage lights, and amphitheaters that allowed them to use facilitates the control of complex lighting natural sunlight to highlight their systems consisting of a larger number of enactments. Theatres were constructed to lights. Despite the advancement in face from east to west, allowing daylight to strike the performers but not those seated in

1 the orchestra. To alter the natural lighting, lights on or off. Additionally, directors could awnings of various hues were placed over now dim the lights to adjust their intensity, the orchestra. These awnings allowed for the opening up the possibility of generating orchestra to be illuminated by colorful numerous dramatic effects.4 waves of transmitted light, creating a Although most theatres adopted gas visually pleasing lighting effect. lighting systems during the first half of the These primitive forms of theatrical 19th century, these systems were rapidly lighting persisted for centuries before stage changed with the advent of electricity. In productions began to utilize the candle as a 1881, the Savoy Theatre in London installed fixed light source in indoor theatres.3 The the first electric theatrical lighting system. earliest records of candlelit theatrical With electricity, technicians maintained the productions stem from Italy, beginning ability to control lights from a distance with around the close of the 16th century. Candles increased safety and less heat than that were mounted on chandeliers above the produced by typical gas systems. By the stage and set, footlights were arranged along early 20th century, theatres almost the front edge of the stage, and ladders with exclusively utilized electric lighting.1 attached candles were positioned between In modern theatre, lighting the wings of the theatre. Collectively, these technicians coordinate effects through mechanisms focused the theatre’s light on computers known as control consoles. The the actors, thus coaxing the audience to common control console has a number of become more immersed in the production functions preprogrammed into the system. rather than their surroundings. These functions allow the lighting Since then, stage lighting technology technician to achieve effects such as light has progressed further, partly due to dimming and color changing. The console significant developments in internal lighting. centralizes control of the lighting and In the 1780s, the candle began to become communicates with the other hardware obsolete with the advent of the oil lamp. The connected in the lighting system through an lamp was utilized in a similar way to the electronic control protocol. A slave device candle, often taking the place of candles in receives the master controller’s commands chandeliers and footlights to become the through the lighting control protocol. In the primary light source for theatrical modern theatre industry, most hardware uses productions.1 the DMX-512 protocol to communicate with The next major development in the control console.5 theatrical lighting was spurred by the creation of gas lighting systems, which first 2.2 DMX-512 Protocol appeared at the Chestnut Tree Theatre in Philadelphia in 1816. Through the DMX-512 is a standard protocol combustion of fuels, gas lighting produced used to set up lighting systems that are artificial light that revolutionized theatrical capable of transmitting commands from a lighting. Gas lighting, unlike the previous master controller to theatrical lighting candles of lamp lighting, could be controlled fixtures. Such lighting control protocols from a distant “gas table,” which contained standardize the method by which systems various knobs. These knobs regulated the are connected, allowing for a wider flow of gas through various pipes connected compatibility between lights and controllers. to light fixtures. The gas table allowed A DMX-512 signal consists of 512 lighting directors the ability to quickly turn channels that are repeated at a rate of 44

2 hertz. Multiple devices can be connected in digital low sets the voltage to -2.5V, a sequence circuit by daisy chaining one whereas a digital high sets the voltage of the device to the next, and each of the devices pin to +2.5 V.7 It is essential for bits to connected to the circuit corresponds to one communicate the correct value, or the DMX of the 512 DMX channels. Signals sent from byte, which contains a sequence of bits, the controller to the devices are referred to would be rendered unable to perform its as DMX output, whereas signals received by function of communicating data to the light. a fixture are referred to as DMX input.6 All data in DMX protocol is sent in a stream Although an Arduino cannot send DMX working at a rate of 250,000 Hz.8 The length output or receive DMX input itself, a DMX- of time required for a bit to be sent is about shield can be attached to the top of the 4 microseconds as seen in Figure 1.7 Arduino. With the shield attached, the DMX bytes are composed of 11 bits. Arduino can be connected to hardware such Bytes are, similar to bits, low capacity as theatrical lights and programmed to digital storage units. Each of the eleven bits communicate signals compatible with DMX composing one byte is assigned a specific lighting systems. role essential to communicating the DMX signal correctly from the DMX shield to the 2.2.1 How DMX Protocol Works light. The order of each bit sent determines the role of the bit in the DMX protocol. For DMX signals are communicated instance, as seen in Figure 1, a start bit through bits, which are low capacity digital containing a value of 0 in binary is sent at storage units capable of communicating only the outset of a DMX byte. Once the start bit two values, either a 1 or a 0, following the has been sent, a grouping of 8 bits is sent binary system. In DMX Protocol, a value of out, which collectively act as storage for a 0 indicates a digital low (LO), while a value value from 0 to 255. This value is of 1 would indicate a digital high (HI).7,8 commonly termed the Channel Value, and is The digital low and digital high settings used to indicate the intensity of an control the voltage of a specific pin. A individual channel.

Figure 1. DMX512 Byte Sequence Timing8

3

In systems where the Arduino acts as beginners as well as experienced the master controller, the intensity can be programmers can use to develop software.2 programmed in methods such as DmxSim- ple.write(channel, brightness). The bright- 2.3.1 Arduino Uno ness value will be communicated from the code in the Arduino to the DMX shield, and The Arduino Uno functions with a will then be translated into the proper volt- cable that connects to the standard USB port age signals to be interpreted by the DMX of a computer. The cable connection allows light. users to easily upload programs coded in the Once the 8 bit sequence has been Arduino environment onto the physical sent out, another bit called the Stop bit will board. The microprocessor is equipped with be released. This bit is consistently set on fourteen digital input and output pins, as HI, meaning it holds a value of 1 in binary. well as six analog pins that can be connected Following the Stop bit is the final bit, with wires to create circuits, and various termed the Release Bit, which also contains shields and sensors. It has a ceramic a value of 1. Just as the Start bit signaled the resonator, a power jack, a reset button, and beginning of the byte, the Stop Bit and an ICSP header.11 Release bit indicate the end of the byte sequence.7 2.3.2 DMX-Shields Due to DMX-512 allowing access to a total of 512 channels, to send a signal to A DMX-Shield is a component of a each of these channels, 512 bytes is system using Arduino and DMX Protocol. required. One byte is only capable of storing The Arduino board is unable to act as the a value for one Channel, since each byte can master controller of the light without the use contain only one 8 bit storage group. In of a DMX-Shield. One of the primary roles addition, since one byte in DMX is of the DMX-Shield is to convert the voltage composed of 11 bits, if each bit lasts 4 of the signals sent from the Arduino into a microseconds, one byte has a total duration set of voltages within the range that follows of 44 microseconds.7 DMX protocol.9 There is a variety of DMX Shields 2.3 Arduino that each has specific functions. For this project, the TinkerKit DMX-Shield utilized Arduino is modeled after Atmel’s with the Arduino in the research process has ATMEGA8 and ATMEGA168, both of two connectors on top of the shield-an which are low power 8 bit microcontrollers. INPUT DMX connector and an OUTPUT Arduino is an open-source microprocessor connector.10 The TinkerKit DMX Shield is that provides users with a simple interface to used to drive a series of DMX receivers and develop programs capable of allows the Arduino to communicate with the communicating with the physical world. The light. The INPUT connector which carries aesthetic of the Arduino is a small, portable signals to the shield was not relevant to the board that is designed to function as a research process as no signals were sent microcontroller. It is commonly utilized to from the light to the shield. The OUTPUT create programs that send signals to interact connector, however, was required in order to with physical objects such as LEDs or DMX connect the DMX cable, which carries lights. The Arduino offers an inexpensive signals from the shield to the light. If the and cross-platform environment that cable is not connected properly or the

4 connector is not inserted in the shield DMX device. The channel accessed with the sturdily enough, the light will not be able to DmxSimple.write(channel, brightness) receive the proper signals to execute the method must not exceed the max channel in command. order for the signals to be correctly Attaching the DMX-Shield to the interpreted by the light. Arduino is a simple process. To attach the Similar to DMXSimple, DMXSerial DMX-Shield, the user must place the DMX- and DMXSerial2 are two other libraries Shield directly above the Arduino board, capable of transmitting DMX signals. match up the pins, and slide the DMX- DMXSerial is mainly used to construct Shield into the pins of the Arduino board. DMX Controllers and Devices. DMXSerial2 Similarly, the DMX Shield can be removed complies with DMX RDM protocol and is by sliding the shield out of the pins. often used in situations where signals must Stacking shields is also made possible by be sent from the controller to the device, and connecting another shield to the DMX- from the device back to the controller.5 shield the same way the DMX-shield was attached to the Arduino.10 However, stacking 2.4 Mega Par Profile Plus shields was not necessary for the current research task. The Mega Par Profile Plus is a PAR, In addition, the Arduino program or Parabolic Aluminized Reflector light. It is must be coded specifically for the DMX- a lamp designed for stage lighting, with 107 Shield in order for the code to be interpreted LEDs. The Mega Par Profile Plus houses correctly. A DMX Library compatible with LEDs that enable RGB color mixing, and an the specified version of the DMX-shield ultraviolet black light. The light has five must be downloaded in the Arduino operating modes: sound active mode, auto environment for the Arduino to mode, RGB + UV mode, static communicate properly to the shield.10 color mode, and DMX control mode. The light also has five DMX modes that may be 2.3.3 DMX Libraries controlled via a DMX controller. A wireless remote, the ADJ LED RC2, may be There are compiled libraries optionally purchased which can be used to downloadable in the Arduino environment control the light remotely.12 that effectively communicate DMX signals. DmxSimple, a library created by TinkerKit, 2.4.1 Mega Par Profile Plus Channels can be used to output DMX signals to different Arduino boards.5 DMXSimple has The Mega Par Profile Plus light is several main methods that can be utilized for preprogrammed with multiple settings. lighting control. DmxSimple.write(channel, Depending on the Channel Mode selected on brightness) controls which channel will be the light, different channels can be accessed set to a certain brightness. in the Arduino program. As shown in Figure DmxSimple.usePin(int pin) specifies 2, to gain access to red, green, blue, and the which pin on the Arduino board will output UV lights, the Channel Mode must be set to the DMX signal. Pin 3 is the standard pin 4 Channel Mode. The 5 Channel Mode and is set to the default pin by the allows for the Master Dimmer to be used, DMXSimple library. A third method, and 6 Channel Mode gives the user access to DmxSimple.maxChannel(int channel) all of the previously mentioned effects as specifies the set of channels exported to the well as strobing effects. The 8 Channel

5

Mode enables the Sound Sensitivity option, the colors of the light change. Color theory which causes the light to change colors is defined as the study of color and its when the fixture registers strong characteristics. Hue, saturation, and vibrations.12 brightness are three qualities that are used to identify colors.13 Hue is the description of a Mega Par Profile Plus 4 Channel Mode color; “red”, “green”, or “purple” are Channel Value Function examples of hues. However, not all colors 1 0-255 Red possess a hue; thus, more specific terms are 0%-100% required to describe various colors and their 2 0-255 Green properties. For instance, chromatic colors 0%-100% are colors that have a hue, while achromatic 3 0-255 Blue colors - white, gray, black, etc. - do not 0%-100% possess a hue. Saturation is described as the 4 0-255 UV amount of hue present in a color. A dull or 0%-100% washed out red, for instance, has a lower Mega Par Profile Plus 5 Channel Mode saturation than a bright, brilliant red. Channel Value Function Brightness, the last main quality of color, 1 0-255 Red can be likened to the luminance or lightness 13 0%-100% of a color. 2 0-255 Green Color mixture is the combination of 0%-100% three primary colors. There are two types: 3 0-255 Blue additive color mixing and subtractive color 0%-100% mixing. In additive color mixing, lights of 4 0-255 UV the three additive primaries – red, green, and 0%-100% blue – are combined together to produce dif- 5 0-255 Master Dimmer ferent colors. For example, the combination 0%-100% of red and green beams of light produces a yellow light. In comparison, subtractive col- Figure 2. Mega Par Profile Plus DMX512 4- or mixing occurs when varying wavelengths 5 Channel Mode Functions12 are absorbed by a material, resulting in a

different hue. The mixture of paint is an ex- This research project included the ample of subtractive color mixture.13 experimentation of various Channel Modes. RGB Color Mixing is named after By changing the intensity value in the the combinations of red, green, and blue. In DmxSimple.write(channel, brightness) order to produce different colors, the values method, different effects were achieved in for red, green, and blue are modified. RGB various Channel Modes. In regards to digital values are often written in a format of programming the light display, the DMX three values in parenthesis. The first value is was set to the 4 Channel Mode in order to red, the second is the value of green, and the accommodate the red, green, and blue LED third is blue. The three colored lights with lights. No strobing or sound sensitivity was varying intensities can combine to create used. different colors in the spectrum. Red, green,

and blue use 8 bits with values from 0 to 2.5 Color Theory and RGB Color Mixing 255. For example, (255, 255, 0) would pro-

duce a yellow color.17 This project requires the knowledge and application of the color theory to make

6

In the study, the Mega Par Profile 3.2 Developing Lighting Display Plus lamp housed red, green, and blue LED lights within it. By varying the intensities of The research project emphasized the the red, green, and blue values in the development of a lighting display Arduino code, different colors were choreographed in time with a short song. produced from the light. Although if one The purpose of the display was to test the were to look at the light directly, red, green, feasibility of Arduino as an alternative and blue LEDs would be visible, when one lighting console in the theatre industry. The looks at the spotlight on a surface, only a goal of the experiment was to identify and single color—the result of color mixing—is analyze any inconveniences or advantages a present. typical could encounter while working with the Arduino equipment, 3. Experimental and compare the results to the properties of a standard lighting console. 3.1 Programming in Arduino The musical accompaniment to the light display was a selection cut from a The Arduino programming language string quartet piece titled “Palladio”, by Karl is based off of Wiring, a microcontroller Jenkins. This selection was chosen for its oriented programming framework.2, 16 An strong beat and dramatic melody, which Arduino sketch, a code written for Arduino allowed the light to easily be programmed to to run, has two required functions. One is flash or change colors in time with the beats. the setup() function, which runs only once A significant challenge to the experiment and is used to initialize any variables or was presented when the research group serial communication.14, 15 The next attempted to time the light to change colors necessary function is the loop() function in synchrony with the music. The light must which repeats continuously. In general, a be pre-programmed and unlike more function is a section of code that runs when expensive lighting control consoles, it does the function is called. Functions are often not have a user interface that allows for used to simplify the structure of the program buttons or levers to be pushed that change and enable the user to reuse the same code. the lighting effects instantaneously. In addition, multiple functions may be Therefore, all of the musical dynamics must stored in a library, which provides greater be timed precisely to coincide with the functionality.14 effects programmed in the code. Apart from functions, an Arduino This required a mathematical as well sketch contains variables, which store values as musical approach. The group utilized the that may be used in the sketch. Variables can sheet music of the song to mathematically be declared before setup() or in a function. A calculate the amount of beats in each variable declared before setup() is known as measure, as well as the length of each note a global variable and can be used anywhere and wait period. The timing was produced in the program. On the other hand, variables using the delay method in the Arduino declared in functions are known as local environment. In order to calculate the variables and can only be used in that amount of time of the musical score, the function.15 Using both types functions given tempo of Palladio was divided by the enables the user to code a variety of effects 60 seconds in a minute. Since the given using the same environment. tempo is equal to 90 beats per minute, 60 divided by 90 is equal to .667, which

7 converted to 667 milliseconds. However, the console the ability to control up to 512 value of 660 milliseconds was used because DMX channels.6 the recording chosen was imperfect and therefore requires minor changes to the 4.1.2 Dimmer Effects values. The song itself consisted of notes of One of the core functions of a a variety of lengths. Since there are four control console is to interact with a dimmer sixteenth notes in one beat and each beat is unit to quickly change the intensity of stage equal to 660 milliseconds, then one lights. The DMXSimple library used to sixteenth note is equal to 165 milliseconds. program the Arduino contains a function There are two eighth notes in every beat, so DmxSimple.write(channel,brightness) that every eighth note is equal to 330 takes two parameter inputs. The first milliseconds. Using this idea of music parameter, channel, specifies the DMX theory and mathematics, the delays were channel that the Arduino is interacting with. calculated and implemented into the code. The second parameter, value, specifies an integer between 0 and 255 that corresponds 4. Results and Observations to the value that the user wants to set the specified channel to. For example, if a 4.1 Functionality of Arduino Control channel communicates with a light, then that Board channel’s value corresponds with the intensity of that light. A value of 0 means the Although the Arduino-based control light is off. A value of 255 means the light is unit has a minimalistic interface that makes at full brightness. The light can be written to it somewhat difficult to interact with lighting any intensity, either instantaneously or fixtures, the DMX shield and the DMX through a gradual fading or brightening libraries for Arduino provide a solid effect, giving the user access to the core framework for creating most of the lighting functionality of a dimmer. effects that a professional console is capable of staging. 4.1.3 Color Effects

4.1.1 DMX Control Any professional lighting console provides access to color changing effects Although the Arduino itself does not that lighting directors can utilize to add to natively contain the functionality to send the dramatic atmosphere. If the Arduino DMX output or receive DMX input, the control console is connected to hardware TinkerKit DMX Master Shield can easily be that contains multicolored lights, the attached to the Arduino to enable Arduino can act as a centralized unit to communication with any hardware that uses coordinate RGB color mixing. The light that the DMX protocol. Since DMX-512 is an was used in the experiments was broken up industry standard, the Arduino console with into three distinct sets of lights on three the DMX shield is compatible with most different channels that each corresponded to professional stage lighting equipment. red, green, or blue lights, respectively. For Although the project resources only allowed example, writing the red channel to 255 the group to test with one light, additional while writing the blue and green channels to hardware can be daisy chained to the first 0 will create an entirely red light. By writing attached unit, giving the Arduino control each channel to a specific value, the Arduino

8 console can be used to create an entire convenient and time-efficient way to spectrum of colors. By setting all three lights instantaneously execute visual effects. to equal values, the Arduino can also create white light of varying intensity. In 4.2.2 Potential for a GUI conjunction with the dimmer effects, this gives the Arduino the ability to choreograph GUI stands for Graphical User complicated effects that make it comparable Interface which is the interface of a product in functionality to a professional lighting that allows the user to interact with control board. electronic devices through visual controllers. Although the controls on most lighting 4.2 Ease and Efficiency of Use control consoles are fairly complicated and difficult to learn, they provide an essential While the DMX Shield and level of user input and interaction that the DMXSimple library essentially give the Arduino simply cannot provide on its own. Arduino full control of any DMX hardware, Fortunately, one could feasibly solve this the Arduino control unit lacks an intuitive problem by using another language such as user interface, making it somewhat difficult Java to design a graphical user interface for to control lighting effects in real time. the Arduino program. Such an interface would essentially emulate the controls of a 4.2.1 Arduino Interface vs. Professional commercial lighting console, including Lighting Board various buttons and sliders to control light intensity and color. Instead of operating the A professional lighting board has lights with physical controls, a lighting numerous switches and sliders that cause the technician would use a personal computer console to run a program that sends DMX with the GUI installed to execute the signals to the hardware connected to the necessary effects. Although programming a console. The Arduino itself is a GUI would require considerable additional microcomputer that cannot directly control programming effort, it is certainly possible the light. When the DMX Shield is attached, and would be essential if the Arduino were software that allows the Arduino to send to be used as a viable alternative to DMX signals can be written. commercial lighting consoles. While this software can be written easily enough, the Arduino does not have all 4.3 Cost Analysis of the buttons that come on a commercial lighting controller. Using the Arduino is not The primary reason to consider using as convenient as a standard lighting console an Arduino to create a theatrical lighting for quick changes. As such, there is no console is to alleviate the heavy cost of efficient way to trigger lighting effects. For purchasing a commercial lighting board. example, although a program can easily Despite the additional effort of change the intensity of a light to a defined programming the Arduino and a GUI, using value, a user cannot run this effect or specify an Arduino-based console has the potential an input intensity value without completing to save small theatrical companies thousands changing the code for the software and of dollars in lighting equipment costs. uploading it to the Arduino again. This poses Using Arduino is most ideal for those a dilemma, as during a stage production a productions with limited funding. lighting technician needs to have a

9

4.3.1 Cost of a Commercial Console Arduino. Although setup costs would most likely exceed the estimate of $40 in most A commercial lighting console cases, the entire system can still be generally costs anywhere from several assembled for under $100, and would hundred to several thousand dollars. A low- certainly still prove to be cheaper than most end controller for a smaller theatre can commercial systems. generally be purchased for under $1000. For example, the Leviton MC7016 16-32 5. Conclusions Channel DMX Lighting Control Console costs $665.28.18 A mid-range console, such The purpose of this research was to as the Strand Lighting 250ML Portable investigate the potential for using an Lighting Control Console, can be purchased Arduino microcontroller to design a cost- for $2,099.95.19 This cost can continue to effective theatrical lighting console. increase as hardware is added to the console, Lighting effects are a core element of reaching $4,672.95 for the ETC Element theatre, but the current lighting control Control Console with 40 faders and 250 technology on the market often costs channels.20 Although these lighting consoles upwards of several thousand dollars, making are certainly more powerful than the it difficult for smaller theatrical companies Arduino, the steep cost of a professional to afford. Although an Arduino is not console may often prove impractical and natively capable of communicating through inefficient for a small-scale theatrical the DMX protocol used to control stage production. equipment, it can be outfitted with a DMX shield to make it a potential inexpensive 4.3.2 Cost of Arduino Console alternative to commercial control systems. The primary advantage of the A homemade Arduino-powered Arduino-based control console is that it lighting console can be assembled for under offers the core functionality of a $100, making it considerably cheaper than professional lighting console for a fraction most commercial systems. On Amazon, an of the cost. The DMXSimple library Arduino Uno Rev. 3, which was used for the provides the Arduino with the functionality experiments discussed in this paper, can be to write DMX channels to any possible purchased for $23.30.21 The Arduino value, allowing the controller to manage TinkerKit DMX Master Shield necessary for standard lighting effects such as dimming sending DMX signals can be purchased for and color changes. Theoretically, this $14.89.22 Together, this hardware can be application could be extended to other acquired and assembled for just below $40. theatrical equipment that uses DMX, such as Programming the Arduino to perform fog machines, allowing the console to lighting effects is a simple and well- control even more complicated systems. documented task, so most users can utilize Considering the immense difference in the online resources to set this up without prices of a commercial lighting console and needing to pay additional money to a an Arduino with the DMX shield, the two programmer. Creating a GUI, however, options offer comparable functionality. would be significantly more difficult, Although the Arduino console is making it likely that most theatrical functional enough to act as a competitive companies would have to hire someone to alternative to commercial consoles, it has a create the software necessary to control the number of distinct drawbacks. Despite its

10 ability to control DMX equipment, the research. Finally, the authors wish to thank Arduino microcontroller simply lacks the Rutgers, the State University of New Jersey, hardware that a professional unit contains, Rutgers School of Engineering, The State of making it less powerful and less suitable for New Jersey, Silver Line Windows, large-scale productions. However, any Lockheed Martin, South Jersey Industries, production that requires this level of lighting Novo Nordisk Pharmaceuticals, Inc., and can likely afford the necessary hardware. New Jersey Resources for their support and Therefore, the Arduino controller is directed contributions to the program. primarily at small theatrical productions. Although the lack of a built in UI for the Resources Arduino program is also a considerable drawback, it can easily be rectified through 1Larry Wild, “A Brief Outline of History of the creation of a GUI program that allows Stage Lighting,” Northern State convenient access to the Arduino’s software University, 13 Nov 2013, from a personal computer. (13 July 2015). with the DMX shield attachment is more 2Arduino LLC, “Introduction,” than capable of managing the majority of (7 July 2015). production. The necessary hardware to 3Instituto de Artes, “Stage Lighting and create such a DIY console is considerably Sound: History of Lighting and less expensive than a professionally Sound Recording (9 July 2015). attachment can serve as a viable alternative 4Dan Radler, “The Gaslight Era,” Stage to a professional lighting control console. Lighting: The CD-Rom, , (8 July 2015). The authors of this paper would like 5Arduino LLC, “DMX 512” to thank a number of key people and entities (7 July 2015). the realization of this research project. First, 6Lutron Electronics Co., Inc. “DMX-512 thank you to RTA advisor and mentor, Noah Fundamentals” Lee, for guiding the group’s research efforts Arduino and DMX. Second, the authors (7 July 2015). would like to thank Dr. Ilene Rosen and 7Arduino LLC, “The DMX Protocol” Dean Jean Patrick Antoine, Director and (7 July 2015). Governor’s School of Engineering and 8Ujjal Kar, “The DMX 512 Packet” Technology for providing the opportunity to (10 July 2015).

11

9Arduino LLC, “DMX-Shields” 20B&H “ETC Element Control Console - 40 (7 July 2015). (7 July 2015). XatWYSJABi5kTxOC3k0R4VY- 11Arduino LLC, “Arduino Uno” JDNLQdMA8wBzDReyEzMzYlEcg (7 July 2015). A=details&Q=> (10 July 2015). 12ADJ Products, LLC, “Mega Par Profile 21Amazon Inc., “Arduino Uno Rev 3” Plus” (5 B008GRTSV6/ref=sr_1_1?ie=UTF8 July 2015). &qid=1437592130&sr=8-1 13G.A. Agoston, Color Theory and Its &keywords=arduino+uno+rev+3&pe Application in Art and Design ( bp=1437592159707&perid=0QNR5 Springer-Verlag Berlin Heidelberg, F5V4Z6004QA2FPT> (22 July New York, 1987), p. 12-16,41-43. 2015). 14Arduino LLC, “Language Reference” 22Amazon Inc., “Arduino TinkerKit DMX (6 July 2015). ( 6 July 2015). ords=dmx+tinkerkit+shield&pebp=1 16Wiring, “What Will YOU do with the W?” 437592318549&perid=1V1199NW1 (6 July 2015). JCAWRNWW2RF> (22 July 2015). 17Rapid Tables, “RGB Color Codes Chart” (6 July 2015). 18Gear Techs, “Leviton MC7016 16-32 Channel DMX Lighting Control Console” (10 July 2015). 19Strand Lig1hting, “250 ML Lighting Control Console” (10 July 2015).

12