Custom Firmware v1.0 for MK3.5 / MK3.5S – M500 Storage, M851 X/Y, Load/Unload Tuning
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
Experimental menu - custom mod options
Experimental menu - Prusa developer options
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.