MIDI Controller for Panoramical
Clone or download
Pull request Compare This branch is 31 commits ahead of brendan-byrne:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


#Panoramical MIDI Controller


This project is a fork of a project by the same name at https://github.com/brendan-byrne/Panoramical-Controller. It is an Open Source MIDI controller for the videogame-like interactive experience Panoramical by Fernando Ramallo and David Kanaga. The controller consists of eighteen rotary potentiometers sending MIDI data via a microcontroller.

The project files themselves live here on Github: https://github.com/BrianEnigma/Panoramical-Controller

A blog post detailing the build is on my personal website: https://netninja.com/2016/06/12/building-an-unusual-video-game-controller/

##Electronic Parts

More details about the electronic build are in the Hardware folder.

Additionally: hookup wire, solder, heatshrink tubing, and so on.



The Enclosure folder includes the files required to manufacture the enclosure as well as some build photos.



Each laser-cut enclosure file is based on the 24"x12" walnut sheet @ 3.5mm thickness at Ponoko.

  • 3mm Acrylic front panel
  • 3.5mm wood side panels and inner supports

For assembly, you will need the following hardware from McMaster-Carr:

You will also need some wood glue to attach the inner supports.

A more detailed narrative of the build can be found at https://netninja.com/2016/06/12/building-an-unusual-video-game-controller/



  • Arduino MIDI library
  • Arduino Debounce library (Bounce.h)
  • HIDUINO provides the USB-serial firmware for getting the Arduino to masquerade as a USB MIDI device.

There are two sets of code folders, one for testing the hardware and one actual MIDI use.

  • Hardware_Test — This program reads the values of the potentiometers and writes them to the serial port at 9600 baud as human-readable text.
  • Software — This is the final program that sends MIDI commands over USB. It requires the HIDUINO MIDI firmware to be installed on the serial chip after loading. See the firmware folder for more detail.


Using the Hardware_Test program, it was easy to validate that all the knobs and buttons were working by opening the Serial Monitor in the Arduino IDE software.

Once that was working, I loaded the true MIDI Software program and loaded the MIDI serial port firmware. I used the Mac application [MIDI Monitor(https://www.snoize.com/MIDIMonitor/) to verify MIDI commands were getting across correctly to the desktop computer.


TODO: figure out license of the original project, echo that license here.