This project uses 16 rotary encoders to generate relative MIDI CC messages. It uses a Teensy 3.2, which features 34 digital input pins, each with the ability to use interrupts.
The only non-standard Arduino library used is:
First download the latest Arduino Software that is compatible with Teensyduino. At the time of writing, this is Arduino 1.6.9
, and Teensyduino 1.29
.
Ensure you install the Encoder
library when installing Teensyduino.
Now open up RotaryController.ino
located in the RotaryController
directory.
At the top of the file you can customise the number of encoders in use, MIDI channel and CC numbers to suit your project.
Verify the sketch, which will open Teensy Loader. Now press the button on the Teensy to load the firmware.
Now connect up all your encoders, following the schematic.
Finally, test each encoder using a MIDI monitor. I recommend Snoize MIDI Monitor on macOS, and MIDI-OX on Windows. If you know of a Linux MIDI monitor, I'd welcome a Pull Request!
Speaking of which...
Pull Requests are most welcome! Do you have a suggestion for code improvement? Or just spot a spelling mistake in this README
file? Send me a Pull Request.
- Write sketch code
- Test on bread board
- Create schematic
- Design breakout PCB
- Design 3D enclosure
- Ableton Instant Mapping files
Work in progress...
Quantity | Part Number | Description | Line Price £ | Supplier |
---|---|---|---|---|
16 | EC12E2420802 | ALPS Incremental Rotary Encoder, 24 Pulses, 24 Detents | 14.24 | Farnell |
16 | CR-BAB-6-D | MULTICOMP,CR-BAB-6-D,Knob, Round, 6 mm, | 6.50 | Farnell |
1 | Teensy 3.2 | 18.00 | Pimoroni | |
1 | N/A | 40-pin 0.1" Pin Headers (Male) | ||
1 | N/A | 2x7 SMD pin headers | ||
16 | N/A | M8 nuts | ||
16 | N/A | M8 nuts | ||
16 | N/A | Washers | ||
1 | N/A | Breakout PCB (optional) | Ragworm.eu |