A CircuitPython-based MIDI controller with 4 sliders and 4 buttons, featuring extensive bank management and per-CC MIDI channel configuration.
This is a fork of the LumaFader 68 project by djbajablast, created specifically to add per-CC MIDI channel assignment. This functionality makes it possible to use the controller with devices like the Elektron Octatrack (which expects controls on specific channels) or to target multiple synths on your MIDI bus, routing each slider or bank to a different device or track.
Original project: https://github.com/derrickthomin/Midi-Slider-Cherry
Available for purchase here: LUMAFADER 68 MIDI Controller on Etsy
- Per-CC MIDI channel assignment: map each slider to any MIDI channel, per bank and per control
- Multi-device and multi-track support via different channels
- Full compatibility with the original LumaFader 68 hardware
LUMAFADER/
├── src/ # All files to copy to microcontroller
│ ├── boot.py # Boot configuration
│ ├── code.py # Main entry point
│ ├── controller.py # Main controller logic
│ ├── inputs.py # Hardware input classes
│ ├── midi.py # MIDI message handling
│ ├── lights.py # LED/NeoPixel feedback
│ ├── settings.py # Settings loader
│ ├── settings.json # Configuration file (edit this!)
│ ├── constants.py # Configuration constants
│ ├── debug.py # Debugging utilities
│ └── lib/ # CircuitPython libraries
├── README.md # This file
├── IMPLEMENTATION_SUMMARY.md # Technical details
└── migrate_settings.py # Settings migration tool
To deploy to your LumaFader 68:
- Connect the device via USB (it will mount as
LUMAFADER) - Copy all contents of the
src/directory to the root of the device:cp -r src/* /Volumes/LUMAFADER/ - Safely eject and the device will reboot with the new code
Each CC assignment now includes a channel:
{
"GLOBAL_CC_BANK": [
{"cc": 46, "channel": 3},
{"cc": 46, "channel": 4},
{"cc": 46, "channel": 5},
{"cc": 46, "channel": 6}
],
"CC_BANKS_1": [
[
{"cc": 1, "channel": 1},
{"cc": 2, "channel": 2},
{"cc": 3, "channel": 3},
{"cc": 4, "channel": 4}
],
]
}Edit src/settings.json to configure CC numbers and MIDI channels for your setup.
- IMPLEMENTATION_SUMMARY.md - Detailed implementation notes and testing status
See original project for license information.
- Original Project: https://github.com/derrickthomin/Midi-Slider-Cherry
- Original Author: https://github.com/derrickthomin
- Project Writeup: www.djbajablast.com/post/lumafader68