Beam steering work from 2013/2014
C++ C Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


  1. opt_DMX (System Server, run on a PC)
  • Obtains rigid body points from Optitrack using NatNet
  • Translates information and creates a client to send command to Arduino
  • TCP client/server networking
  • Has a bunch of other unnecessary code for integrating a user interface, multithreaded functionality, other device control (namely TiLED), broadcasting commands, and room status.
  1. DMX (Beam controller, run on Arduino)
  • Acts as a TCP server and waits for commands from opt_DMX
  • Translates command into DMX command to sends to beam
  1. Notes
  • Demo Video
  • Communication between opt_DMX and DMX uses a protocol defined in Protocol_Frame.pdf
  • Don't forget to generate an XOR checksum
  • DMX Shield and library by TinkerKit

Primary Contributors: Emily Lam, Johnny Glynn, Yuting Zhang

Multimedia Communications Lab, led by Professor Thomas D.C. Little, Boston University

This work is supported by the NSF under cooperative agreement EEC-0812056 and by New York State under NYSTAR contract C090145. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.