New ElectraOne console / Testing needed

A few important things happened lately:

  • We were granted a new USB ID from NXP (silicon chip manufacturer)
  • We wanted to resolve the issue with communication with iConnectivity routers and Linux
  • ElectraOneConsole app became quite unstable on Mac OS X

To address all these points we had to make another radical change to the firmware and the console app. The new firmware files use different file format and can be flashed only with the new console app. I have been testing everything but I would like to ask the community to help. I would like to mention, however, that it is a pre-production testing - issues may occur. Please do not upgrade if you are not willing to accept this.

The new ElectraOne console app

The application is written in JUCE framework and it as been compiled for Windows, MacOSX, and Linux. IOS and Android version will come at later stage. The app gives you access to firmware updates and log files. There are also new features. The app can now monitor MIDI messages sent out by Electra (no need to use Midi Monitor / MidiOX). The information about available memory, serial number and hardware revision are shown.

Download:

No installers yet, just the raw executable. For Linux, udev rule file is provided to allow non-root access to the low-level USB device - needed for firmware updates only.

The firmware

Changelog:

  • Allows communication with the new ElectraOne console app
  • Allows iConnectivity devices to recognize and communicate with Electra
  • Implements new USB VID / PID identifiers

Download:
Firmware 1.5.1 - testing release

Update procedure
The first update requires a special procedure:

  1. Install the ElectraOne app
  2. Download and unzip the .img file
  3. Open the ElectraOne app
  4. Hit the [UPDATE] button on the back panel - the one next to the MIDI IO ports
  5. The app will indicate the Update mode
  6. Click Update in the ElectraOne app

Once your Electra is running 1.5.1 firmware, you should be able to update the firmware without pressing the [UPDATE] button. Just hitting the Update button in the app.

Revert to 1.5
If you wanted to revert back to 1.5 firmware, take following steps:

  1. Make sure the original ElectraOneConsole app is not running
  2. Make sure the new ElectraOne app is not running
  3. Hit the [UPDATE] button on the back panel - the one next to the MIDI IO ports
  4. Open the original ElectraOneConsole app
  5. Click the Update button in the app to flash the .frm firmware file

Notes

iConnectivity routers

Electra hw revisions < 2.3 (you can see the hardware revision in the new ElectraOne app and on Electra’s screen during the start up) require powered USB hub when connecting Electra to the iConnectivity USB port. Revision 2.3 works without the extra power.

Linux

I am still experiencing problems with transfers of larger presets. Still working on it. Also, Electra is not recognized by the app.electra.one editor. We will release the fix for that soon.

Please report any issues you encounter and share your ideas. As the new app is developed by us, we plan to improve it on regular basis and add more functionality in the near future.

Thx!

5 Likes

Hi Martin,

Will do ASAP !

Thanks :+1:

1 Like

Hi @martin,

I can’t run the app. Got a missing VCRUNTIME140_1D.ddl and UCRTBASED.dll error message. I’m on windows 10 64.

Edit : downloaded them. It’s ok now. I updated the E1 and ran the Console without crash

Edit 2 : The 3 E1 midi ports appear in Iconnectivity app :ok_hand:

1 Like

great. Thanks! I will try to bundle the dlls with the app.

Electra One app working fine on my Mac Mini M1.
updated to firmware 1.5.1, all good :slight_smile:

I tested with Percussa SSP (linux) , and now receiving midi messages :white_check_mark: :slight_smile:
(needed powered hub - hw v2.0)

iConnectivity mioXM did not appear to work - powers up ok (with powered hub)
but didnt seem to route any messages. (I checked output, I guess I can look at input too?)
I need to double check routing on mioXM, tommorow - but Im pretty sure, I had it set correctly.
(Im assuming port 1 = port 1?!)

I’ll also give rPI/Organelle a go tommorow.

(is sysex control working on linux generally? is it just larger messages not working?)


btw: I did have one oddity…
after updating to 1.5.1, I initially connected to SSP without a powered hub…
the E1 basically came up kind of corrupt (lack of power)
so I plugged it into a powered hub, and tried again… and all the presets were blank.
(the names were still present - just the presets all had no controls on them anymore)

no big issue, I just went back to to app.electraone.com and uploaded again.

looks like they were corrupted since I can see this in the electra one log for one of the presets ive not re-uploaded yet.
Electra One app working fine on my Mac Mini M1.
updated to firmware 1.5.1, all good :slight_smile:

I tested with Percussa SSP (linux) , and now receiving midi messages :white_check_mark: :slight_smile:
(needed powered hub - hw v2.0)

iConnectivity mioXM did not appear to work - powers up ok (with powered hub)
but didnt seem to route any messages. (I checked output, I guess I can look at input too?)
I need to double check routing on mioXM, tommorow - but Im pretty sure, I had it set correctly.
(Im assuming port 1 = port 1?!)

I’ll also give rPI/Organelle a go tommorow.

(is sysex control working on linux generally? is it just larger messages not working?)


btw: I did have one oddity…
after updating to 1.5.1, I initially connected to SSP without a powered hub…
the E1 basically came up kind of corrupt (lack of power)
so I plugged it into a powered hub, and tried again… and all the presets were blank.
(the names were still present - just the presets all had no controls on them anymore)

no big issue, I just went back to to app.electraone.com and uploaded again.

looks like they were corrupted since I can see this in the electra one log for one of the presets ive not re-uploaded yet.

40325 Preset::load: file: filename=ctrlv2/p002.epr
40325 Preset::parseRoot: parsing failed: IncompleteInput
40325 Preset::parse: parseName failed
40325 Preset::load: cannot parse preset: filename=ctrlv2/p002.epr
40325 ElectraApp::displayPage: pageId=0
40325 loadPresetById: preset loading failed

feature request for Electra One app…
a copy (highlighted) log text from the app directly would be useful for posting on here.
(rather than having to save file, then use a text editor to copy the relevant bit of text :slight_smile: )

I tested it with mioXL and worked perfectly. Does Electra show up on the list of USB Host Reservation in Auracle? For devices connected to USB host ports (on mio), the ports must be assigned in the USB Host Reservation first and then configure in the routing.

@Enthalpi - Does it work for you?

I tested with Organelle and worked too. I did test the four knobs assigments only, ie. CCs. Regarding sysex, I was able to handle sysex messages up to approx 5kB - sending to Electra.

Can you try different hub? When Electra does not get enough power the internal voltage might become affected and it may affect things such as reading from the flash storage or reading pot touch.

I like the idea! I will make it possible to copy selected lines to the clipboard, possibly with the markdown code markers included.

1 Like

Yeah it’s shows up on usb reservation, so I reserved it - but didn’t appear to be sending any midi thru.
( yes I’d set up routing for it, same as my other usb devices)

If it’s working for you - I’ll try to move the mioXM to a slightly different /simpler setup to test it.
I can also try with a different usb hub, see if that works.

@martin , actually there is a problem. Electra One receives all midi data from my gear but not the other way around … I checked all my midi setup and tried with a very simple one, the issue persists :confused:

I will have XM available on Tuesday will test it out.

1 Like

Ok, it took a while but there is a progress. I would like to ask @Enthalpi, @thetechnobear, @RobinC if they could test enclosed firmware with their iConnectivity gear. The mysterious issue has been resolved and I can successfully use Electra connected to the USB host port of both XL and XM (could not verify Mio10).

Also, I am now able to transfer all types of messages on Linux, although a bit of tweaking is needed. Details are below.

Last but not least. I tried to reflect the feedback on snapshots and extended the functionality. This new firmware supports up to 432 snapshots per preset and the ElectraOne console app make it possible to manage them.

I spent majority of my time last month on learning the GUI programming. The idea is that this ElectraOne console (firmware updater) app will slowly progress to a native app that will allow full control of the controller.

The firmware:

firmware-1.5.7.img.zip (163.1 KB)

The ElectraOne console apps:

Notes:

Electra controller:

The Snapshot window is revealed by pressing the right-middle button. Holding the button down allows to choose a bank (1 … 12). It works the same way as the Page selection. When opened, the window is in the “Load” mode by default. ie. presessing a saved Snapshot loads it and sends the midi messages. Pressing “Remove” switches the window to the remove mode. In remove mode tapping a saved snapshot will remove it. Pressing “Save” mode make it possible to save current parameter values to given slot. If the slot is occupied, it will be overwritten.

“Send current” sends all current parameter values without saving them or anything.

There is still work to be done on the UI. I just wanted to improve the concept and make it faster to make actions.

The Snapshot is always saved with a generic name expressing the location and random colour is used. This can be changed by the ElectraOne console app.

Note, the snapshots are still bound to a preset location. ie. if you saved a few snapshots under preset 1 and then you will upload diiferent preset there, the original snapshots will remain there. This still needs thinking and doing.

ElectraOne Console app:

There are two new tabs in the app:

  • Preset
  • Snapshots

Preset is a very early version. It just gives basic info about the controls of th preset and makes it possible to load a preset. Loading of the preset is a bit tricky. If you encouter problems, pleas let me know.

The Snapshots tab is there for managing the snaphosts. You can Update, Remove, and change locations of the snapshosts (drag & drop).

Other:

  • Bitmaps are now in colours
  • It is possible to copy log messages in ElectraOne console to a clipboard. Button show up when lines are selected.

Remark on Linux
The default size of MIDI buffer is 4096 (on Ubuntu). When larger presets are transferred, the kernel reports the buffer overflow. This can be adjusted by changing the buffer size parameter of the sequencer kernel module. I tried to do that in run time - that did not work. Reloading the module with the adjusted parameter works.

ie.:

rmmod snd_seq_midi
modprobe snd_seq_midi output_buffer_size=262144

I haven’t actively used Linux for last 10 years. I am sure there might be a better way to do this. If there are any Linux experts, please advise.

Last but not least.

If this beta firmware and app proves to be stable, I will make it regular release and the features will become available to all users.

1 Like

will give it a go…
I assume its still the case, I should use a powered midi hub in between (due to v1 E1)

yes, unfortunately this is a hardware thing. Hardware revisions prior to 2.3 demand more than Mio can supply. Even with 2.3 only certain host ports are capable delivering enough power (400mA+ is required). I am in touch with iConnectivity, I will try to get more info on this.

1 Like

updated to 1.5.7, and tested with mioXM, and looks to be working great.

I also love the fact, that I can get Chrome/ElectraOne editor talking to it thru the mioXM.
thats really useful, as it means I dont need to plug it directly into the computer to add/edit presets.

1 Like

yes, I must admit - more as a user than a developer - that having electra connected to the mioXL gave me real control over all my gear from one place and in both directions. I think iConnectivity gear is simply great.

2 Likes

Hi Martin

I’ve installed the new firmware. I’ve got a Mio 10 (this is the version pre the Mio10 XL) range.

I can confirm when connected to a hub that is connected to my Mio 10 the Mio 10 can see the electra. It’s also allowed Midi to be routed to and from it according to the routing rules on my MIO 10

The electra app though can’t see the electra one when it is connected to the Mio 10 via USB.

I just wanted to check that this was expected behaviour ? It’s similar for all my other USB devices that are connected to the Mio 10

On the chrome electra editor. I’ve tried setting the ports manually but it isn’t seeing electra. However if I use midi monitor I can see that midi from the electra is getting through to my Mac

Hi Robin,

good to hear.

The Console app does not have an option to configure ports yet. It will be added soon.

The web app have that option. I made a few screenshots of my config:

USB Host reservation:

Control port routing (to and from DAW port):


Routing rule example:

Named ports in Audio MIDI Setup:

port selection on"My presets" page:

I hope it will help. I will add the port config option to the app soon.

1 Like

Cheers - I’ve got the web app working now

1 Like

Now that I’m using my electra connected to my Mio 10. I am seeing a lot more occasions where a transfer of a preset is failing with a Preset Transfer Failed, Please Retry. Sometimes the same preset transfers sometimes it doesn’t. Haven’t yet see a pattern to it

HW v2.30 FW v1.5.7

Sysex from my Virus TI to Electra One seem not to come through entirely.
The ElectraOne.app does show:

509514 processGeneralSysex: manufacturer 2033
509514 handleIncomingMidiMessafe: Sysex message
509518 readMidi: MIDI USB Dev received: port=0, channel=1, type=240, data1=11, data2=0

But the control does not reflect it. This seem to have worked in FW v1.5.0

BTW the other way around (E1 to Virus TI) works like a charm.

@RobinC @joris.roling

The biggest changes in the beta are related to the USB communication. I took note about both issues. I am currently programming in that area, will hunt the bugs down.

Thx for reporting!