# Dim Display no way to change MK1 unit, new user bought used

**URL:** <https://forum.electra.one/t/dim-display-no-way-to-change-mk1-unit-new-user-bought-used/3824>\
**Category:** General discussion\
**Created:** [July 21, 2025, 10:56pm UTC](https://forum.electra.one/t/dim-display-no-way-to-change-mk1-unit-new-user-bought-used/3824 "2025-07-21T22:56:06Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeff](https://avatars.discourse-cdn.com/v4/letter/j/e19b73/32.png) [@jeff](https://forum.electra.one/u/jeff)\
**Post date:** [July 21, 2025, 10:56pm UTC](https://forum.electra.one/t/dim-display-no-way-to-change-mk1-unit-new-user-bought-used/3824/1 "2025-07-21T22:56:06Z")

</div>

Just bought a Electa One MK1 from reverb the screen is very dim, the whole swipe down to get a menu does nothing, I can communicate to the WEB app, but the screen is so dim it is un-usable. I claims to have latest firmware so… What do i try

---

<div class="post-metadata">

**Author:** ![NewIgnis](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/newignis/32/767_2.png) [@NewIgnis](https://forum.electra.one/u/NewIgnis)\
**Post date:** [July 22, 2025, 11:43am UTC](https://forum.electra.one/t/dim-display-no-way-to-change-mk1-unit-new-user-bought-used/3824/2 "2025-07-22T11:43:52Z")

</div>

I would do the following checks if I were you:

It’s not like 1/3 of the screen lights up bright and the rest is dimmed (if that would be the case, go to controller settings and change the ‘control set focus’)?

Else, make sure the E1 receives enough power. Better connect it to PC/laptop via a powered USB hub. To test: just connect it to a power USB adapter, and see if the dimming issue disappears.

---

<div class="post-metadata">

**Author:** ![markus.schloesser](https://avatars.discourse-cdn.com/v4/letter/m/8e7dd6/32.png) [@markus.schloesser](https://forum.electra.one/u/markus.schloesser)\
**Post date:** [July 22, 2025, 10:27pm UTC](https://forum.electra.one/t/dim-display-no-way-to-change-mk1-unit-new-user-bought-used/3824/3 "2025-07-22T22:27:45Z")

</div>

Also the display is dimmable, so make sure to adjust brightness

---

<div class="post-metadata">

**Author:** ![jeff](https://avatars.discourse-cdn.com/v4/letter/j/e19b73/32.png) [@jeff](https://forum.electra.one/u/jeff)\
**Post date:** [July 24, 2025, 11:58pm UTC](https://forum.electra.one/t/dim-display-no-way-to-change-mk1-unit-new-user-bought-used/3824/4 "2025-07-24T23:58:01Z")

</div>

How do you suggest chnaging the brightness I can find no menu option. I swipe down from the top on right nothing. I have tried powereed hub. ETC.. no luck. I find it weird i can upload presets but can’t access the menu.  
Hardware revision

2.40

Firmware version

v3.5.4

Serial number

EO-00001

---

<div class="post-metadata">

**Author:** ![jeff](https://avatars.discourse-cdn.com/v4/letter/j/e19b73/32.png) [@jeff](https://forum.electra.one/u/jeff)\
**Post date:** [July 25, 2025, 7:08pm UTC](https://forum.electra.one/t/dim-display-no-way-to-change-mk1-unit-new-user-bought-used/3824/5 "2025-07-25T19:08:42Z")

</div>

# 💡 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

- **5 brightness levels** from maximum to minimum via SysEx commands
- **Persistent settings** - brightness survives controller reboot (stored in EEPROM)
- **Minimal code change** - only 25 lines added to firmware
- **Full compatibility** - works with existing presets, Lua scripts, and controller features
- **SysEx API integration** - follows Electra One’s existing command structure

## 🔧 Technical Implementation

### Firmware Changes

The restoration required adding UPDATE command support for ElectraInfo objects in `TaskProcessSysex.cpp`:

```cpp
} else if (cmd.isUpdate()) {
    if (object == ElectraCommand::Object::ElectraInfo) {
        // Handle brightness update for ElectraInfo
        uint16_t brightness = (cmd.getByte1() << 8) | cmd.getByte2();
        System::logger.write(LOG_ERROR, "processElectraSysex: setting brightness to %d", brightness);
        
        // Set the brightness value in runtime info
        System::runtimeInfo.setElectraInfoBrightness(brightness);
        
        // Apply brightness immediately to the display
        Hardware::screen.setBacklightbrightness(brightness);
        
        System::logger.write(LOG_ERROR, "processElectraSysex: brightness set successfully");
        MidiOutput::sendAck(MidiInterface::Type::MidiUsbDev, port);
    } else {
        // Pass other UPDATE commands to application
        App::get()->handleElectraSysex(port, sysexBlock);
    }

```

### SysEx Command Format

```auto
F0 00 21 45 04 7F [MSB] [LSB] F7

```

- `F0` - SysEx start
- `00 21 45` - Electra One manufacturer ID
- `04` - UPDATE command
- `7F` - ElectraInfo object
- `[MSB] [LSB]` - 16-bit brightness value (big-endian)
- `F7` - SysEx end

### Brightness Value Range

**Important** : The RA8876 display uses **inverted PWM** - higher values = darker screen!

- **0** = Maximum brightness (brightest)
- **1024** = High brightness
- **2048** = Medium brightness
- **4096** = Low brightness
- **5888** = Minimum brightness (dimmest)
- **6144** = Hardware maximum (very dim)

## 📁 Ready-to-Use SysEx Files

| File | Brightness Level | Value | Description |
| --- | --- | --- | --- |
| `set-brightness-maximum.syx` | Maximum | 0 | Brightest setting |
| `set-brightness-high.syx` | High | 1024 | High brightness |
| `set-brightness-medium.syx` | Medium | 2048 | Medium brightness |
| `set-brightness-low.syx` | Low | 4096 | Low brightness |
| `set-brightness-minimum.syx` | Minimum | 5888 | Dimmest usable setting |

## 🛠 Installation Instructions

### Option A: Use Pre-compiled Firmware (Easiest)

1. Download the compiled firmware from the GitHub release
2. Upload using ElectraOneConsole app or `make upload`

### Option B: Build from Source

1. **Prerequisites** : ARM GNU Toolchain installed
2. **Clone repositories** :

```bash
git clone https://github.com/jelytle/firmware.git
git clone https://github.com/electraone/controller.git

```

3. **Checkout brightness control fork** :

```bash
cd firmware
git checkout brightness-control-v3.5.4

```

4. **Link controller app** :

```bash
ln -sf ../controller ./controller

```

5. **Build and upload** :

```bash
make APPPATH=controller all
make APPPATH=controller upload

```

## 🧪 Testing

1. **Install firmware** (see instructions above)
2. **Test brightness control** :
  - Send `set-brightness-maximum.syx` → Screen should be brightest
  - Send `set-brightness-minimum.syx` → Screen should be dimmest

3. **Verify persistence** : Restart controller, brightness should remain

### Expected Response

Successful brightness changes return ACK:

```auto
F0 00 21 45 7E 01 00 00 F7

```

## 🔍 How This Was Discovered

The brightness infrastructure was never removed from v3.5.4 - it just lacked the SysEx command interface:

- ✅ `Hardware::screen.setBacklightbrightness()` - Present
- ✅ `System::runtimeInfo.setElectraInfoBrightness()` - Present
- ✅ EEPROM storage functions - Present
- ❌ **UPDATE command handler** - **Missing** (now restored!)

## 💻 Integration Examples

### MIDI Controller

Map hardware knobs/faders to send brightness SysEx commands

### Automation

```python
# Python example using python-rtmidi
brightness_cmd = [0xF0, 0x00, 0x21, 0x45, 0x04, 0x7F, 0x08, 0x00, 0xF7] # Medium
midiout.send_message(brightness_cmd)

```

### Max/MSP, Pure Data, etc.

Send raw SysEx messages to Electra Controller CTRL port

## 🤝 Contributing

This feature is now available as:

- **Source code** : GitHub branch `brightness-control-v3.5.4`
- **Pre-compiled firmware** : GitHub release downloads
- **SysEx test files** : Ready-to-use brightness control files

## ⚠ Compatibility

- **Hardware** : Electra One MK1 only (MK2 uses different display driver)
- **Firmware** : Based on v3.5.4 - fully compatible with existing presets
- **Controller App** : Tested with full controller application (not just demo)

## 🎉 Result

## The Electra One MK1 now has the brightness control that was missing since v2.0, implemented with minimal firmware changes and maximum compatibility! fork [GitHub - jelytle/firmware: Electra One base firmware](https://github.com/jelytle/firmware)

_Thanks to the excellent Electra One architecture that preserved all the underlying brightness infrastructure - this restoration required only adding the missing SysEx command interface!_
