github prusa3d/Prusa-Firmware-Buddy v7.0.0
7.0.0 Firmware for Prusa CORE One L+, CORE One L, CORE One+ (Gen 2) INDX, CORE One INDX, CORE One+ (Gen 2), CORE One, XL+, XL, MK4S, MK4, MK3.9S, MK3.9, MK3.5S, MK3.5, MINI

latest releases: v8.0.1, v7.0.1, v8.0.0...
4 hours ago

Summary

  • New features

    • HT hotend support with automatic hotend detection [C1/C1L] (not INDX)
    • PPS and PPA filament presets for the HT hotend [C1/C1L]
    • PVA and BVOH filament presets [6.9.2]
    • Filament color support
    • Tool mapping presets and Smart mapping
    • Automatic Z-axis alignment on uneven bed [C1/C1L/INDX]
    • Runout Reaction setting for instant or delayed runout handling (#5423)
    • Reworked tool mapping screen [MMU] [6.6.0]
    • Filament Sensor Calibration in Calibrations & Tests [MINI] [6.5.1]
    • Dedicated screens for emptying the waste bin during a print [INDX]
    • Redesigned error screens (BSOD/RSOD) [MINI] [6.5.1]
  • Changes and improvements

    • New versioning policy
    • Bed now moves further down after finishing, pausing or stopping a print [6.9.0] [C1/C1L]
    • Reorganized Tune menu [6.9.0]
    • Tool mapping is now preserved when reprinting a job [6.9.0]
    • New Customize button for tweaking a loaded filament
    • Stuck filament dialog now offers Ignore and Disable options [6.9.0]
    • Improved Nozzle Wiper cleaning [6.10.1]
    • Parking now lifts the Z axis faster [6.9.1, 6.10.2]
    • Heater selftest now lowers the bed further to leave room for hands [C1/C1L] [6.9.1]
    • Chamber vents now close automatically at the end of a print [6.9.0]
    • Filament sensor selftest now detects a disconnected sensor [6.9.0]
    • G-code lines sent over USB/serial that are too long now show a warning
    • PrusaLink file downloads now keep long file names
    • Prusa Connect now shows changed chamber, fan and light values within seconds
    • MMU filament menu now shows the loaded filament and its color [MMU]
    • Settings from firmware older than 5.0.0 are no longer migrated [MK4 family/MINI] [6.6.0]
    • Immediate stop on filament runout [MK4 family/MINI] [6.8.1]
    • Reorganized menus [MK4 family/MINI] [6.8.1]
    • Improved filament change between different materials [MINI] [6.5.7]
    • Tool offset calibration lowers the bed to 100 mm [XL+]
    • Filament compatibility checks in more places [MK4 family/MINI] [6.8.1]
    • Calibrations & Tests can continue with a single test at a time [MINI] [6.5.1]
    • Filament load and unload positions use the calibrated nozzle cleaner offset [INDX]
    • Unload All skips tools with no filament [INDX/XL/+]
    • Custom filament names may contain lowercase letters [MK4 family/MINI] [6.8.1]
  • Fixes

    • Security and robustness fixes (PSA-2026-002)
    • Fixed unreliable homing [C1/+] [6.9.1]
    • Fixed the Wi-Fi connection hanging after a communication error [6.9.1, 6.10.2]
    • Fixed the PNG thumbnail of plain G-code files not showing in Prusa Connect
    • Fixed chamber temperature serial reporting format
    • Fixed an extra blob of filament when resuming after a power failure [6.9.0]
    • Fixed settings being lost when power was cut while they were being saved [6.10.1]
    • Fixed retract or purge running on a nozzle cooled down by the safety timer [6.9.0]
    • Fixed the Not enough tools G-code check blocking prints with no way to bypass it
    • Fixed a crash when the door was opened during homing
    • Fixed wrong remaining time after resuming from a power failure [6.9.0]
    • Fixed factory reset of the HW configuration not resetting calibrations [6.9.0]
    • Fixed M340 refusing to set the syslog host when metrics were allowed [6.9.0]
    • Fixed a crash on the print preview screen
    • Fixed text overflowing on the factory reset screen
    • Fixed a crash when changing Front PTFE Length [MMU]
    • Fixed tool mapping being ignored when starting a print from Prusa Connect
    • Display glitch recovery now also works on error and boot screens
    • Fixed not saving a crash dump on a red screen error (RSOD) [6.9.0]
    • Fixed homing failing permanently after an unsuccessful homing sensitivity calibration [MK4 family]
    • Fixed not restoring the original temperature on filament runout/mid-print change [MK4 family/MINI] [6.8.1]
    • Fixed resuming with a cold tool after a filament change on another tool [INDX/XL/+]
    • Fixed Z shift after a Spool Join on an instant runout [INDX]
    • Fixed a crash when printing files with more than 1024 objects [MINI] [6.5.7]
    • The printer no longer beeps on boot in Silent mode [MK4 family/MINI] [6.8.1]
    • An upward swipe on the touchscreen is no longer registered as a tap [MK4 family] [6.8.1]

Important: a newer firmware, 8.0.0, is already available. It includes all fixes and improvements from this 7.0.0 release, plus further changes. We recommend updating directly to 8.0.0. This release is published mainly for completeness and source code availability.

This is the stable release of firmware 7.0.0 for the Prusa CORE One L+, CORE One L, CORE One+ (Gen 2) INDX, CORE One INDX, CORE One+ (Gen 2), CORE One, XL+, XL, MK4S, MK4, MK3.9S, MK3.9, MK3.5S, MK3.5, MINI, introducing support for the new HT hotend – along with new features, quality-of-life improvements, and fixes. Firmware 7.0.0 follows firmware 6.8.1 for these printers and also includes changes already released for other printers in firmware 6.9.0, 6.9.1, 6.10.1, 6.10.2 (marked with the version tag). The jump to version 7 is a result of the new versioning policy described below.

HT hotend support with automatic hotend detection

The firmware adds support for the new HT (high-temperature) hotend. With the HT hotend installed, the nozzle can be heated up to 400 °C, which allows the printers to print advanced engineering materials such as PPS or PPA.

The printer detects the installed hotend type automatically. In most cases, the detection is instant. When the reading is ambiguous – typically on the first start after installing the HT hotend, or when restarting with a warm nozzle – the boot screen shows Detecting hotend type while the detection runs, which can take up to 30 seconds.

With the HT hotend installed, the printer also:

  • Shows a Hotend burn risk warning when the door is opened while the nozzle is at 290 °C or more
  • Limits the print fan to about 30 % while the nozzle is above 300 °C, to protect the fan
  • Reminds you to check that the high-temperature idler door is installed on the Nextruder when loading PPS or PPA

NOTE: When the hotend type changes, the result of the nozzle heater test is reset. Run the test again in Control → Calibrations & Tests.

Filament color support

Loaded filaments can now carry a color. When loading a filament, the printer can ask for its color and offers a list of common colors to choose from. The color is stored with the loaded filament and shown as a swatch in the loaded filament menus and on the tool mapping screen before a print. Colors provided by the G-code (for example by M600 or M701) are applied as well.

Whether the printer asks for the color is set in Settings → User Interface → Ask Color On Load. By default, it asks only when more than one tool is enabled, i.e. with the MMU.

Custom filaments have a new Color parameter.

Tool mapping presets and Smart mapping

The tool mapping screen shown before a multi-material print now pre-fills the mapping from a selectable preset. The default preset is set in Settings → User Interface → Default Tool Mapping:

  • Smart (default) – Maps the G-code tools to slots with compatible filaments, preferring the slot with the same number when equally suitable
  • Smart+Color – Like Smart, but also matches the filament colors
  • Direct – Maps each G-code tool to the slot with the same number
  • Empty – Starts with no mapping

The Filament button on the tool mapping screen is replaced by Details, which opens a menu with the filament change and mapping options. When mapping manually, the suggested slots now avoid incompatible filaments.

Automatic Z-axis alignment on uneven bed

When mesh bed leveling detects that the bed is too uneven, which is usually caused by a misaligned Z axis, the printer now runs the Z-axis alignment automatically and repeats the bed leveling. The prompt offering the Z calibration is now shown only if the automatic alignment fails.

Runout Reaction setting for instant or delayed runout handling (#5423)

The new Settings → Runout Reaction setting controls how quickly the printer reacts to a filament runout and similar events:

  • Instant (default) – Stops the print immediately and rehomes to recover possible skipped steps
  • Delayed – Finishes the already queued moves first, as firmware versions before 6.8.1 did

Reworked tool mapping screen [MMU] [6.6.0]

The tool mapping screen shown before a multi-material print has been redesigned. It now shows the number of tools used by the G-code and explains why a mapping is not possible (for example an incompatible filament in the selected slot). The Change button is now called Remap, and aborting the print from this screen asks for confirmation.

Filament Sensor Calibration in Calibrations & Tests [MINI] [6.5.1]

Control → Calibrations & Tests now includes a Filament Sensor Calibration, which is also part of the full wizard. The printer first asks whether a filament sensor is installed; answering No skips the test. It then guides you through removing and inserting the filament and checks that the sensor reacts correctly. A disconnected sensor is reported, so that the cables can be checked.

Dedicated screens for emptying the waste bin during a print [INDX]

When the waste bin needs emptying during a print, the printer now guides you through the whole procedure with dedicated screens – parking, raising the bed, heating, purging and returning to the print. The bin-full screen shows the number of tool changes remaining. Before returning to the print, the nozzle is primed over the nozzle cleaner, so the print does not resume with an under-extruded or oozing nozzle. Outside of a print, the head stays parked after emptying.

New versioning policy

In short: versioning changes from (milestone).(major).(minor/patch) to (major).(minor).(patch).

From now on, the Buddy firmware releases follow a new versioning policy. The versions are still in the A.B.C format, but the meaning is more strictly defined:

  • C (patch) releases are dedicated strictly to small patches. Thanks to their smaller scope, they can ship faster.
  • B (minor) releases are used for bigger changes that can still be ported to existing stable releases.
  • A (major) is incremented with every release branched off the main development branch and carries all work done there until then. As a result, A version increments come much more often.

Bed now moves further down after finishing, pausing or stopping a print [6.9.0]

When a print is finished, paused or stopped, the bed now always moves down to within 50 mm of its lowest position, so the print is easier to reach. The change is most noticeable on the CORE One L, where the bed previously stayed considerably higher.

Reorganized Tune menu [6.9.0]

The Tune menu available during a print has been reorganized:

  • Nozzle and bed temperatures and the print fan stay at the top level
  • Chamber temperature, Chamber Fans, Chamber Fans Limit and Filtration Fan are now in the Temperature & Fans submenu, the same one as in the Control menu
  • The time zone settings are merged into the new Language & Time submenu
  • The new Lights submenu gives quick access to the light settings
  • The sound settings are no longer in the Tune menu; they remain in Settings → User Interface

New Customize button for tweaking a loaded filament

Previously, editing a loaded filament from the Filament → Loaded Filament menu either was not possible (system presets), or changed the user preset itself, affecting all slots loaded with it. Only filaments entered manually through the Custom button during loading could be edited for the slot alone.

The new Customize button in the Filament → Loaded Filament menu makes a slot-specific editable copy of the filament; subsequent changes affect neither the original preset nor other slots. The customized parameters only apply until the filament is unloaded.

Stuck filament dialog now offers Ignore and Disable options [6.9.0]

When the stuck filament detection triggers, the dialog now offers Ignore and Disable next to Unload. Ignore dismisses the event; Disable dismisses it and turns the stuck filament detection off. The detection can be turned back on in Settings → Stuck Filament Detection.

The printer also reacts to a stuck filament faster, in the same way as it reacts to a filament runout.

Settings from firmware older than 5.0.0 are no longer migrated [MK4 family/MINI] [6.6.0]

The firmware no longer converts settings stored by firmware versions older than 5.0.0. When updating directly from such a version, the printer starts with factory settings.

NOTE: To keep your settings, update to firmware 6.4.2 (MINI) or 6.5.7 (MK4 family) first and then to 7.0.0.

Immediate stop on filament runout [MK4 family/MINI] [6.8.1]

When a filament runout is detected, the printer now stops immediately instead of first finishing the moves that are already queued. The end of the filament is therefore not driven as deep into the printer, where it could get stuck and be difficult to remove. After stopping, the printer rehomes X and Y to recover from possible skipped steps.

The previous behavior can be restored in Settings → Runout Reaction.

Reorganized menus [MK4 family/MINI] [6.8.1]

A number of settings have been moved to different submenus, and the order of items within some menus has changed. Most menus now also show a header icon.

  • Input Shaper and Phase Stepping moved from Settings into Settings → Hardware
  • Printhead moved from Settings → Hardware up into Settings
  • Lights (formerly LEDs settings) moved from Settings → User Interface up into Settings [MK4 family]
  • Firmware Update (formerly FW update) moved from Settings into Info
  • Display Refresh Speed moved from Settings → Hardware into Settings → User Interface [MK4 family]
  • Loaded Filament is now at the top of the Filament menu
  • The Temperature menu is now Temperature & Fans
  • The Tune menu has been reorganized

Security and robustness fixes (PSA-2026-002)

In August 2026, independent security researcher Yannick Dixken (@ydixken) reported 14 findings (about 23 individual defects) in the Buddy firmware that runs our current printers. He first posted a short video of the exploit on Reddit and took it down within minutes after our community manager reached out. From then on, everything went through private channels: full write-ups,
proof-of-concept code and crash dumps from his own MK4S.

For most printers, the practical risk was low. Still, every finding was real and deserved a proper fix.

The most serious finding allowed someone to run their own code on the printer, but only if the printer was talking to a Connect server under the attacker's control. In the researcher's demonstration, he was also on the same local network. Intercepting the traffic to the official Prusa Connect was not enough: the encrypted connection held. The other findings range from crashes caused by crafted USB drives or files to defects that need physical changes inside the printer.

None of these issues can be used to attack a printer directly from the internet. None of them gives access to Prusa Accounts, passwords or payment data. We are not aware of any use of them against customers.

All findings are fixed in firmware 7.0.0 and later. One low-severity EEPROM defect, which needs physical access, is only partly fixed and we are reviewing it.

What was fixed:

  • Prusa Connect client: a long file path in a SEND_FILE_INFO command overflowed a buffer and led to code execution on the main controller; needs a printer pointed at the attacker's own Connect server, or at one without TLS (PFB-008)
  • Network stack: a host on the network could hold all network receive buffers, so PrusaLink, Connect and mDNS stopped responding while the attack lasted (PFB-012)
  • G-code queue: a 110-character G-code from a client overflowed a 96-byte queue slot (PFB-014)
  • USB / FAT filesystem: a crafted file name on a USB drive overflowed a path buffer (PFB-007)
  • Encrypted G-code (E2EE): a crafted file header caused a heap overflow when the printer read a print preview (PFB-013); integer underflows in the decryptor led to an out-of-bounds read (PFB-003); an unbounded key length made the identity-block parser read past a heap buffer before the signature was checked (PFB-004)
  • Connect file downloads: an old download path, unused by Prusa Connect since it switched to websockets, had no integrity check on print files; firmware 7.0.0 no longer includes it. Firmware updates are signed and verified and are not affected (PFB-002)
  • Transfer recovery: a crafted recovery file after power loss caused an out-of-bounds read (PFB-009)
  • MeatPack decoder: a crafted stream wrote two bytes past an output buffer (PFB-001)
  • M919/M920 commands: a 16-character argument wrote one byte past a stack buffer (PFB-005)
  • PrusaLink file names: two one-character guard defects, an out-of-bounds read and a weakened path traversal check; no demonstrated impact (PFB-006)
  • MMU protocol, EEPROM journal: an out-of-bounds read from an abnormal MMU reply, and two defects reachable only from a crafted EEPROM; one EEPROM defect is only partly fixed in 7.0.0 (PFB-011)
  • Transfers, PrusaLink, libbgcode, Connect: five smaller defects, none of them memory corruption (PFB-010)

Full details, severity ratings, the disclosure timeline and the risk assessment per setup are in Security bulletin PSA-2026-002. CVE IDs have been requested by the researcher and will be added to the bulletin once assigned. The researcher's own write-up: Never gonna print you up!

Thank you to Yannick Dixken for a careful, well-documented report, for keeping the details private while we fixed them, and for coordinating this publication with us. Found a security issue? Write to security@prusa3d.com.

Fixed not restoring the original temperature on filament runout/mid-print change [MK4 family/MINI] [6.8.1]

After a filament runout or a mid-print filament change, the printer now heats the nozzle back to the original print temperature and waits for it before resuming, instead of continuing at the default temperature of the newly loaded filament.

Don't miss a new Prusa-Firmware-Buddy release

NewReleases is sending notifications on new releases.