####Build yourself a cheap, compact and reliable 16 potentiometers midi CC and NRPN 14 bits controller.
####It features an Arduino Pro Micro Leonardo with 16 potentiometers and a CD74HC4067 multiplexer, all integrated into a PCB.
####All simple components, cheap and easy to source. Even the PCB will be cheap on any online PCB making (PCBWay, JLCPCB).
####IT IS THE ONLY DIY MIDI CONTROLLER THAT CAN BE EASILY PROGRAMMED VIA AN ONLINE GUI (graphic user interface).
####Use Arduino IDE only once and after that just forget it
####The GUI is available directly online at this address (chrome/chromium only):
###https://16nrpmidi.netlify.app/
####Data are stored directly into the Arduino EEPROM.
####It means that all values for each potentiometer are stored until next change, even if the controller is unplugged.
####The erase/write process to the Arduino EEPROM is done only when your send them via the GUI so it won't affect the EEPROM life (rated 100,000 write/erase cycles).
####You have the choice, FOR EACH POTENTIOMETER:
- to send either:
-Midi CC (Control Change) standard 7 bits
-Midi CC (Control Change) high resolution 14 bits
-Midi NRPN 14 bits (Non-Registered Parameter Number)
- to set the midi value for each CC (7 or 14 bits) or NRPN.
- to select the channel (from 1 to 16 and it can be a different channel for each one of the 16 pots).
- to invert the rotation.
- auto-copy de CC or NRPN midi data from another input midi device hooked to you computer (click on LISTEN button).
- save and load to and from the Arduino EEPROM up to 10 different presets of all the 16 potentiometers.
Change all these values with the web midi based programmer online via this link:
https://16nrpmidi.netlify.app/
You'll need to source:
- 1 Arduino Leonardo (USB-C)
- 1 Multiplexer/Demultiplexer breakout board CD74HC4067
- 16 potentiometers 10k Ohm RV09
- the PCB
For the PCB, 4x4-Midi_CC.zip include Gerber files for an easy and cheap online PCB making (from JLCPCB for example).
Files included:
- 3D files for top and bottom 3D shell
- 4x4-Midi_CC.zip is the Gerber zip file for online PCB making.
- 16_pot_final_GUI_V4.7.ino is the sketch to program the Arduino Leonardo
For sketch uploading, use Arduino IDE, a lots of tutorial exist.
You might need to install some of the library used in the sketch, USB-MIDI.h and EEPROM.h.PCB MOUNTING AND SOLDERING
- use 10k Ohm RV09 pots as shown in the pictures (adapted to the 3D case).
- start with soldering all the Pots, then the CD74HC4067 and finish with the Arduino.
- nothing complex, normal soldering skill are required here.
- once all soldering done, upload the 16_pot_final_GUI_V4.7.ino sketch using Arduino IDE.
- open https://16nrpmidi.netlify.app/ and start programming.
- to use the device, close the web editor to free the midi port.
Printed parts:
Shell is printed 0.2 PLA no support, top piece lay down inverted to the bed.
Use 4 M3x10 mm flat head screw to get flat bottom of the box but you can use any other M3x10 mm at own convenience or even add 4 screwed pad.
https://www.youtube.com/shorts/8JH7rtgbaXg