Brightness control v3.5.4 #28
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
💡 RESTORED: Display Brightness Control for Electra One MK1 HW 2.40 v3.5.4
Overview
The display brightness control feature that was available in firmware v2.0 but dropped in later versions has been successfully restored for Electra One MK1 running firmware v3.5.4!
This implementation adds SysEx-based brightness control while preserving all existing controller functionality.
✅ What This Adds
🔧 Technical Implementation
Firmware Changes
The restoration required adding UPDATE command support for ElectraInfo objects in
TaskProcessSysex.cpp:SysEx Command Format
F0- SysEx start00 21 45- Electra One manufacturer ID04- UPDATE command7F- ElectraInfo object[MSB] [LSB]- 16-bit brightness value (big-endian)F7- SysEx endBrightness Value Range
Important: The RA8876 display uses inverted PWM - higher values = darker screen!
📁 Ready-to-Use SysEx Files
set-brightness-maximum.syxset-brightness-high.syxset-brightness-medium.syxset-brightness-low.syxset-brightness-minimum.syx🛠️ Installation Instructions
Option A: Use Pre-compiled Firmware (Easiest)
make uploadOption B: Build from Source
cd firmware git checkout brightness-control-v3.5.4🧪 Testing
set-brightness-maximum.syx→ Screen should be brightestset-brightness-minimum.syx→ Screen should be dimmestExpected Response
Successful brightness changes return ACK:
🔍 How This Was Discovered
The brightness infrastructure was never removed from v3.5.4 - it just lacked the SysEx command interface:
Hardware::screen.setBacklightbrightness()- PresentSystem::runtimeInfo.setElectraInfoBrightness()- Present💻 Integration Examples
MIDI Controller
Map hardware knobs/faders to send brightness SysEx commands
Automation
Max/MSP, Pure Data, etc.
Send raw SysEx messages to Electra Controller CTRL port
🤝 Contributing
This feature is now available as:
brightness-control-v3.5.4🎉 Result
The Electra One MK1 now has the brightness control that was missing since v2.0, implemented with minimal firmware changes and maximum compatibility!
Thanks to the excellent Electra One architecture that preserved all the underlying brightness infrastructure - this restoration required only adding the missing SysEx command interface!