Illuminations by MIT
MIT Illuminations is a dynamic light installation at the MIT Welcome Center controlled by open-source code contributed by MIT students and the general public. See the lights in person by visiting the MIT Welcome Center at 292 Main Street in Cambridge, MA.
This open source application takes P5 code and visualizes/outputs it to various professional and hobbyist lighting units, making creating light shows easy and accessible.
Download the latest stable version
To download the latest stable release, visit https://illuminations.mit.edu/, or download directly from GitHub.
Getting Started Guide
Welcome, and thanks for downloading Illuminations by MIT. In no time at all you'll be creating light shows in P5 code, and seeing those shows run on LED fixtures. This guide will take your through both the software and hardware setup of an example project, but you can also just skip the hardware portion if you don't have/want to buy an LED fixture. Let's jump right in.
What you'll need:
- A computer with an available USB port.
- Arduino Uno Rev3 or comparable Arduino board.
- USB Cable (A to B)
- Soldering Iron with some Solder Wire
- A Neopixel LED product (for our example, we'll use a 16 LED RGB Ring)
- A handful of male-to-male (m/m) Jumper Wires
Step 1. Software installation
- Download and install Illuminations by MIT (see above).
- Download and install the Arduino IDE for your operating system.
- Within the Arduino IDE, install the Neopixel Library.
Step 2. Hardware setup
- Let's begin by warming up our soldering iron, and soldering 3 male jumper wires to the
Power 5V DC
,Power Signal Ground
, andData Input
ports on our Neopixel ring.
- Plug the other ends of those cables into your Arduino, as follows:
- Connect
Power 5V DC
into the5V
port on the Arduino. - Connect
Power Signal Ground
into theGND
port on the Arduino (next to5V
). - Connect
Data Input
into theDIGITAL 4
port on the Arduino.
- Connect
- Connect your Arduino to your USB port on your computer using the USB cable. You should see a little power light turn on.
Step 3. Arduino configuration
- Open the Arduino IDE and copy the code from this link into a brand new blank sketch.
- Update the values on line
11
and14
of this code to match your LED device.LED COUNT
is the number of LED lights (in our example, it should be16
)N_COLORS
should be3
for RGB units, and4
for RGB+W (in our example, that's3
)
- Make sure you have your Arduino Uno selected within the IDE, and hit "Upload". This publishes the code to your Arduino.
- You can close the IDE. Your Arduino will remember and run this code every time it powers on, meaning it will always be ready to accept data from the Illuminations application, so long as it's plugged in via USB.
Step 4. Setup illuminations
- Open the MIT Illuminations application.
- Click on "Settings", on the "General" tab.
- Set the number of lights and RGB value to match your Neopixel device (in our case, 16 lights in RGB).
- Click on the "Arduino/Serial" tab, and turn on "Enable Serial Port Output". Select your Arduino port from the list below. On Windows it'll start with
COM...
, while on Mac expect something like/dev/tty...
. - You'll know if your Arduino is receiving data correctly, as a data light will flicker constantly on the board so long as the Illuminations application is running.
🪄
Step 5. Magic If everything worked, at this point your Neopixels should be lighting up and matching the preview shown in the application. You can start by editing some of the templates, or go wild and create your own. Have fun programming!
Advanced: Fork the repo and make changes
Note: Most users won't need to do this - you can just download and install the latest release above. If you want to make changes to the codebase of the application itself, and build it locally - follow the steps below:
Install NodeJS and NPM
Install node.js (tested with Node 14.x and 16.x). npm needs to be at least version 8.x. Update your npm
dep after Node installation: npm install -g npm@latest
.
To begin, run the installation script
Fork/clone this repo to a folder on your local machine. From within that folder, run:
npm install
Then to start the dev app:
npm start
You're all set. Go ahead and make any changes to the codebase that you need. Enjoy programming :)
To Build Production Releases
Windows
npm run make-windows-release
Mac
- Follow this guide to prepare your dev environment for code signing and notarization.
npm run make-mac-release