Configuration file downlaod button

I suggest adding a Configuration.h and Configuration_adv.h download button so people who want to edit something that isn’t in the Firmware Builder can do it by themselves.


You can use the M503 C command to write the configuration of the running firmware to the SD Card.

I don’t know if it applies to all of the firmwares here but the one for the Ender 3 4.2.2 - BLTouch does not have the configuration built-in and this command just prints the settings from the LCD in the console.

It should be on all firmwares build for the last several months.

Did you check for a zip file on the SD Card?

Yes, i sent M503 C to the printer, it sent the LCD values to the console, then i waited to give it a chance to write something and checked it and there was nothing, i’ll check it again, wait a minute.

I really wanted to try it again but my printer is refusing to flash your firmware, i changed it to my build of marlin and now i cannot flash yours so i will not be able to test it. And yes i did try changing names.

This is a GREAT!!! suggestion. Please consider implementing it!


I’m not sure what you want to be implemented - its already there via the M503 C command…

This is what I was referring to be implemented:
“… I suggest adding a Configuration.h and Configuration_adv.h download button so people who want to edit something that isn’t in the Firmware Builder can do it by themselves.”


As mentioned, the configs are embedded into the firmware and can be saved to the SD Card with M503 C.

This means that the config will be correct for that specific firmware build.

but why this detour?? it would be much more convenient to download the config for the selected printer directly in the fimwarebuilder without having to first install the whole thing download and then compile it again on your own computer with the changes and install it again. and that could be easily done with a lil php-snippet.

It’s the only way that works across all nightlies and custom builds in a way that guarantees that you get the files used for that specific build.

It means if you have a firmware from a month ago, you can still get those files even if there is no record of them on this site anymore.

yep. but the ‘new feature’ would not remove the previous one. and the way you describe to use an old daily release again after weeks or months is probably a very rare thing. to search all this crap out of m503 and then to search again in config.h would make this service superfluous because then you might as well take your time and work through this messy config-file yourself. and as already said - the compilation itself takes less than 30 seconds even on a notebook.

after the changes to the configurator was unfortunately somehow not possible, I had 10 days ago then go through the marlin config files myself. and quite honestly I have never seen such an ill-conceived mess.

that was me then simply too stupid and I have unceremoniously clipper on the computer. that took the first time just under two hours until the first print ran.

my experience now after almost two weeks:

  • the print image is once again somewhat better than with marlin.
  • the printer can also print a little faster with it
  • the config is super clear and tidy
  • no more extra compiling for changes
  • the mainsail user-interface is much faster and more modern than octoprint

=> i will stay with klipper - faster easier more modern


I see the M503 C command works as you say, but I’m not clear on how to use this JSON config file to build the firmware.
Sorry, undoubtedly a rookie question but can you point me to a FAQ on what it takes to compile with one of these configs? Does it require manually inserting the config values in the configuration.h and/or configuration_adv.h, or is there a compile option to use the JSON file that I’m missing?
I’m trying to raise the max extruder temp to 300C for a Creality Spider Hotend.
Ender 3 Neo

Yeah this really need doing. Do you seriously think its ok to have to transfer all the individual values from the json file to the header files? Thats a mean joke and simply not acceptable.

We need the download link please, or just put them on github?

Its super annoying because if you try to use the “example” header files on github the resulting firmware is clearly not the same as the ones you can download. I dont get why the headers are being kept secret?

Try a small empty SD card (2G) with only the firmware on it and a short name. I was having issues getting firmware to load and this sorted it.

Looking at the documentation you posted, the M503 C command gives you the Runtime settings in json format. This is not what the OP was asking for. They were asking to be able to download the configuration.h and configuration_adv.h files the firmware builder uses to compile the firmware.

An easy solution is keep one download button but provide a zip file containing the built firmware and two configuration files.

I can think of four reasons this is a helpful feature to have:

  • When there is a bug in the Marlin code itself, Marlin requires submitting Configuration.h and Configuration_adv.h in their issue creation on github.
  • If people want to use the firmware builder as a starting point but alter the configuration files before building. This may be the case when the Firmware Builder does not expose certain settings that they want to change.
  • If the firmware builder produces builds with bugs originating from incorrect Configuration.h or Configuration_adv.h settings. These can be corrected in the files and rebuilt as a workaround until the bug is fixed.
  • Even if M503 S provided these configuration files, people running headless (SD card) mode can only send the command if they modify their Slicer code before saving it to the SD card with a print.

I should mention, you can throw the json file into the Marlin source code directory and it’ll automatically import it into the build - overriding what was set in the .h files.

As mentioned before, it was a design oversight when I first made the design for the builder. As the JSON file from the running firmware can still be used, it hasn’t been a priority to rewrite enough to allow to get these files out of the builders isolated container.

It might happen eventually, but it isn’t high up on the priority list.

Is this project open source? I’m a software developer, so perhaps I can help. I’m motivated because I’m having issues that I believe are being caused within the Marlin Firmware, but they really won’t help unless I post my configuration.h and configuration_adv.h files when I file a Github issue. If not, that’s OK, I was trying to avoid learning the build process for Marlin manually, but I can do that too.