Click to view our Accessibility Statement or contact us with accessibility-related questions
ottobonn
12
Oct 3, 2020
I had the same problem and just got this working. I am using the CTRL, but I think what I did should work with the ALT as well. The keyboard comes from the factory without persistent storage (nonvolatile memory) enabled. To get the settings to stay when the keyboard loses power, we have to enable nonvolatile memory in the keyboard (using a modified version of mdloader) and also update the default keymap to save the settings in the nonvolatile memory (using a modified default QMK keymap). Enable SmartEEPROM on the keyboard First, to enable nonvolatile memory, we will use a feature called "Smart EEPROM" that comes with the ATSAMD51 chips. I have created a fork of mdloader at https://github.com/ottobonn/mdloader. You will need to check out this fork of the Massdrop loader and run the new Smart EEPROM command to update your keyboard settings to enable nonvolatile memory. Alternatively, you can download the compiled release at https://github.com/ottobonn/mdloader/releases/tag/1.1.0. The next step depends on your OS. If you're on Windows, you will use mdloader.exe, and if you're on a Mac or Linux you will use mdloader.
  • On a Mac or Linux, run the command like this: `./mdloader --first --smarteep`.
  • On Windows, run it like this: `mdloader.exe --first --smarteep`
Note that the keyboard will not reboot automatically after this command, so you should unplug it and plug it in again to start it up. For reference, the changes to the loader in this fork are from the pending PR here: https://github.com/Massdrop/mdloader/pull/16

Update your keymap to save your settings Now to update the default keymap to save the settings. I created a fork of the latest QMK today and added the required changes to it: https://github.com/ottobonn/qmk_firmware These changes include a new default keymap for the CTRL that saves a bunch of settings to the nonvolatile memory, and some changes based on community work to support SmartEEPROM in QMK, which I have adapted to make a bit more readable. Check out the master branch on this fork of QMK and `make massdrop/ctrl:default_md` to build the new keymap. I have the Drop CTRL and I have tested these steps to persist the settings even after unplugging the keyboard, and it's working great! I am planning to add support for the ALT soon as well. If you need help adapting the CTRL keymap to the ALT, let me know.
(Edited)
thegoldstandard
0
Oct 24, 2020
ottobonnThanks for sharing! Tried installing your fork of mdloader but haven't built the keymap fork yet. I'm curious as to why the keymaps also need to be compiled to use the SmartEEPROM. I would expect the firmware update to be all that's needed.
ottobonn
12
Oct 24, 2020
thegoldstandardYeah the new bootloader is enough to enable persistent storage, but the default keymap doesn't save any settings. Each keymap in QMK has to define which settings to save in EEPROM.
SamL214
10
Oct 31, 2020
ottobonnI'm sorry I am not very proficient at programming and just started learning how to use github. I am a little turned around with your instructions here and on your branches. I assume firstly install typical mdloader_windows.exe and applet-mdflash.bin and keymap.bin as instructed in the DROP "how to configure ctrl keyboard tutorial page"(https://drop.com/talk/9382/how-to-configure-your-ctrl-keyboard/2486201). Then download your bin file "applet-flash-samd51j18a.bin", copy the original mdloader_windows.exe and keymap.bin (DROP configured keymap such as massdrop_ctrl_preset_ctrl__default.bin) into a new folder and on the command prompt line "change directory" to that new folder path/location with the 3 files I mentioned above. Basically follow your instructions for loading that on https://github.com/ottobonn/mdloader:
  • "In your terminal, change to the directory where you downloaded the executable and applet-*.bin file(s)."
  • Windows: Run mdloader_windows.exe --first --download FILE_NAME [mine says: "massdrop_ctrl_preset_ctrl__default.bin"] --restart. Replace "FILE_NAME" with the filename of your compiled firmware.
and I should see a summary where the line says: appletfile: applet-flash-samd51j18a.bin but my cmd line still says applet file: applet-mdflash.bin Is this all backwards? Do I need to continue on and build something? obviously i still need to update the keymap. however, my applet file being used isn't even the right one, so should I be doing something else first before I even flash a new bin?
rchh
1
Nov 25, 2020
ottobonnHello, I am trying to enable the non-volatile memroy on my DROP CTRL keyboard. I am using Windows, can you explain to me how to use command line in CMD: "./mdloader --first --smarteep" ? When I use that command, I get a non-recognized command error.
ottobonn
12
Nov 28, 2020
rchhOn Windows, you will need to use the Windows executable, which has the EXE extension: mdloader.exe --first --smarteep I just built the EXE on the new code and released it on my fork. You can download it here: https://github.com/ottobonn/mdloader/releases/tag/1.1.0 Download the EXE file and the applet file (applet-flash-samd51j18a.bin) and make sure they are in the same folder. Then run the EXE file with the command above.
ottobonn
12
Nov 28, 2020
SamL214It sounds like you're following the steps correctly. In your "build" folder, do you see the applet file? What is it called? Make sure you're using the EXE I built in the release of this fork (https://github.com/ottobonn/mdloader/releases/tag/1.1.0)
(Edited)
rchh
1
Nov 28, 2020
ottobonnThank you for responding. I have configured my DROP CTRL keyboard to have SmartEEPROM configured. I would like to set my own configs on the .bin file and try to execute: "mdloader_windows.exe --first --download (MY config file from drop.com).bin --restart" and noticed when I unplug the settings do not reload after restarting keyboard/computer? Any solutions for it? I'm assuming my config file doesn't have smarteep on it ?
ottobonn
12
Nov 29, 2020
rchhRight, the .bin file is the compiled QMK firmware with the keymap, and in QMK the keymap determines what settings, if any, are saved in the EEPROM. Which keymap are you using?
rchh
1
Nov 29, 2020
ottobonnBasically I just want to remap prntScr: Master mute volume, scrlLck: volume down and pause: volume up and I wanted ins: left click (but im sure this remap wouldn't work). I was going to try to edit it but I'm not good with scripting the raw file.
(Edited)
ottobonn
12
Nov 30, 2020
rchhGot it. Are you using the CTRL or ALT?
rchh
1
Dec 2, 2020
ottobonnCtrl (high profile) TKL
testingkeebs
1
Dec 4, 2020
ottobonnCan you add a default keymap for the ALT with smarteeprom? Thanks!
(Edited)
RM01
0
Dec 7, 2020
ottobonnHey there, I have enabled SmartEEPROM, however when trying to `make massdrop/ctrl:default_md` I get an error saying "The system cannot find the path specified. 'grep' is not recognized as an internal or external command, operable program or batch file. The system cannot find the path specified." What am I doing wrong? Thanks.
ottobonn
12
Dec 9, 2020
testingkeebsJust added for the ALT; try checking out the latest version of master on my fork. Here's the commit: https://github.com/ottobonn/qmk_firmware/commit/b0749db6862557e78491b8abdb50a84c32e87f25
ottobonn
12
Dec 9, 2020
RM01Hmm are you trying to build on Windows?
ottobonn
12
Dec 9, 2020
rchhIt's actually easy to do that; here's how: https://github.com/ottobonn/qmk_firmware/pull/1
rchh
1
Dec 9, 2020
ottobonnThanks for referring to the link posted. How do I make those changes to the bin file to include the changed keymaps? My only experience changing keymaps was through DROP GMK configurator and don't have the programs to edit it?
RM01
0
Dec 9, 2020
ottobonnI was, couldn't get it to function correctly but I found the fully compiled .hex file of yours from github and that worked. Any way to add this functionality to an existing custom lighting profile (existing .bin)?
massdroptestz
1
Dec 16, 2020
ottobonnI'm having trouble compiling the file for the ALT. Could you send me a default config with smarteeprom with for the ALT?
Mayou
0
Jan 2, 2021
ottobonnOk, last question... I followed the step but did it a little differently and just ran mloader_windows.exe and downloaded the .hex file compiled on github.(Massdrop original flashing technique). Now it seems that when I unplug the keyboard, values seems saved but there's only one issue that bugging me, I can't seem to change the wave direction and save it. Whenever I make any other change the the rgb effects(brighness,mode,etc) , the wave direction returns to right to left. And I want it to go from left to right. I don't know if you where aware of this issue, thank you.
dropnahc
0
Jan 3, 2021
ottobonnI finally got this working - I ended up using a solution I found elsewhere with a few changes, but I think I could've got this working by merging in pr 9485 and pr 10728 from https://github.com/qmk/qmk_firmware thanks ottobonn!
cena
0
Jan 11, 2021
ottobonnHi ottobonn, I have tried this step but am getting an error of "Scanning for device for 60 seconds" then "Error: Could not find a valid device port!" I made sure to include the EXE file and applet file from release 1.1.0 but am still unsuccessful. Do you have any ideas on how to fix this? Thank you.
dropnahc
0
Jan 13, 2021
cenafor the CTRL, try hitting fn + b when you see that message
Devil_U_Know
124
Jan 31, 2021
ottobonnThanks for sharing. I was not able to install your fork of mdloader on my Drop Ctrl HP, it appears it doesn't work on newer Drop Ctrl, I tried on an older Drop Ctrl LP and it worked, any ideas what could be wrong? I was told to checkout the https://github.com/qmk/qmk_firmware and merge in the qmk/qmk_firmware#6068. But I have no idea on how to accomplish this since I'm just starting to understand QMK. I managed to compile a firmware using QMK configurator and I flashed it to the board without issues, so I now wanna know what to do to enable smarteep so I don't have to cycle through to find the RGB animation/color I want to use. I appreciate any assistance.
ottobonn
12
Jan 31, 2021
Devil_U_KnowDid it fail to find the keyboard when scanning for it? The most likely problem is that the chip ID is slightly different on the newer models. Just to be clear you tried it with the version of mdloader in the repo I linked to?
Devil_U_Know
124
Jan 31, 2021
ottobonnYes, that is correct, when trying to connect during the 60 seconds timer pressing fn + b didn't work. I did use the mdloader from this link https://github.com/ottobonn/mdloader/releases/tag/1.1.0.
Devil_U_Know
124
Feb 1, 2021
ottobonnIt appears my board has a newer chip revision, which explains why your compilation of mdloader doesn't recognize the board. So I would need to build my own mdloader with the latest release, and merge the master branch with the PR branch which I have no idea on how to accomplish.
TwYee
3
Feb 24, 2021
ottobonnDoes this only work for the default_md keymap? Can this work for other keymaps such as endgame?
musasabi
2
Sep 11, 2021
ottobonnJust posting to offer an emphatic thank you. You've done a kind service for the community which Drop should've tended to ages ago. You are a hero. =)
MartinodF
3
Dec 3, 2021
ottobonnThanks for the awesome contribution! Just a note for people finding their way here from Google: changes to both qmk_firmware and mdloader have been merged upstream, so you can now use the main projects from GitHub and the EEPROM will be enabled.
funkioto
3
Dec 7, 2021
OK I got it working using the official mdloader, for anyone reading this later: Click "COMPILE & DOWNLOAD" here to get the default CTRL firmware. Run mdloader with this command (point to where your file downloaded): ./build/mdloader --first --download ~/Downloads/massdrop_ctrl_p_ctrl__default.bin --restart Then I had to fully setup QMK, build the CTRL firmware with `make massdrop/ctrl:default_md` and finally flash the resulting file: ./build/mdloader --first --download ../qmk_firmware/massdrop_ctrl_default_md.bin --restart
(Edited)
DavieDavieDave
3
Mar 13, 2022
funkiotoConfirmed working! My CTRL now remembers the last RGB settings after power off. It also remembers 6KRO/NKRO state! Thank you.
(Edited)
PRODUCTS YOU MAY LIKE
Trending Posts in Mechanical Keyboards