Power loss recovery and Power Panic: resuming a 3D print after an outage
Power loss recovery saves where a print was when the mains power fails, so the printer can reheat and carry on from that point when power returns. Prusa calls it Power Panic. It works best after short outages. After a long one, the part may have cooled, shrunk or come off the bed, and you'll usually see a visible line where the print resumed.
- Don't touch the print or move the axes by hand. Most printers trust their saved Z height instead of re-homing Z.
- Power on and look for the resume prompt (Bambu
0300-8007, Prusa Power Panic, CrealityCM0115, Marlin "Power Outage"). - Check the part is still stuck down and that no blob or loose strand sits in the nozzle's path.
- Resume and watch the first 10 minutes, as Prusa recommends.
- If the part has moved or the resume fails, cancel. A shifted part can't be saved, but the bottom half can often be finished with a glue-on top (see below).
How power loss recovery works
Every system does three things: notice the power is gone, save the print position, and offer to resume. The difference is how quickly each one notices.
- Hardware detection (Prusa, Bambu Lab, Marlin with a sensor pin). A circuit watches the incoming voltage. When it drops, the printer cuts the heaters and uses the energy left in its capacitors to save its position. Prusa printers also lift the print head away from the part.
- Periodic saving (Marlin without a sensor). The printer writes its progress to the SD card as it prints, once per layer by default. After a power cut it resumes from the last save, so it usually reprints roughly the last layer.
On resume, the printer reheats, homes X and Y, and restores Z from memory rather than homing it, because homing Z would drive the nozzle into your part. That's why moving the bed or gantry by hand while the power is off can ruin the resume.
Power loss recovery by printer brand
| Printer / firmware | What it's called | How it works | What you'll see |
|---|---|---|---|
| Prusa MK3S+, MK3.5, MK3.9, MK4, MK4S, CORE One, XL | Power Panic | A sensor detects the mains drop, shuts off the bed and nozzle heaters, and uses capacitor energy to store the position and lift the head. After a very short blip it carries on by itself. It doesn't trigger if you switch off at the PSU switch. | Resume prompt on power-up. #XX808 (e.g. 13808 MK4, 31808 CORE One, 17808 XL) warns that the bed cooled and the part may have detached. |
| Bambu Lab (confirmed by Bambu for the A1, P1 and H2D) | Power Loss Recovery | A voltage monitor and capacitor bank save axis positions, extruder position, the G-code line, temperatures and AMS state. On resume it homes X and Y, keeps the stored Z, reheats and primes. It doesn't work during the first layer. | 0300-8007: "There was an unfinished print job when the printer lost power." 0300-400D: resume failed after power loss. |
| Creality OS (K1, K2, Hi series) | Resume printing | Offers to continue the interrupted job when the printer restarts. | CM0115: "Detected unfinished task, do you wish to continue printing." |
| Marlin (Ender 3 and many budget printers) | Power-loss recovery | Firmware option POWER_LOSS_RECOVERY. Saves progress to a file on the SD card once per layer, or on the outage itself if a power-loss sensor is wired. Only works for prints from the printer's SD card or USB drive. |
"Power Outage" screen with Resume Print or Stop Print. |
| Klipper (Voron, RatRig and other Klipper builds) | None in mainline Klipper | Mainline Klipper has no built-in power loss recovery. Some printer makers add their own, so check your printer's documentation. | Nothing on restart; use the manual rescue methods below. |
If you see a code that isn't listed here, look it up in the 3D printer error code lookup.
Prusa #XX321 on startup (13321 MK4, 26321 MK4S, 31321 CORE One) reads "Power panic detected on startup. Check power panic cable." That's a wiring fault in the Power Panic circuit, not an outage. Check the cable between the PSU and the board.
What to do after a power outage, step by step
- Leave everything alone. Don't pull the part, push the bed or move the print head while the power is off.
- Wait for stable power. If the lights are flickering, wait a minute before switching on so a second drop doesn't hit mid-resume.
- Power on and read the screen. Look for the resume prompt or one of the codes in the table above.
- Inspect the part. Press gently on a corner to make sure it's still attached. If it has lifted or shifted even slightly, the new layers won't line up.
- Clear the nozzle path. Remove any blob or strand sitting on top of the part that the nozzle could hit.
- Accept the resume. Let the printer reheat, home X and Y and prime.
- Watch the first 10 minutes. Prusa recommends staying nearby for about 10 minutes. Stop if the nozzle prints in mid-air or drags into the part.
- Expect a seam. A visible line at the resume height is normal; sand or fill it afterwards if it matters.
Material matters. Bambu Lab notes that PETG and TPU tolerate a pause well, PLA may detach as the bed cools, and ABS or PC can warp. An enclosed chamber keeps the part warmer for longer, and a glue stick helps it stay put.
The power flickers off for two seconds during a print on a Prusa CORE One. What happens?
Prusa's Power Panic switches off the heaters and stores the position the moment it detects the drop. For a very short failure, Prusa says the printer will attempt to continue printing immediately without waiting for you.
Turning on power loss recovery in Marlin
Marlin's feature only works if POWER_LOSS_RECOVERY was enabled when the firmware was built, and even then Marlin's default leaves it switched off until you turn it on (printer makers sometimes change that default).
If your printer has a "Power Outage" option in its settings menu, the feature is compiled in.
M413 S1 ; turn power-loss recovery on
M500 ; save so it stays on after a restart
M413 ; report whether it's on
M1000 ; resume a recovered job from a host, if the screen prompt isn't available
- SD or USB-drive prints only. Jobs streamed from OctoPrint or another host over USB can't be recovered by Marlin.
- Leave the card in. The card must be in the printer when it boots, and renaming the file breaks the resume.
- Know what
M81does. Marlin deletes the recovery file whenM81powers the printer off. That's what you want at the end of a print, but a job stopped that way can't be resumed. - Belt and braces: adding
M413 S1to your slicer's start G-code makes sure it's on for every print.
Why can't Marlin resume a print that was streamed from OctoPrint over USB?
Marlin's recovery works by saving its place in a file on the printer's own SD card or USB drive. When a host streams the job line by line, the printer never has the file, so there's nothing to reopen after a power cut.
When resume fails: symptoms and fixes
| Symptom | Likely reason | What to do |
|---|---|---|
| No resume prompt at all | Feature off, the job was streamed over USB, the outage hit during the first layer (Bambu), or the card or file changed | Use a manual rescue below; turn the feature on for next time |
| Part came off the bed or shifted | The bed cooled and the part shrank or released | Cancel. Try a glue-on top if the part is intact |
| Nozzle prints in mid-air | Z moved during the outage, or the resume point was too far back | Stop; re-measure the height and use a manual rescue |
| Nozzle drags into the part or knocks it off | A blob or curled edge sits in the path, or Z drifted down | Stop immediately; clear the obstruction before trying again |
Bambu 0300-400D | Resume failed after power loss | Cancel the job and use a manual rescue |
Prusa #XX808 cold-bed warning | The bed cooled during the outage | Check the part is attached before you continue |
How to rescue a print when resume isn't possible
If the part is still intact and stuck down, you have two options. The first is easier and works on any printer.
Option 1: print the missing top and glue it on
- Measure the printed height with calipers, at the highest complete layer.
- Cut the model at that height with a flat cut along the Z axis, using your slicer's cut tool or the model splitter below. Skip connectors or pegs, because the half you already printed has no matching holes.
- Print the top section on its own.
- Glue the two halves with a glue suited to the material, then sand the seam.
Option 2: restart from a layer in the G-code (advanced)
This edits a copy of the sliced file so the printer starts at the layer where it stopped, printing onto the part that's still on the bed. It works only if the part hasn't moved, and only if you're comfortable reading G-code.
- Find the stopping layer. Measure the part height, then find the matching layer and its Z value in the G-code viewer below.
- Make a copy of the file. Never edit your only copy.
- Delete everything between the start G-code and that layer, and remove the homing and bed-levelling moves that would touch the part.
- Add a short resume header like the example below, using your own temperatures and measured height.
- Print it with your hand near the power switch, ready to stop it if anything looks wrong.
; resume header for an edited COPY of the file (Marlin)
G92 Z12.40 ; the nozzle is resting at the measured height
G1 Z14.40 F600 ; lift 2 mm (measured height + 2) before heating
M140 S60 ; bed temperature from your original file
M104 S210 ; nozzle temperature from your original file
M190 S60
M109 S210
G28 X Y ; home X and Y only; never home Z onto the print
G92 E0 ; reset extrusion before the first resumed layer
This assumes the nozzle hasn't moved since the outage. On Klipper, moves on an unhomed axis are refused, so replace the G92 Z line with SET_KINEMATIC_POSITION Z=12.40, which needs enable_force_move: True in a [force_move] section of printer.cfg.
Watch the first moves closely. A wrong Z value can drive the nozzle into the part or the bed. If you're unsure, use the glue-on method instead.
Should you use a UPS for your 3D printer?
Built-in recovery covers most short outages, so a UPS (uninterruptible power supply) is optional. It's worth considering if your power cuts out often, or if you run long prints in materials that warp or detach when they cool.
- Size for the peak, not the average. Heat-up draws far more power than steady printing. Check the maximum power on the printer's spec sheet or rating label and choose a UPS rated above it in watts.
- Prefer pure sine wave output. It's the safer choice for printers with active-PFC power supplies, which can shut down when a cheaper simulated-sine UPS switches to battery.
- Use the maker's runtime chart. Look up runtime at your printer's average printing power; real runtime drops sharply at high loads.
- Keep built-in recovery switched on. A UPS only buys time. If a long outage drains the battery, the printer's own recovery still has to take over.
Frequently asked questions
Does my 3D printer have power loss recovery?
Most current printers do. Prusa calls it Power Panic, Bambu Lab calls it Power Loss Recovery, and Creality OS shows a resume prompt after a restart. On Marlin printers it is a firmware option that may need switching on with M413 S1. Mainline Klipper has no built-in power loss recovery.
How do I resume a 3D print after a power outage?
Leave the print and the axes untouched, power the printer back on and accept the resume prompt. Check the part is still stuck to the bed first, then watch the first few minutes after it restarts.
Why is there a line where my print resumed?
While the power is off the part cools and shrinks slightly, and the nozzle has to reheat, re-prime and find its place again. Bambu Lab notes that you should expect a visible line or small blob at the resume point.
Does power loss recovery work when printing from OctoPrint?
Not on Marlin. Marlin's power-loss recovery only works for prints running from the printer's own SD card or USB drive, because the printer needs the file to resume. Jobs streamed over USB from a host can't be resumed this way.
Do I need a UPS for my 3D printer?
Usually not, because built-in recovery handles most short outages. A UPS makes sense if outages are frequent or you run very long prints, but it must be rated for the printer's peak power during heat-up, not just its average.
Related articles
Sources & further reading
- Prusa Knowledge Base — Power Panic, Heatbed cooled down during the power outage and Power panic error on startup
- Bambu Lab Wiki — Power loss recovery and Error codes
- Creality Wiki — Creality OS error codes
- Marlin firmware — Power-loss recovery and M413
- Klipper — G-code reference (SET_KINEMATIC_POSITION)
Tools for thisAll tools
Watch it doneVideo library
Thanks! We read every note and use them to decide what to update next.