Custom Firmware v1.0 for MK3.5 / MK3.5S – M500 Storage, M851 X/Y, Load/Unload Tuning
 
Notifications
Clear all

Custom Firmware v1.0 for MK3.5 / MK3.5S – M500 Storage, M851 X/Y, Load/Unload Tuning  

  RSS
INVESTEGATE
(@investegate)
Eminent Member
Custom Firmware v1.0 for MK3.5 / MK3.5S – M500 Storage, M851 X/Y, Load/Unload Tuning

INVESTEGATE Custom Firmware v1.0 for Original Prusa MK3.5 / MK3.5S

Hi everyone,

I would like to share my first unofficial custom firmware release for the Original Prusa MK3.5 / MK3.5S.

It is based on official Prusa-Firmware-Buddy v6.5.3.

Supported printers:

  • Original Prusa MK3.5
  • Original Prusa MK3.5S

Important: This is unofficial custom firmware. It is not made, approved or supported by Prusa Research or Bondtech.


Why I built it

I am proud to share my first modified firmware release.

I use a Bondtech LGX Shortcut setup on my own MK3.5S.

The stock filament load and unload behavior did not always work reliably for me, especially during M600 filament changes while printing.

When the printer is idle, you can work around some issues manually by using Move Axis to load or unload filament. But during an active print, that is not really possible.

In my case, this sometimes caused filament jams, failed filament changes and failed prints when I could not unload or reload the filament properly.

That was the main reason I started modifying the firmware.


Screenshots

Custom firmware splash / boot screen

INVESTEGATE Custom Firmware v1.0 splash screen on Original Prusa MK3.5S

Experimental menu - custom mod options

Custom Experimental menu with probe X and Y position settings

Custom Experimental menu with load and unload tuning settings

Custom Experimental menu with M500 tuning reset option

Experimental menu - Prusa developer options

Prusa developer options shown in green in the settings menu

Prusa developer hardware options shown in green

Color meaning:

  • Orange = custom options from this firmware mod
  • Green = Prusa developer options
  • Red = planned / future untested options, not used in v1.0

All orange options included in v1.0 were tested thoroughly on my own setup. I did not find any errors during testing.


Main features in v1.0

  • Direct M851 X/Y controls from the Experimental menu
  • Reset probe position
  • Initial insert length
  • Fast load length
  • Unload length
  • Unload cooling retract
  • Unload ramming scale
  • Reset load/unload
  • Persistent saving of custom tuning values via M500
  • Enable EEPROM save
  • Reset M500 tuning
  • Optional print finish melody
  • M600 / filament change behavior improvements
  • Safer M500 / M501 / M502 / M503 / M851 behavior

Example for LGX Shortcut

Stock Prusa default:

M851 X23.00 Y5.00

My Bondtech LGX Shortcut target:

M851 X23.00 Y12.00

Important:

Do not copy another printer’s Z / Live-Z value.

Example only:

M851 X23.00 Y12.00 Z

Your Z value must be calibrated on your own printer.


Recommended starting values for LGX / LGX Shortcut

Probe X position: 23
Probe Y position: 12
Initial insert length: 15 mm
Fast load length: 10 mm
Unload length: 45 mm
Unload ramming scale: 10 %
Unload cooling retract: 7 mm
Print finish melody: SURE :D 
Enable EEPROM save: user preference / advanced use

Useful command after flashing to check your EEPROM settings:

M503

Persistent M500 storage

The custom tuning values can be saved persistently via M500.

This means the custom menu values do not have to be re-entered after every reboot.


What is not included in v1.0

v1.0 does not include:

  • No heater / thermistor profiles
  • No hotend temperature limit changes
  • No extruder current menu
  • No microstep switching menu
  • No motion limit profile system
  • No automatic extruder profile selection

I kept v1.0 focused on the features I could properly test on my own printer.


Revo note

Revo should also work since stock firmware 5.2.2, so this mod is not required just for Revo.


Test status

All custom orange menu options included in v1.0 were tested thoroughly on my own setup. I did not find any errors during testing.


Future development / testers wanted

For future versions, I may look into:

  • Better third-party extruder profiles
  • Possible hotend / thermistor support
  • More motion / acceleration related controls
  • Better UI grouping

But I do not want to add safety-critical features like heater, thermistor or high-temp support without real hardware testing.

If anyone here is running a modified MK3.5 / MK3.5S setup and wants to test, review code or contribute, feedback would be very welcome.


Download

Release v1.0:
https://github.com/INVESTEGATE/Prusa-MK3.5-MK3.5S-Custom-Firmware/releases/tag/v1.0

Firmware file:

mk3.5_firmware_6.5.3_MODv1.0.bbf

Source code:
https://github.com/INVESTEGATE/Prusa-MK3.5-MK3.5S-Custom-Firmware

Full write-up:
https://investegate.de/prusa-mk35-mk35s-custom-firmware-v1-0/


Important warning

This is unofficial custom firmware. Use it at your own risk.

Before flashing:

  • Save your current M503 output
  • Save your M851 X/Y/Z values
  • Save your Live-Z / First Layer Calibration value
  • Save your M92 E, M906 E and M603 values if relevant

After flashing:

  • Check M503
  • Check M851
  • Check M603
  • Test filament load
  • Test filament unload
  • Test M600 filament change
  • Run a first layer check
  • Run a small test print before normal use

For custom firmware flashing on MK3.5 / MK3.5S, the appendix seal on the xBuddy board must be broken first according to Prusa’s official instructions.

Prusa custom firmware / appendix seal guide:
https://help.prusa3d.com/article/flashing-custom-firmware-core-one-l-core-one-mk4-s-mk3-9-s-mk3-5-s_814967

According to Prusa, breaking the appendix seal does not void the printer warranty, but unofficial custom firmware is still used at the user’s own risk.

Thanks to everyone sharing MK3.5 firmware modding information. This release is only a first step, but maybe it is useful for others working with modified MK3.5 / MK3.5S setups.

Posted : 03/05/2026 3:32 pm
1 people liked
Share: