
All of the core software tools for this system are free and open source. Max/MSP is not free or open source, and there are some Max/MSP patches in the package below that are helpful for debugging and understanding how the midi messages work, but Max is not necessary for your midi device to work with other programs. You can download a free 30 day demo of Max, purchase Max with a student discount, or pay month-to-month.
Arduino is an open source electronics prototyping platform based on flexible, easy-to-use hardware and software. It is intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments. We will use the Arduino environment to program our microcontrollers. Before starting with Arduino:
- I recommend reading this short introduction. also available in 中文 (Chinese).
- Look through my short presentation on Arduino (pdf)
to start, you will need some software…
- First, download the Arduino IDE and install it by unzipping the downloaded zip file and dragging the Arduino program into your applications folder. For detailed instructions, click on the “getting started” link on the Arduino download page.
- Open the Arduino program. It is important that you run the program once before installing libraries, so be sure to open Arduino after it is installed in your applications folder. Next, install the libraries we will be using.
- We be adding two libraries to the Arduino program. Download the Control Surface Library by clicking here and download the MIDIUSB library by clicking here. Open Arduino, click on the “Sketch” in the top menu bar, select the “Include Library” option and click on “Add .ZIP Library”. Find the two .zip files (don’t unzip them!) and add them. yay.
- Last, download this arduino sketch and max patch — a zip file containing both the arduino code and a max patch that gives you some starter patches and will help with debugging. I’m working on a Pure Data patch and a Processing sketch as well — stay tuned for those.
Comments open below, if you find broken links, bugs, or inaccuracies in the materials above, let me know. I try to update this site each time I teach this module.