# Firmware v3.6.0 for mkII

**URL:** <https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815>\
**Category:** Releases\
**Created:** [April 6, 2024, 10:35am UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815 "2024-04-06T10:35:03Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [April 6, 2024, 10:35am UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/1 "2024-04-06T10:35:03Z")

</div>

A new firmware version is now available for download. For the complete release log, please visit the [Electra One App](https://app.electra.one/electra).

The highlights include:

- Added the ability to create custom controls with their own graphics and touch processing. Examples on how to use this feature will be provided shortly.
- Improved USB host functionality. Two devices can now be connected simultaneously using the USB hub. This update has been tested with various USB MIDI devices and hubs. If your device is not recognized or if you encounter any issues, please let us know.
- Enhanced LCD touch sensitivity and smoothness.
- Numerous bug fixes and improvements.

---

<div class="post-metadata">

**Author:** ![buyallthecontrollers](https://avatars.discourse-cdn.com/v4/letter/b/d07c76/32.png) [@buyallthecontrollers](https://forum.electra.one/u/buyallthecontrollers)\
**Post date:** [April 7, 2024, 5:29pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/6 "2024-04-07T17:29:10Z")

</div>

~~Heads up: I just put the firmware in the device and tried to boot from it and the device froze and turned into a brick 😄  
I’ll try to recover, but there may be something odd about this one.~~

All good, user error 🙂

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [April 7, 2024, 5:35pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/7 "2024-04-07T17:35:38Z")

</div>

hi @buyallthecontrollers, I can see that quite some users are already running v3.6.0. I’d suggest to re-upload the firmware file to the controller and try to flash it again. If it did not work, PM/chat me.

---

<div class="post-metadata">

**Author:** ![buyallthecontrollers](https://avatars.discourse-cdn.com/v4/letter/b/d07c76/32.png) [@buyallthecontrollers](https://forum.electra.one/u/buyallthecontrollers)\
**Post date:** [April 7, 2024, 5:40pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/8 "2024-04-07T17:40:06Z")

</div>

Hi @martin, I’ve just reconnected the device in USB mode and the file was 0-byte… so it was a user error 🙂 . I’ve copied the file again and this time it works.  
Still no luck with Win11 though.

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [April 7, 2024, 5:44pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/9 "2024-04-07T17:44:41Z")

</div>

I am preparing an update of the bootloader. It should resolve the Win11 issue. That hardest part is to make the process really bulletproof. It the bootloader update fails, the hardware can be really bricked 🙂

---

<div class="post-metadata">

**Author:** ![fragletrollet](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/fragletrollet/32/4943_2.png) [@fragletrollet](https://forum.electra.one/u/fragletrollet)\
**Post date:** [April 7, 2024, 7:28pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/10 "2024-04-07T19:28:34Z")

</div>

Yes I also had problems with USB disc mode. Opened it up and just copied the new firmware directly to the SD card.

---

<div class="post-metadata">

**Author:** ![oldgearguy](https://avatars.discourse-cdn.com/v4/letter/o/f4b2a3/32.png) [@oldgearguy](https://forum.electra.one/u/oldgearguy)\
**Post date:** [April 7, 2024, 10:24pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/11 "2024-04-07T22:24:45Z")

</div>

weirdness - not sure if it is related to the mk II, changes for 3.6.0, or changes from 3,5,4, but …

for some reason, _it appears_ that if I do a patch.onRequest() and then do a patch.onResponse(), the sysex dump I just received gets echoed back immediately through the MIDI out port.

I put a hard return statement in the onResponse() , tried running it disconnected from the PC, tried 3.5.4 and 3.6.0 and in all cases, it appears to still be reflecting the data back out.

Anyone else seeing this? I found it because the Lexicon PCM 80 doesn’t let you overwrite factory patches, so when I’m recalling a factory patch, I see the error on the PCM about not storing it.

Confused

---

<div class="post-metadata">

**Author:** ![jhh](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/jhh/32/951_2.png) [@jhh](https://forum.electra.one/u/jhh)\
**Post date:** [April 8, 2024, 12:28pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/12 "2024-04-08T12:28:36Z")

</div>

Upgraded my mkII to 3.6.0 and works well with the Ableton Remote script. @Martin There are still two items on my wishlist

- make sure that override value text [SysEx implementation | Electra One Documentation](https://docs.electra.one/developers/midiimplementation.html#override-value-text) actually also works for ADSRs (in other words, the `numeric-value-id` is actually used for something; this would make complex synth presets so much nicer!
- a way for owners of a mkI to also preload presets to their E1 in the `ctrlv2` folder

---

<div class="post-metadata">

**Author:** ![jhh](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/jhh/32/951_2.png) [@jhh](https://forum.electra.one/u/jhh)\
**Post date:** [April 8, 2024, 12:58pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/13 "2024-04-08T12:58:37Z")

</div>

@Martin P.S.: Is there (or will there be) a way to also modify the graphical behaviour of ADSR popups?

---

<div class="post-metadata">

**Author:** ![fragletrollet](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/fragletrollet/32/4943_2.png) [@fragletrollet](https://forum.electra.one/u/fragletrollet)\
**Post date:** [April 8, 2024, 1:00pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/14 "2024-04-08T13:00:20Z")

</div>

On the topic of Adsr’s, maybe we could have some other versions of it like AD, ADR,AR,DAR, DADSR, DAD, DRADSR (delay, repeat + adsr) or the likes

---

<div class="post-metadata">

**Author:** ![jhh](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/jhh/32/951_2.png) [@jhh](https://forum.electra.one/u/jhh)\
**Post date:** [April 8, 2024, 1:23pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/15 "2024-04-08T13:23:47Z")

</div>

@Martin I’m playing with the ADSR on firmware 3.6.0 and if I set a formatterFunction for say the Sustain, the value shown for that control is never updated when displaying the popup and turning the pot: it always shows the value just before opening the popup. I.e when closing the popup, changing the value for sustain within Live and then reopening the popup will show the new value for sustain, but again it will not change when turning the pot.

---

<div class="post-metadata">

**Author:** ![icaria36](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/icaria36/32/2749_2.png) [@icaria36](https://forum.electra.one/u/icaria36)\
**Post date:** [April 13, 2024, 10:41pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/16 "2024-04-13T22:41:55Z")

</div>

> [@martin](#):
>
> Enhanced LCD touch sensitivity and smoothness.

This is noticeable and very well received, thank you!

---

<div class="post-metadata">

**Author:** ![oldgearguy](https://avatars.discourse-cdn.com/v4/letter/o/f4b2a3/32.png) [@oldgearguy](https://forum.electra.one/u/oldgearguy)\
**Post date:** [April 14, 2024, 9:12pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/17 "2024-04-14T21:12:54Z")

</div>

> [@oldgearguy](#):
>
> weirdness - not sure if it is related to the mk II, changes for 3.6.0, or changes from 3,5,4, but …
> 
> for some reason, _it appears_ that if I do a patch.onRequest() and then do a patch.onResponse(), the sysex dump I just received gets echoed back immediately through the MIDI out port.
> 
> I put a hard return statement in the onResponse() , tried running it disconnected from the PC, tried 3.5.4 and 3.6.0 and in all cases, it appears to still be reflecting the data back out.
> 
> Anyone else seeing this? I found it because the Lexicon PCM 80 doesn’t let you overwrite factory patches, so when I’m recalling a factory patch, I see the error on the PCM about not storing it.
> 
> Confused

So, did some quick testing - it happens across multiple presets — BUT ONLY ON the Mk II hardware.  
If I plug in a Mk I, the sysex data received from a device does not get echoed out again.  
However, the Mk II always echos out the received sysex data. in some cases, it is completely transparent, but in others, it causes weird issues.

@martin – any idea why the Mk II would be doing this?

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [April 15, 2024, 6:57am UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/18 "2024-04-15T06:57:26Z")

</div>

just to make sure. Do you have the MIDI IO in → out forwarding switched off?

 ![image](https://europe1.discourse-cdn.com/flex017/uploads/electraone/original/2X/e/e544e782d403ca5025b5ba6b9d6f013b5d271f42.png)

I will look at it but I just want to make sure it is not a configuration thing.

---

<div class="post-metadata">

**Author:** ![oldgearguy](https://avatars.discourse-cdn.com/v4/letter/o/f4b2a3/32.png) [@oldgearguy](https://forum.electra.one/u/oldgearguy)\
**Post date:** [April 15, 2024, 9:39am UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/19 "2024-04-15T09:39:54Z")

</div>

I will check that for both Electra Ones I have been using for testing.  
As a side note - it did appear to be happening on the Mk II for both the 3.5.4 OS and the 3.6.0 OS (and the Mk I is running 3.5.4) so I don’t think it’s related to the OS changes.

It makes sense it would be something like a configuration issue, but usually I don’t touch those settings.  
I will update later today when I am back in front of the Electras.

---

<div class="post-metadata">

**Author:** ![oldgearguy](https://avatars.discourse-cdn.com/v4/letter/o/f4b2a3/32.png) [@oldgearguy](https://forum.electra.one/u/oldgearguy)\
**Post date:** [April 15, 2024, 7:47pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/20 "2024-04-15T19:47:22Z")

</div>

so I’m more confused than before.

I found out the reason – at some time in the past, I had the bottom 2 as enabled, but then disabled them.

HOWEVER - the configuration seems to be stored with the preset. So, every time I open up the PCM 80 preset, it resets the controller page back to the enabled state.  
If I load other presets, it shows disabled.

So, is there a way from inside the preset to determine what’s going on with the configuration or, maybe be able to save the preset independent of the configuration?

---

<div class="post-metadata">

**Author:** ![oldgearguy](https://avatars.discourse-cdn.com/v4/letter/o/f4b2a3/32.png) [@oldgearguy](https://forum.electra.one/u/oldgearguy)\
**Post date:** [April 16, 2024, 9:32pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/21 "2024-04-16T21:32:23Z")

</div>

Problem with value:setRange() ??

so, I’m trying to use setRange like this:  
and seeing errors.

Doing something wrong or is there another issue?

```auto
         local ctl = controls.get(i)
         local valId = ctl:getValue("value")
         local curVal = ctl:getValue("value"):getMessage():getValue()
         print("ctl (i) = " .. i)
         print("curVal = " .. curVal)
         
         local myMin = valId:getMin()
         local myMax = valId:getMax()
         local myDef = valId:getDefault()
         print("myMin = " .. myMin)
         print("myMax = " .. myMax)
         print("myDef = " .. myDef)
         
         -- forcing a formatter() function to update
         if (curVal ~= myDef) then
            valId:setRange(myMin,MyMax,curVal,true)
         else
            valId:setRange(myMin,MyMax,myDef+1,true)
         end

17:29:33.887 lua: ctl (i) = 41
17:29:33.888 lua: curVal = 0
17:29:33.889 lua: myMin = 0
17:29:33.889 lua: myMax = 1365
17:29:33.889 lua: myDef = 0
17:29:33.890 error running function 'runFunction': ctrlv2/slots/p000.lua:2815: bad argument #2 to 'setRange' (number expected, got nil)

```

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [April 17, 2024, 11:33am UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/22 "2024-04-17T11:33:27Z")

</div>

> [@oldgearguy](#):
>
> ```auto
> -- forcing a formatter() function to update
> if (curVal ~= myDef) then
> valId:setRange(myMin,MyMax,curVal,true)
> else
> valId:setRange(myMin,MyMax,myDef+1,true)
> end
> 
> ```

god bless statically typed programming languages 🙂 you use `MyMax` variable in the `setRange()` call while you declare and assign `myMax`. ie. they differ in the first letter.

---

<div class="post-metadata">

**Author:** ![oldgearguy](https://avatars.discourse-cdn.com/v4/letter/o/f4b2a3/32.png) [@oldgearguy](https://forum.electra.one/u/oldgearguy)\
**Post date:** [April 17, 2024, 11:54am UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/23 "2024-04-17T11:54:49Z")

</div>

I stared and stared at that for many many minutes before posting looking for that exact type of problem.

Grrr. Where is lua\_lint() when you need it? 🙂

thanks for taking the time to look it over.

---

<div class="post-metadata">

**Author:** ![oldgearguy](https://avatars.discourse-cdn.com/v4/letter/o/f4b2a3/32.png) [@oldgearguy](https://forum.electra.one/u/oldgearguy)\
**Post date:** [April 17, 2024, 12:44pm UTC](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815/24 "2024-04-17T12:44:22Z")

</div>

Actually, I was thinking some more about this.  
In the web UI when editing LUA, there’s a nice feature where if you double-click or drag-click on something, all occurrences will be highlighted in the file and the scroll bar on the right shows you approximately where all the matches are located. I use this all the time jumping between table and global variable declarations and the locations where I use them.

It would be cool if that highlighting was context and case sensitive by default. The way it is now (I think) is that if I double click on the word “error”, every place the word error is found is highlighted, including places where I have “myErrors” “errorFile”, and even in comments like “-- remember to check for errors here”.

Maybe a shift-double click or control-double click to be case and context specific or something? Because in that scenario, it would have shown me the mismatch by not highlighting the others.

I stared and stared at that for many many minutes before posting looking for that exact type of problem.

Grrr. Where is lua\_lint() when you need it? 🙂

thanks for taking the time to look it over.

[Next page](https://forum.electra.one/t/firmware-v3-6-0-for-mkii/2815.md?page=2)
