Luminite Graviton M1 MIDI Controller

Small improvement: It would be good if the Export functionality on the web browser would export the file with a proper filename instead of "download." Something like "GravitonM1-backup-<backup name>" would be much better.

The info text in the Import/Export view on the device should also say "Go to http://graviton.local" because otherwise you are likely to just do a search, depending on your browser.

Also, it should remember the Wifi settings for both Update and Backup. At least on my device it asked for Wifi network/credentials again for Import/Export.

Plus it would be good to have Wifi settings somewhere in Wireless so you can change the network to use, change its password or remove the info.
 
I ran into a pretty major issue with factory reset. When doing so, it downgrades the firmware to 1.0.0 instead of just resetting to 3.0.0 on defaults.

The problem with fw 1.0.0 is that it does not support long passwords for the WiFi network, so to get the device to upgrade I had to use my mobile hotspot as a Wifi network with a short password.

The functionality should be changed so that it just resets to the currently installed firmware defaults. As a fallback, it should be possible to upgrade the firmware via USB connection.

I can confirm that after factory reset and reinstalling 3.0.0, the XY Controller now works as expected.

However, backup import does not work at all! I tried:
  • Import in multiple different slots.
  • Saving into a slot first then replacing with backup file.
  • Renaming backup file back to "download" and trying to import it.
Every time it just says "Backup failed, try again." Backup is created from 3.0.0 version and exported just fine.

The WiFi connection in Import/Export mode seems also very fragile. It will often disconnect and require restarting the device or the http://graviton.local website is not available.
 
Last edited:
Another feature that doesn't work in 3.0.0 is the Touch Calibration. I can click on the right corner red square and turn it white, but no matter how much I tap the left corner one, it does not turn white. I was able to do this process on 2.0.0.

EDIT: Was able to calibrate by tapping the very very edge of the left side of the screen. Now the mapping seems to work right and further calibration is also fine. But seems there's something wrong with the default on my unit at least.

When typing with the keyboard, the left side map taps incorrectly. I have to tap the very edge of the screen to get e.g 1 or / to activate, instead they tend to type 2 or :, the characters next to them. Only these first keys have this issue and the rest seem to work whether I use a smaller or bigger finger to hit them.
 
Last edited:
Potentially a bug:

Settings -> Bank options don't seem to do anything. At least I can't see bank changes highlighting any preset no matter what you select here. It seems to be missing the "Do nothing" option that was there previously? Which would be my preferred functionality.

Another option I would like is per controller "Switch to controller screen when used ON/OFF" functionality, like when you press XY controller direction it shows that XY controller view. It's one of those "maybe useful, maybe not" thing as sometimes it would be nice to just use e.g Preset library screen but still use controllers for switching.

Or maybe there could be view modes for the controller screen? "Show as XY, Footswitches, List, Blocks" I think that would work pretty great to tailor it to your uses while the Preset library could allow for Blocks/List view.
 
Last edited:
Picture below. The conditions to make this happen:
  1. Add a name for a PC or CC command. The name needs to be max length allowed.
  2. Add this PC/CC command to preset.
  3. Add a second command to preset, any command.
  4. Now the first command with the long name will show part of the name of the 2nd command.
Fixed !
I don't know if your system supports double tap, but that might work. Single tap to activate, double tap to edit?
Cool ! I’ll do both menu > edit and double tap

The XY Controllers view is a good visual aid for remembering what does what, but once you have those memorized, the block or the old list view is clearer for me because it's just a list, rather than having the presets all over the screen. Arrows in the block view would be a good way to support whichever format users prefer.
Yeah a switchable XY / Block / List view + arrows in the XY Controllers Screen is good idea. I already have 1 tap block / list view for Preset Library Screen working as well.

Small improvement: It would be good if the Export functionality on the web browser would export the file with a proper filename instead of "download." Something like "GravitonM1-backup-<backup name>" would be much better.

The info text in the Import/Export view on the device should also say "Go to http://graviton.local" because otherwise you are likely to just do a search, depending on your browser.

Also, it should remember the Wifi settings for both Update and Backup. At least on my device it asked for Wifi network/credentials again for Import/Export.

Plus it would be good to have Wifi settings somewhere in Wireless so you can change the network to use, change its password or remove the info.

I think I found the culprit: this 3.0.0 Beta added too many new features that leaves barely enough memory for the network system to run properly.

The exported backup file format is always Graviton_M1_x.bak (x is the slot number). The "download" is NOT the correct backup file, caused by the network process ran out of memory. Thats why you couldnt import it back and had "Backup failed, try again" error as it coulnt pass verification :crazy And also thats why its difficult to connect to Import / Export page. Sorry for the troubles :facepalm

Everything works perfectly in 2.0.0. I'll start the memory optimization now !

Also, it should remember the Wifi settings for both Update and Backup. At least on my device it asked for Wifi network/credentials again for Import/Export.

WiFi settings are always saved when connected successfully, and will be reset if not. Maybe the failed attempt to connect caused by the network problem above triggered the reset process.

The functionality should be changed so that it just resets to the currently installed firmware defaults. As a fallback, it should be possible to upgrade the firmware via USB connection.

Yeah I'll will add these reset options individually :
1. Reset XY Controllers connections.
2. Reset Settings
3. Reset Presets
etc
While keeping the current firmware intact. So you can choose and just reset the parts you want.
The factory reset (back to original firmware) is the really the last fall back as they're pretty fail-safe. I'll look at USB update as well.

When typing with the keyboard, the left side map taps incorrectly. I have to tap the very edge of the screen to get e.g 1 or / to activate, instead they tend to type 2 or :, the characters next to them. Only these first keys have this issue and the rest seem to work whether I use a smaller or bigger finger to hit them.
Did this happen before or after you finished the calibration ? Your unit is normal, the left red squares always need some extra touches on the outer edge. I'll add a manual + / - adjustment to help with that.

Settings -> Bank options don't seem to do anything. At least I can't see bank changes highlighting any preset no matter what you select here. It seems to be missing the "Do nothing" option that was there previously? Which would be my preferred functionality.
This option is only active while triggered by a XY controller or footswitch while playing, not on touch to help the copy / swap function to work properly. "Do nothing" was removed because i thought may cause confusion with the bank / preset display mismatch. But its pretty minor i can add it back.

Another option I would like is per controller "Switch to controller screen when used ON/OFF" functionality, like when you press XY controller direction it shows that XY controller view. It's one of those "maybe useful, maybe not" thing as sometimes it would be nice to just use e.g Preset library screen but still use controllers for switching.

Or maybe there could be view modes for the controller screen? "Show as XY, Footswitches, List, Blocks" I think that would work pretty great to tailor it to your uses while the Preset library could allow for Blocks/List view.

Yeah multi-view for the XY screen is exactly what I thought too, added to the list !
 
Last edited:
I think I found the culprit: this 3.0.0 Beta added too many new features that leaves barely enough memory for the network system to run properly.

The exported backup file format is always Graviton_M1_x.bak. The "download" is NOT the correct backup file, caused by the network process ran out of memory. Thats why you couldnt import it back and had "Backup failed, try again" error :crazy And also thats why its difficult to connect to Import / Export page. Sorry for the troubles :facepalm

Everything works perfectly in 2.0.0. I'll start the memory optimization now !
Great that you found the problem! Maybe you can make it run in some separate state for backup/import/export where most of the normal functionality is disabled to free memory? I don't think anyone will mind if it takes a moment to return to normal after that since most aren't backing things up all the time.

Seems I have to start building my presets again but that's ok, I know better how to set it up now so it won't take that much time.

The factory reset (back to original firmware) is the really the last fall back as they're pretty fail-safe. I'll look at USB update as well.
Any way to maybe bake the 2.0.0 version as the fallback firmware? Because I had no issues on that and the WiFi pw problem does not exist on it.

Did this happen before or after you finished the calibration ? Your unit is normal, the left red squares always need some extra touches on the outer edge. I'll add a manual + / - adjustment to help with that.
This happened before calibration and as mentioned I had a tough time calibrating it in the first place. When I finally did manage to do it, went out of calibration view, then the keyboard worked normally. After that I could also calibrate it more normally where tapping on the squares works as expected. So something very wonky with the initial calibration settings.

This option is only active while triggered by a XY controller or footswitch while playing, not on touch to help the copy / swap function to work properly. "Do nothing" was removed because i thought may cause confusion with the bank / preset display mismatch. But its pretty minor i can add it back.
Using an XY controller still doesn't seem to trigger the change (e.g first of bank or last active), though I only tested it without my pedalboard connected. The relevant presets don't highlight at least.

Appreciate your hard work!
 
Graviton M1 Software 3.0.1 (Beta 2)

Changes from 3.0.0 (Beta 1):

  • New navigation gesture: one tap to select / double tap to edit / long tap for context menu.
  • New Multi-Layout view for most Screens.
Preset Library Screen
  • Added Blocks / List layout menu options.
  • Added preset numbers (1-120)
  • Added context menu color.
XY Controllers Screen
  • Added XY / Blocks / List layout menu options.
  • Added preset numbers.
  • Added “Arrows” menu option in Block / List layout.
Footswitch Pedals Screen
  • Added Blocks / List layout menu options.
  • Added preset numbers.
Expression Pedals Screen
  • Added Blocks / List layout menu options.
  • Added preset numbers
MIDI In Screen
  • Added Blocks / List layout menu options.
  • Added preset numbers.
User Interface:
  • Remove cursor for keypads
  • Long tap on the keyboard backspace key to clear text.
  • Add Settings > Bank > “Do nothing” option.
Bugs Fixes:
  • Fixed some instances of XY Controllers paired but not working.
  • Fixed Settings > Backup > Import / Export.
  • Fixed cropped small title text.
  • Fixed some instances of long text overflowing in MIDI Editor Screen.
 
Great that you found the problem! Maybe you can make it run in some separate state for backup/import/export where most of the normal functionality is disabled to free memory? I don't think anyone will mind if it takes a moment to return to normal after that since most aren't backing things up all the time.

Seems I have to start building my presets again but that's ok, I know better how to set it up now so it won't take that much time.
This updated Backup screen runs on a separated boot mode. Now it works as well as before. Thanks for the advice !

Any way to maybe bake the 2.0.0 version as the fallback firmware? Because I had no issues on that and the WiFi pw problem does not exist on it.
Factory Reset is like recovery mode and unchangeable.
The Settings > Data > Reset will keep the current firmware. And future update will have selectable firmware option.

Using an XY controller still doesn't seem to trigger the change (e.g first of bank or last active), though I only tested it without my pedalboard connected. The relevant presets don't highlight at least.
The Bank Switch function does work, but the XY Controllers Screen highlights the last pressed XY switch rather than the active Preset. Switch to Preset Library and you’ll see the active Preset highlighted. BTW I removed the auto-screen switching feature for now. I’ll add it back later to as an option.
 
Last edited:
Had to reset back to 1.0.0 again to install the update, thankfully I hadn't done anything but testing on 3.0.0 beta 1.

On 3.0.0 the software update just refused to start loading and then the device became unresponsive. I guess it isn't able to recover from e.g Wifi dropping or has similar issues to what it had for backup export/import.
 
I’m acting on behalf of @laxu

ben affleck love GIF
 
Found a couple of bugs on 3.0.1:
  • Pairing XY controller crashed the unit after trying to pair right after upgrading fw. After it rebooted automatically, trying to pair again worked fine.
  • First time going to the Preset library, I had the whole screen covered in white text, could not make out what it said (I'm guessing something like "Ch 1 CC 0" over and over) as it was overlapping. I changed banks and it went away. Haven't seen it again, this was right after upgrading fw.
  • XY controller charge level is shown as 100 in the corner even though nothing is paired.
  • Cursor bug still exists in labels. It shows e.g. "C|h2" when the name is cleared, except the "|" is overlapping the "h". It should not show cursor at all in this scenario, only after first character is typed in. Cursor bug is fixed in Kpad view tho.
  • Word wrap in blocks is a bit wonky, results in e.g
    "Vox Dr
    ive" type line break issues. Easy way to fix this is typing that as "Vox___Drive" with more spaces.
 
Last edited:
Then the good stuff:
  • The little quick view toggle at the bottom is nice.
  • XY controller views with the arrows is sweet!
  • The List view looks great now. Actually all 3 layouts are good looking and let you tailor the usability to preference.
  • Preset numbers is a good addition.
  • Double tap to edit (and "Edit preset" as option in hold menu) works well!
Most of the effort working with the Graviton M1 is in first time setup. I'm going through the MIDI implementation spec sheets of my Strymon manuals to add names for channels, CCs and presets.

Once that is done and you have built just one preset that does multiple things, it's really easy to copy/paste that preset to other slots, then go change something like preset number, bypass CC from 0 to 127 and that sort of stuff to make e.g "Clean", "Clean Chorus", "Plexi Rhythm", "Plexi Lead" type presets for example.
 
GravitonBug2.jpg


A few more bugs/suggestions:
  • Bug: The above screenshot is similar to what I saw in the Blocks view previously. I got this after I went to Backup mode and then came out of it. Going out of the view and coming back in fixes this. For some reason it seems some color values get rendered? This can be consistently reproduced by going to backup mode and coming out of it.
  • Bug?: Using the MIDI Editor sliders seems to work poorly if the slider is set to 0 or 127. If you tap it somewhere between those ends it works fine. I just can't seem to start dragging if it's at 0/127.
  • If MIDI editor is set to "Grid":
    • Bug: A long channel name can go outside the screen. I have ch2 named as "Compadre" and the "e" at the end goes slightly outside the screen.
    • Suggestion: "Grid" should be called "List" as Grid vs Blocks is a bit hard to differentiate.
    • Suggestion: Squeezing in a 4th row so there's less scrolling needed would be nice. I don't know if there's room for it without making the touch targets too small though.
  • Backup:
    • Bug: Export button did not show up in web browser when I first went to it. After going out of import/export and trying it again, it showed up and I was able to export backup.
    • Bug?: Backup mode (or main UI) does not track which of the backup slots is currently in use (or loaded). It always selects slot 1. Not sure if it's even supposed to track it.
    • Suggestion: Time stamp for backups would be good to figure out which is the latest.
    • Suggestion: When entering backup mode from main UI, some sort of notification like "Loading backup mode..." would be good, it takes a good bit to change so the user might think they didn't press it correctly or the device has crashed.
    • Suggestion: Backup was saved as "<backup name>.bak". Making it "GravitonM1-<backup name>.bak" would be clearer for tracking what the backup file is for.
  • Settings:
    • Suggestion: Visually the header vs actionable things are a bit backwards. The headers (lighter gray and rounded corners) look a lot like buttons. Maybe something to tweak a bit in some future version? "Stuff it way back to the backlog" type stuff.
Exporting and importing backup seemed to work just fine now.
 
Last edited:
Graviton M1 Software Update 3.0.2 (Beta 3) :banana

Change logs:

  • Bootup process is now a bit faster
  • Fixed the bugs below

  • Pairing XY controller crashed the unit after trying to pair right after upgrading fw. After it rebooted automatically, trying to pair again worked fine.
Fixed !

  • First time going to the Preset library, I had the whole screen covered in white text, could not make out what it said (I'm guessing something like "Ch 1 CC 0" over and over) as it was overlapping. I changed banks and it went away. Haven't seen it again, this was right after upgrading fw.
Fixed !

  • XY controller charge level is shown as 100 in the corner even though nothing is paired.
Fixed, now it only start displaying battery percentage when a wireless signal is received.

  • Cursor bug still exists in labels. It shows e.g. "C|h2" when the name is cleared, except the "|" is overlapping the "h". It should not show cursor at all in this scenario, only after first character is typed in. Cursor bug is fixed in Kpad view tho.
Fixed !

  • Word wrap in blocks is a bit wonky, results in e.g
    "Vox Dr
    ive" type line break issues. Easy way to fix this is typing that as "Vox___Drive" with more spaces.
Fixed ! Word wrap works properly now, and only breaks a word to the next line if its too long.

  • Bug: The above screenshot is similar to what I saw in the Blocks view previously. I got this after I went to Backup mode and then came out of it. Going out of the view and coming back in fixes this. For some reason it seems some color values get rendered? This can be consistently reproduced by going to backup mode and coming out of it.
Fixed !

  • Bug?: Using the MIDI Editor sliders seems to work poorly if the slider is set to 0 or 127. If you tap it somewhere between those ends it works fine. I just can't seem to start dragging if it's at 0/127.
Hmm works fine for me. Can you reproduce it reliably ?

  • Bug: A long channel name can go outside the screen. I have ch2 named as "Compadre" and the "e" at the end goes slightly outside the screen.
Fixed !

  • Suggestion: "Grid" should be called "List" as Grid vs Blocks is a bit hard to differentiate.
Done !

  • Suggestion: Squeezing in a 4th row so there's less scrolling needed would be nice. I don't know if there's room for it without making the touch targets too small though.
Yeah I tried 4 rows and its definitely too crammed.

  • Bug: Export button did not show up in web browser when I first went to it. After going out of import/export and trying it again, it showed up and I was able to export backup.
Hmm I havent managed to reproduce it ?

  • Bug?: Backup mode (or main UI) does not track which of the backup slots is currently in use (or loaded). It always selects slot 1. Not sure if it's even supposed to track it.
No its not supposed to track it. These backups are like MacOS Time Machine backup, separated from current running user data. One you saved a backup it stays that way until you choose to Save > Overwrite.

  • Suggestion: Time stamp for backups would be good to figure out which is the latest.
Time stamps require the Graviton M1 to either have a internal clock with battery (it doesn't), or pulling time from the internet, which may not always available. So maybe in the future, but for now you can rename manually.

  • Suggestion: When entering backup mode from main UI, some sort of notification like "Loading backup mode..." would be good, it takes a good bit to change so the user might think they didn't press it correctly or the device has crashed.
Added a confirmation popup !

  • Suggestion: Backup was saved as "<backup name>.bak". Making it "GravitonM1-<backup name>.bak" would be clearer for tracking what the backup file is for.
Done ! Default backup name is now "Backup x". Exported file name is "Graviton M1 <backup name>.bak"

  • Suggestion: Visually the header vs actionable things are a bit backwards. The headers (lighter gray and rounded corners) look a lot like buttons. Maybe something to tweak a bit in some future version? "Stuff it way back to the backlog" type stuff.
Yeah makes sense. Maybe in the future.
 
  • Bug?: Using the MIDI Editor sliders seems to work poorly if the slider is set to 0 or 127. If you tap it somewhere between those ends it works fine. I just can't seem to start dragging if it's at 0/127.
Hmm works fine for me. Can you reproduce it reliably ?
Yeah seems pretty consistent on mine. Updated to 3.0.2 and tried calibrating my screen again, as well as cleaning it. If the slider is at 0 or 127 it tends to not do anything when you start dragging, but if you tap it somewhere else, even just like 2 or 125 then dragging works fine. If you keep dragging then 0 and 127 work. If you let go, then those values seem to again not start dragging.

I am also seeing occasionally double inputs and missed inputs from the keyboard when typing (on 3.0.1 at least). It seems to work best when you don't try to type as fast as on a smartphone, but a good bit slower. And I'm only "older millenial" fast in the first place! :D

Yeah I tried 4 rows and its definitely too crammed.
Yeah, I thought it might be. I think it's a cool alternative view but I will be using Blocks most of the time.

  • Bug: Export button did not show up in web browser when I first went to it. After going out of import/export and trying it again, it showed up and I was able to export backup.

Hmm I havent managed to reproduce it ?
I haven't managed to see it again either. When I got it, it persisted through page reloads and slot changes. I could only get this right after firmware update from 1.0.0 -> 3.0.1.

No its not supposed to track it. These backups are like MacOS Time Machine backup, separated from current running user data. One you saved a backup it stays that way until you choose to Save > Overwrite.
I see. The previous implementation before the new Backups mode seemed like it might work like that (any changes elsewhere are saved to the selected slot) so that's my mistake.

Time stamps require the Graviton M1 to either have a internal clock with battery (it doesn't), or pulling time from the internet, which may not always available. So maybe in the future, but for now you can rename manually.
Understandable. Maybe it could just use some internal counter and store it to the backup files? Like show "Slot 1: MyBackupName is backup #325 made on v3.0.2" or something when you open the hold menu. That's about as good as timestamps if the main usecase is knowing which backup is older vs newer. Of course, this is "do whenever" type convenience stuff.

Added a confirmation popup !
Yeah this works great!

Done ! Default backup name is now "Backup x". Exported file name is "Graviton M1 <backup name>.bak"
Tested and works!

Other than the bugs reported earlier, haven't had any issues with 3.0.1. I just spent a good amount of time typing in names for all the CCs on my Strymons. Other than sometimes having to be a bit clever with naming due to the character limit, it all worked fine.
 
Also, after 3.0.x, I'm really looking forward to the control surfaces feature you mentioned in some post.
 
Yeah seems pretty consistent on mine. Updated to 3.0.2 and tried calibrating my screen again, as well as cleaning it. If the slider is at 0 or 127 it tends to not do anything when you start dragging, but if you tap it somewhere else, even just like 2 or 125 then dragging works fine. If you keep dragging then 0 and 127 work. If you let go, then those values seem to again not start dragging.

I am also seeing occasionally double inputs and missed inputs from the keyboard when typing (on 3.0.1 at least). It seems to work best when you don't try to type as fast as on a smartphone, but a good bit slower. And I'm only "older millenial" fast in the first place! :D
I think I might have figured it out: did you start dragging from the area outside of the slider, near the screen edges, rather than from the knob ? The first can be made to work by extending the slider to cover almost the whole screen width, so you cant miss the knob when in 0 / 127 position. I’ll try it and if it works add it the next update.

I’ll add some ghost touch rejection to the keyboard to prevent double key too.

Understandable. Maybe it could just use some internal counter and store it to the backup files? Like show "Slot 1: MyBackupName is backup #325 made on v3.0.2" or something when you open the hold menu. That's about as good as timestamps if the main usecase is knowing which backup is older vs newer. Of course, this is "do whenever" type convenience stuff.
Good idea on the backups information popup menu. Actually getting time and date from the internet works quite well too, but requiring users to connect first. I’ll look at it

Also, after 3.0.x, I'm really looking forward to the control surfaces feature you mentioned in some post.
Cool seems like its stable enough for the official release. I need to update the manual and change logs, then will start working Control Surfaces !
 
Last edited:
I think I might have figured it out: did you start dragging from the area outside of the slider, near the screen edges, rather than from the knob ? The first can be made to work by extending the slider to cover almost the whole screen width, so you cant miss the knob when in 0 / 127 position. I’ll try it and if it works add it the next update.
I tried aiming at the white circle on the slider, but it does seem to be finicky at the extremes. Extending or enlarging the touch target might fix it.
 
Improvement: Add the "Send" button to the menu when editing a block CC/PC. Being able to change the value and immediately hit Send to test it out would be handy. Now you need to go out of that and hold, then hit Send.

Also it's pretty easy to trigger activate in Preset library on double tap when you just want to edit. Hold also seems to always trigger activate behind the scenes.
 
Graviton M1 Software Update 3.0.3 (Beta 4) is online

I tried aiming at the white circle on the slider, but it does seem to be finicky at the extremes. Extending or enlarging the touch target might fix it.
Done, plus increased sensitivity too ! Let me know if it works for you

Improvement: Add the "Send" button to the menu when editing a block CC/PC. Being able to change the value and immediately hit Send to test it out would be handy. Now you need to go out of that and hold, then hit Send.
Done !

Also it's pretty easy to trigger activate in Preset library on double tap when you just want to edit.
To have a double tap without activating the Preset first will add a slight delay to the first tap (it needs to wait 500ms and confirm there is no second tap coming). (This is for touch screen navigation only, not affecting XY Controllers or Fooswitches).
If there are cases that a double tap should not activate the Preset, I can add it no problem ?

Hold also seems to always trigger activate behind the scenes.
Yeah I dont think its useful too so its off now.
 
Back
Top