Printer comparison
FlashForge AD5M vs QIDI Q2
Compare hardware, build volume, printing specifications, dated prices and sources.
2 selected · all documented properties
Open these two in the interactive comparisonMore FlashForge AD5M comparisonsMore QIDI Q2 comparisons
| Property | FlashForge AD5MCOREXY | QIDI Q2COREXY |
|---|---|---|
| Identity | ||
| Brand | FlashForge | QIDI |
| Class | COREXY | COREXY |
| Identity & Market | ||
| Manufacturer & exact marketed model name (verify the exact product identity first) | Zhejiang FlashForge 3D Technology — Adventurer 5M (AD5M), single-extruder open-frame CoreXY[1][2][3] | QIDI Q2 3D Printer. Brand QIDI (traded as Qidi Tech until end-2024). Store SKU Q2001; Amazon ASIN B0FDWK8JD6. Exact legal entity on the nameplate not verified[4] |
| Release date (announcement and actual shipping) | Announced/launched 2023-09-01; shipping units reviewed by 2023-10-18[5][6] | Announced and shipping the week of 2025-08-19 → 2025-08-22. Hard timestamps: TDS PDF asset ?v=1755582794 = 2025-08-19; Shopify variant created_at 2025-08-20T16:38:44+08:00; wiki page Q2/intro-Q2 created 2025-08-20T08:43:33Z; first hands-on review 2025-08-20; retail unit in a reviewer's hands 2025-08-24; 3DPrint.com 2025-08-22: "This week, it launched the QIDI Q2"[7] |
| Launch MSRP (USD) | $399[8] | $499 standalone; $649 Combo. Launch promo $469 / $619 for newsletter subscribers until 2025-09-17[9] |
| Street price (USD; dated snapshot per entry) | Official store $299.00 (was $399.00, plus "Save an extra $50, discount auto-applied in cart" ⇒ ~$249 effective); US B2B reseller (CDW) $419.99; discount channel floor $127–$157 (AliExpress $127.12 w/ code; DealNews $139 w/ code AFFUS20, expires 2026-08-26; Slickdeals $157); mid-tier resellers $220–$239 (Slickdeals $220.15, STEMfinity $239.00)[10] | $499.00, identical on QIDI's own US store and on Amazon, checked 2026-08-21. QIDI's collection tile renders "Regular price $698.00 / Sale price from $499.00"[11] |
| Variants & sibling models — and how to tell them apart (spec-contamination risk) | 5M (this report): open frame, no camera, no filtration, no aux fan, unpopulated TVOC/servo/power-button headers on the mainboard. 5M Pro: enclosure + door/lid, built-in camera, HEPA+carbon dual-circulation filtration, auxiliary chamber fan, TVOC sensor, filtration servo, larger footprint (3Dnatives lists 380×400×453 mm). AD5X: 4-colour, different model. Robo E4: rebadged 5M.[12] | Q2 $499 (chamber heater ✔, camera ✔, 3-in-1 filter ✔, 350 W + 280 W, 18.1 kg). Q2C $379 (chamber heating "No", AI camera "No", camera/filter Optional, 350 W, 16.9 kg) — all else identical: 270×270×256, 402×438×494, 370 °C, 120 °C bed, 600 mm/s, 20 000 mm/s², load-cell leveling, bimetal nozzle. Q2 Combo $649 = Q2 + QIDI Box ($228 separately). Polar Cooler $199 add-on ([output_pin Polar_cooler], M106 P4). Larger siblings: Plus 4 $699 (305×305×280), Max4 $1,049 (390×390×340, 800 mm/s, 3rd-gen chamber), Plus5 (2026)[13] |
| Market position: superseded? successor announced? | Not superseded, and not actually abandoned. Still sold and listed 2026-08-19 in FlashForge's own nav as "Adventurer 5M — The Best Value Entry-Level 3D Printer", alongside AD5M Pro, AD5X (best seller) and the newer Creator 5 / Creator 5 Pro 4-toolhead flagships. No successor to the 5M has been announced (fresh search 2026-08-19: no "Adventurer 6", no replacement). Genuine counter-signal: 3DJake (major EU retailer) shows "Sold out — Our shop no longer sells this product", and deep discounting to ~$139 (A4) is end-of-life channel behaviour.[14][15] | Still current and in stock 2026-08-21. It is the successor to the Q1 Pro (which QIDI lists Sold Out). No Q2 successor announced; the Q2C (2025-11) is a cheaper de-featured sibling, not a replacement. QIDI has since launched the Plus5 in a higher tier, and the shared "PLUS5/Q2/Q2C" spare-part naming shows the platform is being carried forward[16] |
| Physical & Frame | ||
| Build volume X×Y×Z (mm) — advertised vs actually usable | Advertised 220 × 220 × 220 mm; measured usable 217 × 217 mm X/Y; firmware travel envelope X/Y −125 → +125 and Z −10 → 230[17] | Advertised 270 × 270 × 256 mm. Firmware travel: X position_min:-1 / position_endstop:271 / position_max:275; Y position_min:-1 / position_endstop:-1 / position_max:295; Z position_min:-2 / position_max:265. Macro limits max_x_position:270, max_y_position:270, max_z_position:260. Default usable is smaller: QIDI Studio blanks an ≈11 × 16 mm² region at the front-left corner for the filament-cutter stopper[18] |
| Machine footprint (mm) & clearance needed (cable/spool overhang) | 363 × 376 × 413 mm (excl. screen & spool holder); 363 × 402 × 448 mm (incl. screen, excl. spool holder). Manual requires ≥ 20 cm clearance front, back, left and right.[19] | 402 × 438 × 494 mm. Shipping carton 480 × 520 × 585 mm[20] |
| Net weight (kg) | 10.8 kg[21] | Net 18.1 kg; gross (boxed) 23.5 kg[22] |
| Frame construction & material | Sheet-metal / all-metal chassis with sheet-metal top cover; "CoreXY all metal structure" in retail copy[23] | Screwed steel chassis with injection-moulded plastic outer panels; CoreXY motion frame marketed as "full metal frame and bearings". Shell "Glass and Plastic"[24] |
| Enclosure: open / enclosed; panel material; door/lid | Open frame as shipped. Official Adventurer 5M Enclosure Kit, $39.99 — modular kit where "Some parts require self-printing"; claims odour containment and ABS/ASA/PC support.[25] | Fully enclosed. Front glass door (magnetic, opens ~100°); tinted glass top that slides back like a sunroof with two locking tabs; tinted plexiglass side windows; black plastic rear. Interior panels flame-retardant. Sealing strip bonded around lid perimeter and door[26] |
| Passive chamber temperature reached (if enclosed; measured values preferred) | Not published[27] | No instrumented passive (heater-off) chamber figure exists for this machine[28] |
| Kinematics & Motion Hardware | ||
| Kinematics (bedslinger i3 / CoreXY / other) | CoreXY with moving bed on Z (not a bedslinger)[29] | CoreXY — kinematics:corexy[30] |
| X-axis guide type (rods / linear rails / V-wheels; size) | Smooth linear shaft(s) with upper + lower sleeve (plain) bearings — not MGN linear rails[31] | MGN12 linear rail (QIDI: "High Hardness Linear Guide Rail")[32] |
| Y-axis guide type | Same family: linear shafts (wiki instructs cleaning "X, Y, and Z-axis linear shafts"); Y motion is CoreXY-coupled[33] | Two Ø8 mm hardened hollow linear steel shafts (one each side) in LMU8UU ball bushings[34] |
| Z-axis: leadscrew count & type, sync mechanism, anti-backlash | Three lead screws driven by one belted Z stepper; rotation_distance: 8 ⇒ 8 mm lead/rev. Single Z stepper ⇒ no motorised tilt.[35] | Two lead screws, two fully independent motors and drivers ([stepper_z] + [stepper_z1]), rotation_distance: 4 (4 mm lead), guided on Ø10 mm linear shafts. Sync is software Z_TILT_ADJUST (points 10,137 and 260,137; z_positions -15,137 / 285,137; retries:2, retry_tolerance:0.05), run at the start of every print. No anti-backlash nut documented[36] |
| Belts (type, width, e.g. Gates?) | XY "synchronous belt" (toothed), tensioned by a belt-tension adjusting screw on the printer back; CoreXY belts cross for "bi-directional tension balance"[37] | 1.5GT profile, 7 mm wide, QIDI-custom "higher tooth density". rotation_distance: 38.82 on X and Y[38] |
| Stepper motors (frame size, step angle, brand if known) | XY/Z frame size and part numbers (not published). Observed: the two CoreXY motors are not identical units ("two different-looking motors", Igor's Lab, base 5M). Firmware run currents: X 0.9 A, Y 0.9 A, Z 0.6 A (hold 0.6), E 0.8 A (hold 0.8), sense_resistor: 0.10. Extruder motor per aftermarket listing: 36 mm pancake, 2-phase, 1.8°, 2.3 V / 1 A, 10-tooth drive gear[35] | X/Y/Z: "42-48 High-Speed Motor" (NEMA 17, 42 mm frame, 48 mm body). Extruder: round NEMA 14 pancake. All full_steps_per_rotation: 200 → 1.8°. QIDI publishes X/Y motor constants in-config: resistance 3.7 Ω, inductance 4 mH, holding torque 0.73 N·m, rated current 2.0 A, 200 steps/rev[39] |
| Stepper drivers (exact model e.g. TMC2209; UART/SPI; sensorless homing?) | TMC2209 on X, Y, Z, E via UART (uart_pin per driver), interpolate: True. Physical endstops (X eboard:PA15, Y eboard:PB11, Z PB15) ⇒ no sensorless homing; stealthchop_threshold present but commented out ⇒ SpreadCycle by default[40] | 5 drivers. Mainboard: 2 × TMC2240 (X, Y — software SPI, cs_pin PC12/PD2, spi_speed:200000, run_current: 1.07, stealthchop_threshold:0, sensorless homing via diag0_pin + driver_SGT:1) and 2 × TMC2209 (Z, Z1 — UART PC5/PB7, run_current: 1.07, stealthchop_threshold: 9999999999, diag_pin + driver_SGTHRS:140). Toolhead: 1 × TMC2209 (extruder — UART THR:PC13, run_current: 0.857, stealthchop_threshold: 0)[41] |
| Microstepping / interpolation settings (firmware evidence) | Microsteps: 16 on all four steppers, interpolate: True (TMC 256-step interpolation)[42] | X, Y, extruder: microsteps: 16. Z and Z1: microsteps: 128. interpolate: True on every driver[43] |
| Speed & Acceleration | ||
| Max print speed (claimed, mm/s) | 600 mm/s (product page "Max Printing Speed") vs 10–300 mm/s ("Printing Speed", manual §1.2, with 600 mm/s assigned to *travel*) vs 200 mm/s ("Max Print Speed: 200 mm/s (but optimal quality at 60-100 mm/s)", FlashForge UK blog FAQ)[44] | 600 mm/s (QIDI words it precisely as "Max Speed of Tool Head")[45] |
| Recommended/typical print speed | Manual 10–300 mm/s; reviewers' working range 200–300 mm/s, quality profiles 250–400 mm/s; FlashForge UK FAQ suggests 60–100 mm/s for "optimal quality"[46] | QIDI FAQ: ~300 mm/s for high-speed PLA/ABS. Actually achieved on stock QIDI Studio profiles (fran6p, per-material averages): PLA ~140–230, TPU 95A ~80, PETG-GF ~200, ABS ~280, PET-CF ~220, PAHT-GF ~170 mm/s. Tom's Hardware real jobs averaged 45–170 mm/s[47] |
| Max travel speed | 600 mm/s claimed and firmware-limited[48] | 600 mm/s — max_velocity: 600 is global and therefore also the travel ceiling. Z: max_z_velocity: 20. The fastest move anywhere in the shipped macros is F30000 = 500 mm/s (a single G0 X260 Y5 F30000 park move at the end of PRINT_START); every other rapid is F18000–F20000 (300–333 mm/s)[49] |
| Max acceleration (claimed, mm/s²) | 20 000 mm/s²[50] | 20 000 mm/s²[51] |
| Firmware velocity limit (`max_velocity` or Marlin equivalent — exact value) | Max_velocity: 600 (plus max_z_velocity: 25)[52] | Max_velocity: 600[53] |
| Firmware acceleration limit (`max_accel` / `DEFAULT_MAX_ACCELERATION` — exact value) | Max_accel: 20000 (plus max_z_accel: 500, max_accel_to_decel: 5000)[54] | Max_accel: 20000; max_z_accel: 500. QIDI's M204 override additionally forces ACCEL_TO_DECEL = ACCEL / 2 on every slicer-emitted M204; QIDI's own macros run M204 S10000 (→ accel-to-decel 5000) and M204 S5000 during nozzle cleaning[55] |
| Jerk / square-corner-velocity setting (exact value) | Firmware default square_corner_velocity: 25; but FlashForge's own slicer profile emits jerk 9 (machine_max_jerk_x/y = 9, with emit_machine_limits_to_gcode = 1), and both community mods force SCV = 9 because stock SCV is broken[56] | Square_corner_velocity: 8 mm/s (Klipper default 5). Extruder instantaneous_corner_velocity: 10.000[57] |
| Max volumetric flow claimed (mm³/s) | 32 mm³/s ("32mm³/s High Flow Nozzle") vs FlashForge's own slicer profiles capping PLA 25 mm³/s / PETG 12 mm³/s[58][15] | QIDI publishes no headline flow figure. The operative vendor claims are the QIDI Studio filament caps observed on a retail machine: PLA silk 8, PLA generic 15, TPU 95A-HF 4, generic PETG 12, ABS 25, PET-CF 14, PAHT-GF 10 mm³/s[59] |
| Max volumetric flow independently measured (mm³/s, method) | Not published[27] | No CNC-Kitchen-style stepped-flow / extrusion-ratio test of the Q2 exists in any source found[60] |
| Real-world speed benchmarks (e.g. Benchy time from third-party tests) | 3DBenchy on the base 5M, same reviewer, three profiles — the only apples-to-apples set that exists: 14 min 09 s (modified/speed G-code), 26 min 09 s ("speedboat rules"), 33 min 28 s (normal 0.20 mm profile). Others: 26.8 min (TechGearLab, base); 31 min speed / 52 min quality (printer-hub, base); ~14 min (owner, base). Non-Benchy: Clearance Spinner 1 h 05 m, Z-wobble test 45 m 43 s (Igor's Lab, base); large model 6 h 52 min (Tom's, Pro); full-volume 220³ ASA array 24 h 44 min (3DPrint.com, Pro)[61][62] | Benchy, three independent runs: 25 min total = 17 min printing + ~8 min pre-print routine (fran6p, QIDI Studio "fast Benchy"); ≈18 min (3DWork); 20 min PLA (AndroidPCtv, who also logged an 18 min ABS print). Tom's Hardware jobs: ABS-GF propeller 1 h 41 m @150 mm/s; PA11-CF vice 2 h 44 m @100 mm/s; PolyMax PC screw ~1 h @75 mm/s; NylonG flour bomb ~10 h over two plates @150 mm/s; TPU Koosie 5 h 17 m @45 mm/s; riser plates ~11 h each @170 mm/s[63] |
| Vibration Compensation / Input Shaping | ||
| Input shaping supported? Implementation (Klipper IS / Marlin ZV / proprietary) | Yes — genuine Klipper input shaping, with [input_shaper] and [resonance_tester] in the stock config[64] | Yes — stock Klipper [input_shaper] + [resonance_tester], not a proprietary re-implementation[65] |
| Accelerometer: present? model (ADXL345 / LIS2DW12 / …), location(s), count | ADXL345, one unit, permanently mounted on the toolhead board (eboard), software SPI, rate: 800, axes_map: x, y, z[66] | One (1) accelerometer: an ST LIS2DW-family part (LIS2DW12), soldered on the A-10 toolhead board. Software SPI on the toolhead MCU: cs_pin:THR:PA10, sclk THR:PA5, mosi THR:PA7, miso THR:PA6, axes_map: y, z, -x[67] |
| Calibration mode: automatic per-print / user-run routine / factory-fixed values | User-run routine from the touchscreen — not per-print, not factory-fixed. Results written back to printer.cfg by Klipper SAVE_CONFIG.[68] | Not per print. Run once at commissioning and on user demand. PRINT_START calls AUTOTUNE_SHAPERS, which is a macro with an empty gcode body (variable_autotune_shapers: 'ei' and nothing else) — it performs no measurement. Real calibration paths: the ~15-minute first-boot self-check, or the user macro M901 (m104 S0 → G28 → SHAPER_CALIBRATE → SAVE_CONFIG). SHAPER_CALIBRATE is renamed to RESHAPER_CALIBRATE and wrapped with FREQ_START=20 FREQ_END=150[69] |
| Shaper type & default frequencies (firmware evidence preferred) | Shipped (commented) defaults: 2hump_ei @ 47.4 Hz X, mzv @ 46.2 Hz Y. Measured on a real unit: mzv @ 52.4 Hz X, zv @ 47.0 Hz Y. xblax's own AD5M calibration: mzv @ 52.5 Hz X, zv @ 50 Hz Y.[70] | The published SAVE_CONFIG block records shaper_type_x = 3hump_ei, shaper_freq_x = 68.8; shaper_type_y = mzv, shaper_freq_y = 42.2. Search parameters: accel_per_hz: 150, max_smoothing: 0.25, probe point 135, 135, 10; sweep range forced to 20–150 Hz by the wrapper macro[71] |
| Effectiveness evidence (ringing/VFA tests from reviews) | Clean PLA at 0.2 mm / 250 mm/s; at full 600 mm/s "some minor surface artifacts are visible on close inspection"; 3DPrint.com (Pro) "virtually no skew", consistent/accurate/square; TechGearLab Print Quality 6.7/10[72] | Mixed, and the strongest source is negative. Sanladerer: "The parts have some VFAs visible — the printer doesn't do the motor microstepping matching thing with the drivers"; with QIDI's corrective slowed profile "ringing and VFAs show up more visibly". Positive counterweights: AndroidPCtv "layers are well defined and no errors are visible"; InsideTheGeek "surfaces bien lisses, peu de résonances"; fran6p rates print quality 9.6/10 after re-running IS himself[73] |
| Extrusion Pressure Control | ||
| Pressure advance (Klipper) / linear advance (Marlin) supported? | Yes (Klipper pressure advance)[74] | Yes — Klipper pressure advance[75] |
| Enabled by default? Factory value? (firmware evidence) | Yes, on by default: pressure_advance: 0.035[76] | Yes: pressure_advance: 0.032, a single global value applied to all materials[77] |
| Auto-calibration for PA/LA? How does it work? | No. Stock calibration menu offers leveling, vibration test and PID only.[78] | None on the printer. There is no PA macro anywhere in gcode_macro.cfg and nothing in PRINT_START. What QIDI provides instead is a tuning-tower generator in QIDI Studio with written instructions on where to save the result — a manual, user-driven workflow[79] |
| Any physical nozzle pressure / load-cell extrusion sensing? | No. A load cell exists but is a bed-probe sensor, not an extrusion-force sensor.[80] | No. A load cell exists but is wired only as the Z probe, via QIDI's proprietary [probe_air] section (a CS1237 24-bit ADC reading the nozzle-contact strain gauge). It is never read for extrusion force[81] |
| Related settings (PA smooth time etc., firmware values) | Pressure_advance_smooth_time: 0.040; max_extrude_only_distance: 1500.00; max_extrude_cross_section: 80; [firmware_retraction] absent from stock; Marlin shim M900 K… → SET_PRESSURE_ADVANCE[82] | Pressure_advance_smooth_time: 0.03 (Klipper default 0.040). Also max_extrude_cross_section: 500, instantaneous_corner_velocity: 10.000, max_extrude_only_distance: 1000.0, max_extrude_only_velocity: 5000, max_extrude_only_accel: 5000, smooth_time: 0.000001 (extruder temperature smoothing, effectively disabled)[83] |
| Extruder | ||
| Type (direct drive / bowden) & design name | Direct drive, single extruder, proprietary FlashForge "Extruder Unit (Filament Feeder)" with clip-in nozzle assembly[84] | Direct drive, dual-drive-gear extruder integrated into the toolhead; no QIDI product name for the design. Driven by a round NEMA 14 pancake motor. Toolhead overall size 54 × 88 × 120 mm[85] |
| Gear ratio & drive gear material | (not published). Inference only: rotation_distance: 4.7 with a 10-tooth motor pinion implies roughly a ~5:1 reduction; material not stated anywhere.[86] | 1517:170 = 8.9235:1 in firmware (QIDI rounds it to "8.9:1"); rotation_distance: 53.7. Gears are hardened steel, both driven[87] |
| Filament diameter | 1.75 mm[88] | 1.75 mm[89] |
| Filament path (PTFE-lined? all-metal? reverse bowden?) | External PTFE filament guide tube from the rear-mounted spool into the extruder (reverse-bowden feed to a direct-drive head); hotend assembly includes a "throat tube"[90] | Reverse-bowden PTFE from the external side spool to the toolhead, then a short all-metal path through the extruder into the hotend. The hotend's own ~10 mm steel filament-inlet tube feeds a ~10 mm heatbreak — no PTFE in or near the melt zone. A filament cutter sits between the extruder and the hotend[91] |
| Claimed extrusion force / grip (if published) | Not published[27] | QIDI publishes no extrusion-force or grip figure, and no reviewer measured one[92] |
| Auto load/unload routine | Yes, UI-driven; timing changed in firmware 2.7.8 ("Change the filament loading/unloading time")[93] | Yes, screen- and macro-driven. M604 = load (heat → G1 E80 F400), M603 = unload (heat → retract 10 mm → cut filament → retract 60 mm → nozzle wipe). With a QIDI Box, E_LOAD SLOT=16 / E_UNLOAD SLOT=16 are used instead, and runout can trigger AUTO_RELOAD_FILAMENT when auto_reload_detect = 1[94] |
| Hotend & Nozzle | ||
| Hotend design (proprietary/standard; quick-swap mechanism?) | Proprietary integrated "Nozzle Assembly": nozzle + heater + thermistor + throat + heat block + heatsink as one replaceable unit, tool-free, released by pressing two red plastic clips/buckles. FlashForge claims "detached in just 3 seconds without any tools" / "patent-designed".[58][35] | Proprietary QIDI "Bimetal hot end" — a ceramic-heater cartridge assembly. Swap procedure is 2 connectors + 2 screws after removing the front and rear covers; no tools-free quick-swap. Sold as a complete unit for $34.99[95] |
| Max nozzle temp claimed AND firmware max temp limit (both values) | Claimed 280 °C; firmware [extruder] max_temp: 350; [verify_heater extruder] max_error: 290; the printer's own settings file records extruderType: "0.4-300"[96] | Claimed 370 °C. Firmware limit max_temp: 375 in [extruder] (with min_temp: 0, min_extrude_temp: 175). Runaway guard [verify_heater extruder] max_error: 120, check_gain_time: 20, hysteresis: 2, heating_gain: 2[97] |
| Heater cartridge power (W) | 50 W claimed. Heat-up performance measured: 200 °C in 46 s vs FlashForge's claimed 35 s[58][98] | No wattage published or measured for the hotend heater[99] |
| Temperature sensor type (thermistor model / thermocouple) & rating | NTC thermistor, Klipper sensor_type: Generic 3950 (100 kΩ B3950-class), read on eboard:PA0[100] | K-type thermocouple read by a MAX6675 SPI converter. sensor_type: MAX6675, sensor_pin: THR:PB12, spi_bus: spi2, spi_speed: 2000000. QIDI's driver applies a deliberate +3 % scale trim: MAX6675_MULT = 0.25 * 1.03 with the in-source Chinese comment "提高百分之3温度,使实际温度降低" (raise the reported temperature by 3 % so the actual temperature comes down)[101] |
| Stock nozzle size & sizes included in box | 0.4 mm installed; no spare nozzle — packing list is printer, filament, power cable, screen, spool holder + 2 screws, grease, glue, diagonal pliers, unclogging pin tool, screwdriver, Allen wrenches 2.0/2.5/3.0[102] | 0.4 mm fitted; no spare nozzles in the box (the accessory list contains a "Spare Parts Kit" whose contents QIDI does not enumerate). Optional sizes 0.2 / 0.6 / 0.8 mm[103] |
| Stock nozzle material (brass / hardened steel / plated copper / composite tip) | 0.25 mm and 0.4 mm = stainless steel; 0.6 mm and 0.8 mm = "high-strength steel"[104] | Bimetal with a hardened-steel tip. Upgrade available: tungsten-carbide bimetal[105] |
| Nozzle mount standard (V6 / MK8 / Unicorn / proprietary) & swap procedure | Proprietary clip-in cartridge — not V6, not MK8, not Unicorn. Swap = squeeze both clips, pull, click new one in, then re-level[106] | Proprietary screw-in "all-in-one" nozzle assembly, ≈53 mm overall (the Plus 4 equivalent is ≈51.5 mm — not interchangeable). Swap: cut filament → purge → remove silicone sock (heat to 220 °C if stuck) → keep nozzle at 220 °C → socket wrench → fit new nozzle → torque 1.5–2.0 N·m hot → cool → refit sock[107] |
| Available nozzle sizes/materials (official + third-party compatibility) | Official 0.25 / 0.4 / 0.6 / 0.8 mm, $35 each. Third-party: ceramic-heater hardened-steel and copper-heatsink clones (Amazon, Innocube3D), plus a Bambu X1 hotend adapter mod[108] | Official only. Hardened-steel bimetal 2-pack $29.99 in 0.2 / 0.4 / 0.6 / 0.8 mm; tungsten-carbide bimetal single $59.99 in 0.4 / 0.6 / 0.8 mm. Both variant lists read "PLUS5/Q2/Q2C". Silicone socks 5-pack $6.99. Third-party compatibility[109] |
| All-metal hotend? PTFE near melt zone? | Not published[27] | All-metal (plus ceramic). No PTFE anywhere near the melt zone. Assembly, front to back: hardened-steel-tipped nozzle body ≈30 mm → ceramic transition ≈3 mm → heatbreak ≈10 mm → steel filament-inlet tube ≈10 mm. QIDI markets it as a "ceramic throat"[110] |
| Melt-zone / high-flow design details (CHT-style, length) | Marketed as a "32mm³/s High Flow Nozzle"; no geometry disclosed (no CHT/bi-metal/length figures)[111] | Not a high-flow design and not marketed as one. QIDI describes it as "Ceramic Plate Heating, Multi-metal" with "Only Need 40s Heating from 30℃ to 220℃", plus a "new heat dissipation module to reduce clogging". No CHT-style splitter or extended melt zone is claimed or observed. Melt-zone length not published; the nozzle body is ≈30 mm of the ≈53 mm assembly[112] |
| Heated Bed & Surface | ||
| Max bed temp claimed AND firmware limit | 110 °C (manual §1.2 + FlashForge wiki + 3DJake) vs 100 °C (FlashForge.com product page and FlashForge UK buying FAQ). Firmware [heater_bed] max_temp: 130; [verify_heater heater_bed] max_error: 120[1][44][15] | Claimed 120 °C. Firmware [heater_bed] max_temp: 125 (with min_temp: -60, max_power: 1.0, pwm_cycle_time: 0.1, PID Kp=71.231 Ki=1.218 Kd=1041.758)[113] |
| Bed heater type (DC/AC mains) & wattage | DC (24 V rail) heater, driven on mainboard pin PB9; published wattage still — but bounded by measurement at roughly 240–260 W: measured whole-machine peak 320 W while heating nozzle and bed together, minus the 50 W hotend and ~11–26 W base load[98] | 24 V DC resistive heater bonded to a 3 mm aluminium plate, fed from the 350 W 24 V PSU. Wattage[114] |
| Heat-up time to 60°C (measured preferred) | 2 min 27 s (measured, base 5M)[98] | Under 4 minutes to 60 °C from 20 °C ambient, glass lid fitted and door closed, after a bed PID calibration. Full measured curve: 60 °C <4 min · 70 °C <5 min · 80 °C <6 min 30 s · 90 °C <8 min 30 s · 100 °C <11 min · 110 °C <15 min · 120 °C <21 min[115] |
| Bed surface (material, texture, coating), single/double-sided | Powder-coated PEI flexible spring-steel plate, textured, single-sided — and it requires glue for PLA/PETG per FlashForge's own manual. Optional plates: PEI film plate (PLA/TPU glue-free) and PC sticker plate (PC/ABS/ASA)[116] | Double-sided textured PEI on a magnetic spring-steel flex plate, sitting on a magnetic base bonded to the 3 mm aluminium bed. The gold/"golden PEI" side is the one QIDI's spaghetti detection is calibrated for. Rear corners have location lips to centre the sheet[117] |
| Magnetic removable plate? Spare plate availability & cost | Yes — flexible removable steel plate on a magnetic bed. Official accessory line includes "PEI Textured Build Plate" for AD5M; Partsbuilt stocks build-plate parts. Exact spare-plate price[118] | Yes, magnetic removable flex plate. Spares: Q2 Dual-sided PEI Plate $32.99 (variant "Q2/Q2C", in stock) and Q2 Dual-sided smooth Plate $49.99 (variant "Q2/Q2C", in stock)[119] |
| Bed thermal uniformity (third-party thermal imaging if available) | Measured bed temperature gradient: 2.6 °C[2] | No thermal-camera or multi-point bed survey of the Q2 exists in any source found[120] |
| Leveling & Z-Offset | ||
| Auto bed leveling: probe technology (inductive / strain gauge / load cell / touch probe) | Load cell / strain gauge under the bed — nozzle-touch probing. Stock implementation: three channel-select pins level_h1/h2/h3 (PG2/PG3/PG4), a level_clear reset pin (PD10), the gauge value read through a MAX31856 SPI ADC exposed as [temperature_sensor weightValue] … gcode_id: W, trigger consumed by [probe] pin: !PB4[121] | Load cell / strain gauge in the toolhead, using the nozzle itself as the contact sensor ("zero offset"). Read by a CS1237 24-bit ADC on the A-10 toolhead board, exposed through QIDI's proprietary Klipper section [probe_air] (sensor_type: c_sensor, sclk_pin: THR:PB3, dout_pin: THR:PB4, voltage: 4.95, delta_v: 0.08, speed: 5, lift_speed: 5, samples: 2, sample_retract_dist: 3, samples_result: average, samples_tolerance: 0.02, samples_tolerance_retries: 10)[122] |
| Mesh grid size (probe point count — firmware evidence) | 5 × 5 = 25 probe points, mesh_pps: 3, 3, algorithm: bicubic, bicubic_tension: 0.2, over mesh_min: -105,-105 → mesh_max: 105,105[123] | 6 × 6 = 36 points, mesh_min: 10,10 → mesh_max: 260,260, algorithm: lagrange, mesh_pps: 2, 2, horizontal_move_z: 5, speed: 100. KAMP adaptive meshing is layered on top (mesh_margin: 10, fuzz_amount: 0), so a small part probes only its own footprint plus 10 mm[124] |
| Auto Z-offset (nozzle-touch etc.) or manual (paper method)? | Automatic, nozzle-touch (same load cell). Stock [probe] z_offset: -0.25. Live Z trim during print in 0.025 mm steps since firmware 2.4.2.[125] | Fully automatic — "zero offset", no paper method. The nozzle taps the plate and the load cell defines Z0; the residual trim in the published config is z_offset: -0.07. Persisted via SAVE_VARIABLE VARIABLE=z_offset and re-applied by set_zoffset at every print start; save_zoffset writes it back at print end but only if the live offset is < 0.5 mm[126] |
| Manual leveling screws/knobs present? | Four screws under the bed exist (mods expose them as screws_tilt_adjust at ±94 mm, screw_thread: CW-M4), but stock firmware provides no screw-tilt routine[127] | Yes — four bed screws, declared in [bed_screws] at 30,30 / 240,30 / 240,240 / 30,240, with four helper macros (move_screw1…move_screw4) that drive the nozzle to each screw at Z0 for manual tramming[128] |
| Gantry-leveling / Z-tilt routine? | No. One Z stepper belted to three lead screws ⇒ tilt is mechanical, not motorised; no z_tilt/quad_gantry_level in stock or mod configs[129] | Yes — Z_TILT_ADJUST, run automatically at the start of every print. Two probe points 10,137 and 260,137; motor positions -15,137 and 285,137; speed: 150, horizontal_move_z: 5, retries: 2, retry_tolerance: 0.05[130] |
| Leveling workflow (forced per print? saved mesh? adaptive mesh?) | Mesh is saved (profile MESH_DATA) and re-used. Manual states "The equipment defaults to the leveling operation before each print", but firmware 2.3.6 "Cancel[led] the default checking of leveling in the print preview interface" and the manual elsewhere says PLA-only users need not level every print. Mods add adaptive/KAMP meshing.[131] | Forced every print, and it is slow. PRINT_START sequence: AUTOTUNE_SHAPERS (no-op) → DISABLE_ALL_SENSOR → heat bed → G28 → set chamber → CLEAR_NOZZLE (long purge + wipe + cool to <150 °C) → CUT_FILAMENT_1 → M104 S140 + G4 P3000 → G28 → Z_TILT_ADJUST → M190/M191 wait for bed + chamber → G4 P3000 → G29 (= BED_MESH_CALIBRATE PROFILE=kamp + SAVE_CONFIG_QD) → M109 → print. G31/G32 toggle between "mesh every print" (k=1, default) and "load saved default profile" (k=0)[132] |
| Filament Handling & Detection | ||
| Filament runout sensor (type, location) | Mechanical switch at the rear filament inlet (manual lists "Filament Detection Sensor" as external component #6). Firmware: [filament_switch_sensor e0_sensor] switch_pin: !PB14, pause_on_runout: False, event_delay: 1.0. A second, unused e1_sensor on PE1 is declared (leftover dual-extruder/AD5X provision).[133] | Mechanical switch in the toolhead, immediately above the extruder drive gears. [filament_switch_sensor filament_switch_sensor], switch_pin: !THR:PA1, pause_on_runout: True, event_delay: 3.0, pause_delay: 0.5. Runout emits M118 Filament run out and, if auto_reload_detect == 1, calls AUTO_RELOAD_FILAMENT[134] |
| Tangle/snag detection (exact mechanism, if any — do not accept marketing wording at face value) | None. There is no tangle detection on the AD5M. FlashForge's only claim is a "Filament run-out reminder".[135] | None on the printer itself. Tangle detection exists only when a QIDI Box is attached, and QIDI says so in writing: "Tangle Detection (QIDI BOX required)". No mechanism is disclosed for how the Box detects tangles[136] |
| Clog detection (mechanism, if any) | None in stock.[137] | None on the printer. The toolhead has a filament *presence* switch only; a teardown states plainly that there is no blocked-filament detection. QIDI's marketing mentions clog detection only in QIDI Box contexts[138] |
| Filament change support (M600 / UI-driven) | UI-driven load/unload/change; M25 pause recognised since firmware 2.3.6; change-pause position adjusted in 2.4.2. Stock config has no M600; mods add it.[139] | UI- and macro-driven; there is no M600. M0 and M25 are both remapped to PAUSE; PAUSE parks the head at X88/Y287, retracts 5 mm, drops the hotend to 0 and extends the idle timeout to 72 h; RESUME refuses to continue unless the runout sensor sees filament ("Please load filament"). Load/unload is M604/M603 from the screen[140] |
| Spool holder location & max spool size; drybox compatibility | External, screw-mounted on the rear panel (2 screws), feeding through a PTFE guide tube. Max spool diameter/width[141] | External spool holder on the left side, assembled from a filament extension bracket + fixing block + spool holder + holder cover. QIDI publishes no maximum spool dimensions for the printer's own holder. When feeding from a QIDI Box, supported spools are Ø195–202 mm, 70–72 mm wide. Drybox story = the QIDI Box (dries to 65 °C while printing)[142] |
| Multi-material/multi-color capability or official upgrade path | None, and no official upgrade path for the 5M. FlashForge's multi-colour answer is the AD5X; FlashForge states the AD5M "cannot be converted into an AD5X". Third-party: Co Print KCM set (documented for the 5M Pro).[143] | Official path = the QIDI Box, $228, sold bundled as the Q2 Combo ($649). 4 spools per Box, up to 4 Boxes = 16 materials; NFC auto-ID for QIDI filament; hardened-steel dual-gear feeders; built-in dryer to 65 °C that runs during printing; unit is 357 × 300 × 234 mm, 4.3 kg, 245 W. Firmware support is present but gated: [include box.cfg] ships with all four box includes commented out, and box_count = 0 by default. Independent verdict on the Box is strongly negative[144] |
| Cooling & Air Handling | ||
| Part-cooling fan(s): count, size, ducting design | One toolhead part-cooling fan ([fan] pin: eboard:PB5), ducted to both sides of the nozzle[145] | One 5015 radial blower, bottom-mounted in the toolhead, feeding dual air ducts around the nozzle. [fan_generic cooling_fan] on THR:PA8, cycle_time: 0.010, kick_start_time: 0.100, tachometer on THR:PA9 (tachometer_ppr: 2). Addressed as M106 P0[146] |
| Auxiliary part-cooling fan? | No — Pro only[147] | Yes — a large side-mounted radial fan on the right-hand chamber wall (fran6p estimates ~120 mm radial). [fan_generic auxiliary_cooling_fan] on PB15, tachometer PC4. Addressed as M106 P2[148] |
| Heatbreak/hotend fan | Yes, one — a 3010 — [heater_fan heat_fan] pin: eboard:PB4, max_power: 1.0, heater: extruder, heater_temp: 50.0[35] | One 2510 axial fan on the toolhead heatsink. [heater_fan hotend_fan] on THR:PA11, tied to the extruder heater with heater_temp: 50.0, fan_speed: 1.0, shutdown_speed: 1.0, tachometer THR:PA12[149] |
| Chamber/exhaust fan & filtration (activated carbon / HEPA) | No filtration and no chamber fan assembly on the base 5M. Config declares Pro hardware (chamber_fan PC6 with enable_pin: PC7, hardware_pwm: True; internal_fan PB8; external_fan PB6). Pro adds HEPA + activated carbon, dual internal/external circulation, with a servo flap to switch modes. Whether the two air-path fan *headers* are populated on the base mainboard is — see note.[150] | Three distinct chamber air devices. (1) Chamber heater fan: a 92 mm radial on the left wall that blows across the PTC element, drawing air in at the top and expelling at the bottom to create circulation — [controller_fan chamber_fan] on PB14, slaved to heater: chamber, tachometer PC6. (2) Chamber circulation fan: [fan_generic chamber_circulation_fan] on PA10, addressed as M106 P3 and driven to S255 automatically whenever CHAMBER == 0 at print start. (3) Rear exhaust: an 8025 axial pushing chamber air out through a 3-in-1 filter — G3 pre-filter + H12 HEPA + coconut-shell activated carbon, with pre-drilled holes for a user-fitted external duct adapter[151] |
| Electronics bay cooling | Yes — [fan_generic pcb_fan] pin: PB7, physically a 4010 blower cooling the stepper drivers; firmware 2.3.6 "Turn off the PCB fan when idle". Separately, the PSU has its own always-on fan.[35] | A 4010 axial fan on the rear controller-bay wall — [controller_fan board_fan] on PA9, slaved to stepper: stepper_z, stepper_z1, fan_speed: 1.0, shutdown_speed: 1.0. Because QIDI enables both Z steppers at boot ([delayed_gcode PRINTER_INIT]), this fan runs essentially all the time. The PSU has its own unregulated fan that also runs constantly. The controller bay is sealed from the heated chamber[152] |
| Fan control (PWM? RPM feedback? firmware evidence) | PWM software control on all fans; hardware_pwm: True only on the Pro chamber_fan. No tach/RPM feedback anywhere in the config.[153] | Software PWM with RPM feedback on four of six fans. The three [fan_generic] sections use cycle_time: 0.0100 with hardware_pwm: false and kick_start_time: 0.100; [controller_fan board_fan] sets cycle_time: 0.01 but no hardware_pwm key; [heater_fan hotend_fan] and [controller_fan chamber_fan] set neither cycle_time nor hardware_pwm (Klipper defaults apply). Tachometer inputs (tachometer_ppr: 2, tachometer_poll_interval: 0.0015) are configured on: part cooling (THR:PA9), hotend fan (THR:PA12), auxiliary (PC4), chamber heater fan (PC6). The chamber circulation fan and the board fan have no tachometer. QIDI's TDS matches: hot end / model / auxiliary / chamber-heating fans are "4-Pin PWM Fan with RPM Feedback"; motherboard fan and chamber circulation fan are "Voltage-controlled Fan"[154] |
| Electronics & Power | ||
| Mainboard model & MCU (exact chip markings if teardowns exist) | Two microcontrollers, both Nations Technology N32G455 series (Cortex-M4-class, STM32F1-pin-compatible Chinese parts) running at 144 MHz off a 12 MHz reference: mainboard = N32G455xE (/dev/ttyS5), toolhead "eboard" = N32G455xC (/dev/ttyS1), both UART @ 230400 baud, restart_method: command. Shipped MCU blobs: Mainboard-20230831.bin, Eboard-20231012.hex; vendor MCU firmware version 2.2.3 (2.1.9 on the first three releases).[155] | Three boards, three MCUs. Mainboard "X-9-3" (v1.3.0): MCU is a GD32F425 — "functionally a clone of the STM32F407", running at 168 MHz; carries 2 × TMC2240 + 2 × TMC2209 under large heatsinks, plus MOSFETs; enumerates as 1d50:614e OpenMoko, Inc. QIDI_MAIN_V2_1.0.4 (/dev/serial/by-id/usb-Klipper_QIDI_MAIN_V2_1.0.4_52A832373534350534343539-if00). Toolhead board "A-10": MCU GD32F303 (declared to Klipper as an STM32F103), on UART /dev/ttyS4 at 500000 baud, 24 V supply. QIDI Box board (if fitted): STM32F401, usb-Klipper_QIDI_BOX_V2_1.1.x[156] |
| Host computer (SoC, RAM, storage) if firmware runs on embedded Linux | Allwinner T113-S3, dual-core ARM Cortex-A7, 128 MB RAM, 8 GB eMMC, Linux 5.4-era kernel headers, armhf[157] | Separate SBC "X-9-1" (v1.5) mounted inside the chamber on the left, above the chamber heater, under a two-screw plastic cover. Rockchip RK3308B-S, quad-core ARM Cortex-A35, 408–1104 MHz (CPU max MHz: 1104.0000, BogoMIPS 48.00, aarch64), 512 MB Winbond RAM (MemTotal: 498752 kB), soldered 32 GB eMMC (29.14 GiB / 61 112 320 sectors, GPT, 6 partitions, root = /dev/mmcblk0p6 29.1 GB ext4). Wi-Fi/BT: Realtek RTL8821CS on a pigtail antenna. Also on-board: Ethernet header, screen ribbon, camera USB, links to the mainboard, toolhead and QIDI Box, and two unused FAN/LED headers[158] |
| PSU (brand, wattage, rail voltage) | 350 W (manual, vendor) internal supply with an always-on fan; 24 V rail inferred from the drop-in Mean Well LRS-350-24 swap ("same seating locations"). A component in a base 5M is marked A-350FGF-24 — but the source attributes that marking to the mainboard, not the PSU, so "the PSU part number is A-350FGF-24" is the report's inference, not an observation ⇒ for that specific attribution.[35] | 350 W, 24 V (~15 A), model CZL-350D-24, mounted under the printer with its own unregulated, always-on fan and a removable wiring cover. It feeds the boards, fans, motors and the heated bed. The chamber PTC heater is not on this rail — it is wired directly to mains and switched by an SSR[159] |
| Input voltage (110/220 V, switch or auto) | AC 100–120 V / 200–240 V, 50/60 Hz — no voltage-selector switch documented[160] | 110 V / 220–240 V AC, 50/60 Hz, region-specific models. It is not auto-ranging: the PSU has a manual two-position 230 V / 120 V selector switch, and a label on the rear panel states the factory setting[161] |
| Total rated power draw | 350 W rated; measured: 130 W steady-state PLA printing, 320 W peak during simultaneous nozzle+bed heat-up[98] | Rated 350 W + 280 W chamber heating = 630 W peak. Measured in use: ≈160 W printing PLA, 27 W idle[162] |
| Expansion headers / spare ports (fans, steppers, GPIO, USB host) | Two unused USB headers on the mainboard; unpopulated TVOC, servo, power-button and one unknown header on the base board; one USB-A host port on the printer front; Ethernet[163] | Present but undocumented. Mainboard X-9-3 carries an "Expansion Interface Signal Port" plus several unused fan/motor/thermistor headers. SBC X-9-1 has two unused FAN/LED headers, a USB-OTG/USB-C port (used for maskrom eMMC flashing), and serial-console pins. User-facing: one USB 2.0 host port on the side of the screen (gcode + offline firmware update). QIDI publishes no pinout[164] |
| Firmware & Openness | ||
| Firmware base & current version (Klipper fork / Marlin fork / proprietary) | Klipper-derived, proprietary vendor UI/app on top. Host klippy is a Klipper ~0.11-era fork; MCU firmware is a Klipper-11 build labelled 2.2.3, unchanged since Jan 2024. Latest version on FlashForge's own release-notes page: 3.1.9-2.2.3-20250807. Actual shipping firmware is far newer: Z-Mod's native-firmware index lists AD5M stock builds up to 5.1.1 (2026-04-17), and Forge-X byte-analysed series images up to 5.1.7 (2026-06-05) pulled from FlashForge's own OTA source. Linux kernel: 5.4.61, byte-identical across stock firmware 2.6.5 → 5.1.x.[165] | Klipper (QIDI fork, base ≈0.12.x) + Moonraker (QIDI fork) + Fluidd + Crowsnest, on Debian 11 bullseye. Not Marlin, not proprietary. Latest field version seen: 01.01.02.04 (2026-08); wiki documents to V01.01.02.03. Sub-firmware at.04: MCU 02.01.01.09, toolhead 02.02.01.08, Box 02.03.01.13. GitHub source releases: Q2_V1.1.0 (2026-01-05), Q2_V1.1.1 (2026-01-19)[166] |
| Source code availability (repos, GPL compliance status, last update date) | Partial compliance. FlashForge published one GPL repo for this printer: FlashForge/AD5M_Series_Klipper (GPL-3.0, Klipper 0.11.0-era, last push 2024-05-09, 81★). Its entire GitHub org is 3 repos (that one + OrcaSlicer + Orca-Flashforge). No Linux kernel, U-Boot, Buildroot or rootfs sources are published despite shipping a GPL/GPLv2 Linux 5.4.61 system — the community has to pull the matching kernel source from a third-party mirror of the Allwinner T113 vendor BSP (github.com/iLotusK9/linux_kernel_aw_t113, branch 5.4.61) to build anything against it. The published Klipper also appears not to correspond to shipped binaries.[167] | Partial, and materially non-compliant. github.com/QIDITECH/QIDI_Q2 (GPL-3.0, created 2026-01-05 — i.e. ~4.5 months after the printer shipped — last push 2026-01-19, two commits) contains klipper/klippy/ (Python host), fluidd/, part of moonraker/, and config/. It does not contain the MCU firmware source (src/, Makefile,.config), and 10 klippy/extras modules ship as compiled aarch64 binaries: air.cpython-39-…so (the probe), heater_air_core.cpython-39-…so (the chamber heater controller), cs1237.…so, hx711.…so, box_detect.so, box_extras.so, box_rfid.so, box_stepper.so, buttons_irq.so, aht20_f.so. QIDITECH/klipper has branches only for PLUS4/Q1_Pro/main (last real commit 2023) — no Q2 branch[168] |
| Root/SSH access: possible? official or community method | Possible, community-only. Two documented routes: (a) flash Z-Mod's Adventurer5M-root.tgz via USB → SSH root/root; (b) g992's method: edit flashforge_init.sh inside a firmware update archive to add a user + overwrite /etc/passwd with uid 0, then connect by telnet on port 23.[165] | Yes. The vendor-documented path is mks / makerbase + sudo su, and that is the only path anyone has demonstrated on a Q2. QIDI's own wiki walks users through connecting with "any SSH connection software" and logging in with user mks, password makerbase, then running sudo apt install …; sudo su from there gives a full root shell. Whether you can SSH in *directly as root* is on the Q2 — the one reviewer who published transcripts says he could not, but explicitly because the root password was unknown to him, not because he showed the login refused[169] |
| Moonraker / Mainsail / Fluidd or other open API available (stock vs after mods)? | Stock: none. No Moonraker, no web UI, no documented open HTTP API. All three mods add Moonraker (7125) + Mainsail + Fluidd.[170] | All stock, no mods needed. Moonraker listens on 0.0.0.0:7125 with trusted_clients covering 10/8, 127/8, 169.254/16, 172.16/12, 192.168/16, fe80::/10, ::1, plus [octoprint_compat], [history], [file_manager] enable_object_processing: True and [timelapse]. Fluidd is the shipped web UI (QIDI-modified build v1.30.4 / "1.30.5-ab46ef6"), reachable on the printer IP and on port 10088. Mainsail, Mobileraker, Obico-style clients and KIAUH all install fine[171][172] |
| Notable community firmware/mods (names, repos, what they add) | Xblax/flashforge_ad5m_klipper_mod (433★, GPL-3.0, Buildroot rootfs + upstream Klipper 0.13 + MCU reflash, full init hijack); ghzserg/zmod "Z-Mod" (418★, Apache-2.0, keeps stock Klipper, adds KAMP/PID/IS/belt spectrogram/Telegram/plugins/GuppyScreen/HelixScreen, zmod.link remote access); DrA1ex/ff5m "Forge-X" v1.4.1 (396★, GPL-3.0, extends the Z-Mod lineage, resurrection.py power-loss plugin, Feather UI, ZRAM swap, real-time Klipper scheduling)[173] | Two active mainline-Klipper projects, and one notable absence. (1) MisterSheikh/Qidi_Q2_Mainline_Klipper — GPL-3.0, created 2026-02-25, 57 stars, pushed 2026-08-21: a patchset giving mainline Klipper on stock Q2 electronics (GD32F425 USB CDC fix, GD32F425 MCU temperature without crashing, Katapult builds, GD32F303 SPI2 mapping for hardware-SPI MAX6675, CS1237 integrated into mainline load_cell/load_cell_probe, optional 200 MHz/120 MHz overclock builds; pinned to Klipper 9c1ae230eaebd5ec4df76d5a87537e2f35defab0). (2) n3oney/qidi-q2-klipper — "mainline klipper, kalico, katapult on the Qidi Q2, without an ST-Link", created 2026-07-29, pushed 2026-08-21. (3) 53Aries/klipper branches Q2, Dev-Q2, feature/gd32f425-support. FreeDi does *not* support the Q2[174] |
| Firmware update mechanism (OTA/USB) & update cadence history | OTA over WiFi (Settings → Firmware update) and USB stick (FAT32, vendor.tgz, no signature check). FlashForge's public changelog lists exactly 17 releases, re-extracted verbatim by curl + regex on 2026-08-19: 2.3.6-2.1.9-20231101, 2.3.7-2.1.9-20231110, 2.4.2-2.1.9-20231201, 2.4.5-2.2.3-20240118, 2.6.5-2.2.3-20240411, 2.6.6-2.2.3-20240428, 2.7.1-2.2.3-20240606, 2.7.2-2.2.3-20240705, 2.7.3-2.2.3-20240829, 2.7.5-2.2.3-20240911, 2.7.6-2.2.3-20241028, 2.7.7-2.2.3-20241122, 2.7.8-2.2.3-20241213, 2.7.9-2.2.3-20241228, 3.1.3-2.2.3-20250107, 3.1.5-2.2.3-20250212, 3.1.9-2.2.3-20250807. At least 6 further AD5M releases shipped but were never published there: 3.2.3 (2025-10-16), 3.2.5 (2025-12-05), 3.2.6 (2025-12-12), 3.2.7 (2025-12-17), 5.0.3 (2026-01-22), 5.1.1 (2026-04-17); series images run to 5.1.7 (2026-06-05).[165] | Two paths. *OTA:* screen → "Check for updates" → download and apply. *Offline:* put a QD_Update folder at the root of a USB stick containing QD_Q2_SOC (installed via apt) and optionally QD_Q2_MCU, QD_Q2_THR; insert into the screen's USB-A port; after success the files are renamed.bak and an offline_update_log-YYYYMMDD_HHMMSS.txt is written. Cadence observed in the wild: 1.1.1 → 1.1.1.1 (by 2026-02) → 01.01.02.01 (2026-06) →.02 →.03 (2026-07) →.04 (2026-08)[175] |
| G-code flavor & notable custom G-codes/macros | Klipper flavour (gcode_flavor: klipper in FlashForge's own Orca profile). Notable: M900 K<val> → SET_PRESSURE_ADVANCE (Marlin linear-advance shim, in the stock config); M25 pause; M106 P2; [gcode_arcs] resolution: 1 (G2/G3); [exclude_object] added in firmware 2.6.5; M300/M356 beeper macros only via Z-Mod[176] | Klipper flavour with [gcode_arcs] resolution: 1.0 (G2/G3), [exclude_object], [pause_resume], [display_status], [virtual_sdcard], [respond], [save_variables], [force_move] enable_force_move: True. Custom set: M141/M191 chamber set/wait (both clamp the target to 65 °C), M106 P0/P2/P3/P4 (part / auxiliary / chamber-circulation / Polar Cooler), M107, M204 (also forces accel-to-decel = accel/2), M290 Z trim, M303 PID, M900 PA, M901 input-shaper calibrate+save, M603/M604 unload/load, M4029 full auto-calibration, M4030/M4031 bed-position init via reverse Z homing, G29/G31/G32 mesh calibrate / mesh-mode toggles, M0/M25→PAUSE, M84 (also force-disables all steppers), plus CLEAR_NOZZLE, CUT_FILAMENT_1, MOVE_TO_TRASH, SHAKE_OOZE, EXTRUSION_AND_FLUSH, BEEP, LED_ON/LED_OFF, SAVE_CONFIG_QD, RESUME_INTERRUPTED, DETECT_INTERRUPTION and the BOX_* family[177] |
| Root shell: exact method (official setting toggle / vendor-documented / community exploit / none). Is root persistent across OTA firmware updates, or wiped each update? | Community exploit only — no official toggle, no vendor-documented method — but substantially more durable than an earlier draft of this row claimed. Method: write a vendor-format.tgz update archive to a FAT32 USB stick (Adventurer5M-root.tgz, or a hand-edited flashforge_init.sh in any update archive), boot, log in as root. The vendor installer still performs no signature or integrity verification, verified by byte-comparison through stock 5.1.7 (2026-06-05), so the exploit is not a patched hole — it is the permanent shape of FlashForge's update system. Persistence: partial, and predictable. An OTA reverts /etc/shadow and /etc/inittab in the stock rootfs — so a bare rootfs-level root hack is wiped. It does not touch /data (mmcblk0p7), where all three mods live, and it does not touch /opt/klipper. Forge-X states plainly that a stock OTA, including a 3.x → 5.x jump, leaves the mod running.[178] | Method: vendor-documented SSH as mks / makerbase, then sudo su. No exploit, no jailbreak, no hidden toggle. (Direct root@ SSH may also work — QIDI's sibling Plus 4 image ships root SSH enabled with the same makerbase password — but this is untested on the Q2; see N3.) Root access itself survives OTA (the account and sudo rights are part of the shipped image and updates are apt-installed packages, not full reflashes) — but user customisations do not: QIDI updates replace printer.cfg and overwrite many files under ~/printer_data/config and the user home. There is also a root-running vendor agent, qidi-client.service (/home/qidi/QIDI_Client/bin/qidiclient), that owns some config state and silently reverts user edits. Complication: newer firmware appears to use a qidi user alongside/instead of mks[179] |
| Userland: OS base (Debian/Ubuntu/Buildroot/OpenWrt/busybox-only), package manager present (`apt`/`opkg`/`ipkg`/none), CPU architecture (armv7 / aarch64 / mips / x86), and free space on the writable partition. A busybox/no-apt rootfs with a few MB free is a red flag — say so. | Stock: vendor Buildroot-style appliance rootfs, BusyBox userland, no system package manager, telnet-capable, /data = mmcblk0p7. Mods: a second Buildroot rootfs in a chroot on /data (xblax /data/.klipper_mod; Forge-X /data/.mod/.forge-x). No apt, opkg, apk or systemd anywhere — but the xblax chroot does ship python3 + pip, plus target binutils. Kernel: Linux 5.4.61 (vermagic=5.4.61 SMP preempt mod_unload ARMv7 p2v8), Allwinner T113 (sun8iw20) vendor BSP, byte-identical across stock firmware 2.6.5 → 5.1.x. Arch: armv7 32-bit hard-float, Cortex-A7, NEON-VFPv4, glibc (arm-buildroot-linux-gnueabihf). RAM: 128 MB total, ~110 MB usable. Storage: 8 GB eMMC; install requires ≥128 MB free on / and ≥512 MB free on /data. Networking userland is genuinely complete: iptables, iproute2, dropbear, ca-certificates, socat, tcpdump, netcat, curl, rsync, git, nfs-utils, vim/nano/screen. /proc/config.gz is present on the stock kernel.[180] | Debian GNU/Linux 11.8 "bullseye" (PRETTY_NAME="Debian GNU/Linux 11 (bullseye)", /etc/debian_version = 11.8), aarch64 / arm64, kernel 5.10.160 (KERNEL="5.10 - rk3308_linux_defconfig"), systemd 247, Python 3.9.2, apt present and fully functional. Rootfs /dev/mmcblk0p6, ext4, rw, 29.1 GB on the 32 GB eMMC. Standard Debian userland — openssh-server, nginx, ffmpeg, bluez, net-tools, rsync, sudo, openvpn, ntfs-3g, python3.9-dev all installed; git installable on demand. 512 MB RAM is the real constraint, not storage. This is emphatically not a busybox/no-apt rootfs[181] |
| Native Tailscale feasibility: can `tailscaled` run persistently on-device? Cite concrete evidence — community guides, wiki entries, forum posts, or repos of people actually doing it on THIS model. Note whether it needs `/dev/net/tun` (kernel TUN support) and whether the kernel provides it, plus whether userspace-networking mode is the only option. Distinguish "someone did it" from "should theoretically work." | STILL NOT DEMONSTRATED — nobody has published running tailscaled on an AD5M — but the technical path is far better established than an earlier draft of this row concluded. Negative evidence (re-run independently): all three mod repos grep clean for tailscale/wireguard/tun.ko/net/tun; GitHub issue search on all three repos → total_count: 0; fresh 2026-08-19 web searches surface only generic Tailscale-with-Klipper-on-a-Pi advice, nothing on this model. (1) the stock kernel exposes /proc/config.gz, so CONFIG_TUN is a *one-command check* on any rooted unit — it is unpublished, not unknowable; (2) the exact vendor kernel source is public (Allwinner T113 / sun8iw20, branch 5.4.61) and Forge-X publishes a complete, reproducible recipe for building vermagic-exact out-of-tree modules against the stock kernel — and ships two of them (zram.ko, zsmalloc.ko) that the printer insmods at boot; (3) the kernel is byte-identical from firmware 2.6.5 to 5.1.x, so such a module is built once and never rebuilt; (4) iptables and iproute2 are already in the mod chroot (N9). So if TUN is not compiled in, tun.ko is buildable by an established, documented, already-exercised method.[182] | Very likely to work, but nobody has publicly done it on a Q2 — treat as "should work", not "someone did it". In favour: aarch64 Debian 11 with working apt is exactly Tailscale's supported deb target; there is ~29 GB of writable ext4 and systemd 247 to host tailscaled as a normal service; and, decisively for TUN, openvpn 2.5.1 is already installed in the stock image, which in its default dev tun mode requires /dev/net/tun — strong circumstantial evidence the kernel provides TUN. Against: no one has posted ls -l /dev/net/tun, zcat /proc/config.gz or a tailscale up transcript for this model; the kernel is a vendor rk3308_linux_defconfig 5.10 build with no published source or config, so CONFIG_TUN is inferred, not proven; and with 512 MB RAM already implicated in Klipper shutdowns, adding a daemon is not free. The strongest evidence is a sibling model, added: the community qidi-community/Plus4-Wiki publishes a *secure remote access* guide that installs Tailscale on the printer itself over SSH with the stock one-liner (curl -fsSL https://tailscale.com/install.sh piped into sh), after which "your printer appear[s] in the list of machines" in the Tailscale admin console, and tells users to add the Tailscale CGNAT range 100.64.0.0/24 to Moonraker's trusted_clients. That is a working on-device tailscaled on a QIDI Klipper printer of the same MKS/Debian userland family — but it is the Plus 4, a different SoC and a different kernel build, so it does not settle CONFIG_TUN on the Q2's rk3308_linux_defconfig[183] |
| SSH daemon: present by default or must be installed/enabled? Default credentials if documented. Does an OTA update disable it or reset the password? | Not present/enabled on stock as shipped. The stock exploit path uses telnet on port 23, not SSH. Mods install Dropbear (not OpenSSH) — confirmed in xblax's Buildroot config, and consistent with the documented host-key behaviour. Credentials: Z-Mod root image root / root; xblax root / klipper (set at build time: BR2_TARGET_GENERIC_ROOT_PASSWD="klipper"); Forge-X root / root. The stock rootfs does carry a real root entry — root:$1$OnclaLQR$TyysbY8rO.awyp7JldE9K. — byte-identical across every stock firmware from 3.1.3 to 5.1.7, so an OTA restores that hash but never rotates it. Separately, the printer's own settings file contains a web-console credential pair admin / ff123456. Documented failure modes: mods use different SSH host keys, so switching mods triggers host-key mismatches, and "Resource constraints may prevent the SSH service from running".[165] | Openssh-server is installed and enabled by default — SSH works out of the box with no toggle. Documented credentials: mks / makerbase (published by QIDI itself on the wiki, so effectively a universal default password). Root has no known SSH password; privilege escalation is via sudo. Whether an OTA resets the password or the account is — no source tested it, and the mks→qidi account change across firmware generations means it cannot be assumed stable[184] |
| Filesystem persistence: is the rootfs read-only or overlay-mounted? Do user-installed binaries and init/systemd services survive reboot and survive firmware updates? Is there a supported place to persist customizations? | Stock rootfs is a separate, vendor-owned partition; user customisation lives on /data (mmcblk0p7), and it is read-write and durable. xblax bind-mounts the stock / into its chroot at /mnt/orig_root remounted read-only (escape hatch: the jailbreak command drops you into the host environment). Mod rootfs + config + gcodes + Moonraker DB all live under /data, so they survive reboot and survive vendor OTA updates too, including a 3.x → 5.x jump. Init integration is via vendor-init hooks that live in the stock rootfs (/etc/inittab), which an OTA *does* revert; both mods therefore carry explicit re-hook/OTA-state logic. Supported persistence points: /data/.klipper_mod (xblax), /data/.mod/.forge-x + /opt/config/mod_data + mod_data/user.cfg + mod_data/user.moonraker.conf (Forge-X).[185] | Rootfs is a plain read-write ext4 partition — not read-only, not overlay-mounted. /dev/mmcblk0p6 on / type ext4 (rw,relatime,sync), 29.1 GB. User-installed binaries and systemd services persist across reboot — demonstrated by an owner running Klippain Shake&Tune, KlipperBackup, a reinstalled KIAUH and Samba on a retail unit. They do not reliably survive QIDI firmware updates: printer.cfg is replaced (a backup is kept) and updates "écrasent de nombreux fichiers de configuration". The supported-in-practice persistence pattern is community-invented: keep your changes in your own include files and re-add a single [include …] line to printer.cfg after each update[186] |
| Connectivity, UI & Camera | ||
| Display: size, type, touch? | 4.3-inch colour touchscreen ("Smart Touch Screen")[187] | 4.3-inch, 480 × 272, capacitive touchscreen. Controller is a Goodix capacitive touch panel on I²C; the panel is driven over a parallel RGB framebuffer from the RK3308B (rockchip-drm display-subsystem: [drm] fb0). It plugs in without tools, tilts back ~45° and carries a USB 2.0 host port on its right side. Spare $74.99[188] |
| On-device UI capabilities (model preview, per-object controls, etc.) | File browser with 3MF thumbnails, multi-plate 3MF, exclude objects, live Z-offset (0.025 mm steps), leveling, vibration test, PID calibration, filament load/unload, filament-detect toggle, sound toggle, firmware update, LAN mode, static IP, printer name/location, screen-protection timer, "continue printing after print completion", automatic shutdown on completion[189] | Levelling, temperature control (nozzle / bed / chamber), job load and print control, extruder load/unload, filament menu with QIDI Box slot assignment and colour selection, network setup, firmware update, speed/flow tuning, Z-offset trim, exclude-object, multi-colour, filament drying, model preview/thumbnails, language selection, beeper and LED toggles. The UI binary is ~/QD_Q2/bin/client (13.4 MB) with.bin asset packs in ~/QD_Q2/access (preview, exclude_object, multi_color, box_dry, leveling, adjust, printing_setting, consumables, …)[190] |
| WiFi (band/standard), Ethernet, USB ports, SD/flash-drive | WiFi 2.4 GHz + 5 GHz (Realtek RTL8821CU — driver 8821cu.ko loaded from the stock rootfs), Ethernet RJ45, USB-A host port on the front, no SD card slot[191] | Wi-Fi 2.4 GHz only, IEEE 802.11 b/g/n, 18 dBm EIRP max per QIDI's TDS — although the fitted radio is a Realtek RTL8821CS, which is a dual-band 2.4/5 GHz + Bluetooth part. Gigabit-style RJ45 Ethernet (cable included in the box). One USB 2.0 host port on the side of the screen (gcode transfer + offline firmware update). 32 GB internal eMMC for storage. No SD card slot[192] |
| Cloud service & phone app; LAN-only mode possible? | FlashCloud (https://cloud.sz3dp.com/) and Polar Cloud; apps FlashPrint 5, Orca-Flashforge, Flash Maker. LAN Only mode exists (added firmware 2.6.5) but the mobile app does not work in it.[193] | LAN-only is fully supported and is the default posture. Moonraker + Fluidd are reachable directly on the printer's IP with no account; QIDI Studio connects over LAN by IP; an Ethernet cable is in the box. Cloud/remote is optional via QIDI Cloud plus the QIDI Link mobile app — which QIDI is discontinuing in favour of QIDIMaker (announced in the V01.01.02.01 release notes: "Adapted to QIDIMaker; QIDILink will be discontinued")[194] |
| Camera: built-in / optional? Resolution & framerate (verify — marketing often omits real fps) | Base 5M has NO built-in camera. It does officially support an external USB camera, auto-detected since firmware 2.3.6. Pro's built-in camera: 640 × 480; on-device default streaming config is 640 × 480 @ 15 fps.[195] | Built-in on the Q2 (optional on the Q2C). Module is a USB webcam using an icSpring CH9221 (lsusb: 32e6:9221 icSpring icspring camera), mounted inside the chamber on the right. Factory configuration is 640 × 480 — not the advertised "up to 1080P". It can be raised by editing crowsnest.conf / webcam.txt; QIDI's own wiki example sets -r 1080x720 -f 10 and warns "Do not set the frame rate higher than 10 FPS. Higher frame rates may affect printer performance." A reviewer ran 1280 × 720 @ 10 fps successfully. Spare $39.99[196] |
| Camera features: live monitor, timelapse, AI failure detection (spaghetti detection) — how real is it? | Pro: live monitoring via slicer/cloud, automatic photo capture, time-lapse generation, on-printer playback and export. AI/spaghetti failure detection: none — no source claims it.[197] | Live view ✔ (Fluidd and QIDI Studio), timelapse ✔ ([timelapse] in moonraker.conf, ~/printer_data/timelapse/). AI spaghetti detection ✔ and genuinely on-device — it runs as a local systemd service (algo_app), grabs a frame every T seconds, scores candidate regions against a threshold, and confirms a failure only when enough spatially consistent positives accumulate; sensitivity Low/Medium/High; works in LAN-only mode with no internet. But it is documented by QIDI as conditional and is judged not worth enabling by two independent reviewers, and it is implicated in system instability by a third[198] |
| LED chamber/toolhead lighting | Disputed for the base 5M. Firmware declares a single white LED channel — [led chamber_led] white_pin: PA8, hardware_pwm: False, with brightness in device settings (extruderLight: 100, ledStatus: true) — but that config and settings dump both come from a 5M *Pro*, FlashForge documents no light for the 5M anywhere, and a base-5M owner states the base "lacks LED lights".[199] | One LED strip in the top front of the chamber, driven by [output_pin caselight] pin: PC9, pwm: false, value: 1 (on by default, on/off only — no dimming). Macros LED_ON / LED_OFF; QIDI's wiki documents SET_PIN PIN=caselight VALUE=1/0 for slicer automation. No toolhead light[200] |
| Calibration Routines & QoL | ||
| One-touch auto-calibration suite: what exactly does it calibrate? | The "one-click auto leveling" routine does: home (Z→X→Y) → preheat bed → wipe the nozzle → probe 25 points with the load cell → compute mesh → set Z offset. Vibration compensation and PID are separate, user-triggered routines.[201] | Two distinct routines. *First-boot self-check* (~7 steps, ~15 min) covers position init, nozzle clean, hotend and bed PID, bed mesh, resonance compensation / input shaping, and a chamber heat + fan check. *On-demand full calibration* is the M4029 macro: DISABLE_ALL_SENSOR → preheat bed → reset saved z_offset to 0 → M4031 (reverse-home Z twice at 80 % driver current to re-seat the bed) → G28 → CLEAR_NOZZLE HOTEND=260 → cool to 140 °C → Z_TILT_ADJUST → G28 → BED_MESH_CALIBRATE → park → SAVE_CONFIG[202] |
| PID autotune exposed to user? | Yes, added in firmware 2.6.5; manual advises running it "after replacing the nozzle or when the nozzle temperature is abnormal". Factory PID values ship in the config: extruder Kp 20.109 / Ki 1.943 / Kd 52.031; bed Kp 32.79 / Ki 4.970 / Kd 54.118.[203] | Yes. M303 E-1 S<temp> → PID_CALIBRATE HEATER=heater_bed; M303 E0 S<temp> → PID_CALIBRATE HEATER=extruder. Both standard Klipper. Factory values are in the shipped config: extruder Kp=33.555 Ki=4.76 Kd=59.141; bed Kp=71.231 Ki=1.218 Kd=1041.758; chamber Kp=63.418 Ki=1.342 Kd=749.125[204] |
| Flow-rate calibration tooling | None on the printer. Slicer-side only (OrcaSlicer's own flow tests).[205] | In the slicer, not on the printer. QIDI Studio (a Bambu Studio fork) ships a Calibration tab that generates flow-rate and pressure-advance test objects with written instructions on interpreting and saving results. On the machine side, M221 (flow %) is reset to 100 by PRINT_END/CANCEL_PRINT, and M900 sets pressure advance live[206] |
| Belt tension check/indicators | A belt-tension adjusting screw on the rear panel; no indicator, gauge or spec value published[207] | No indicator, no gauge, no firmware check — but tensioning is designed to be easy. There are two access openings at the rear that expose the belt tensioners so belts can be re-tensioned without disassembling anything, and QIDI publishes a dedicated wiki procedure[208] |
| First-layer inspection features | Nozzle wipe before leveling; live Z-offset trim during print. No camera-based first-layer inspection on the base model.[209] | No dedicated first-layer scan or auto-inspection. What exists: the chamber camera live view in Fluidd/QIDI Studio for manual watching, and the AI's build-chamber clearance check at the start of a print (Sanladerer). The Q2's actual first-layer strategy is preventative — nozzle-as-probe zero-offset plus a fresh Z-tilt and adaptive mesh on every print — rather than inspective[210] |
| Skew calibration | Not in stock firmware. [skew_correction] is added only by mods (xblax ships an all-zero placeholder "Fake profile, it must be calibrated if desired"; Forge-X adds [skew_correction] in data.init.cfg).[211] | Not provided. No [skew_correction] section exists in the shipped configuration, no skew macro is defined, and no reviewer or wiki page mentions a skew routine[212] |
| Assembly level & time from unbox to first print | ~12 minutes setup (TechGearLab, measured); 12–15 min (3DTechValley). Assembly: fit the print-head assembly with 2× M3×16 + 2× M3×8 through a cable strain-relief fastener, mount spool holder, install guide tube.[213] | Effectively pre-assembled. Steps: remove the glass lid, lift the machine out, cut cable ties and remove packing plastics, remove the base-plate transit screws, remove foam under the platform, clip on the side spool-holder arm, plug in the touchscreen (no tools), power on and follow the screen. QIDI claims "unbox to print in 10 min"; the realistic figure is ~10 minutes of assembly plus ~15 minutes of unskippable self-check[214] |
| Power-Loss & Interruption Recovery | ||
| Power-loss recovery: mechanism (how is state saved? capacitor / eeprom / file on shutdown?) | Claimed present ("Power Loss Recovery" is a spec-table row and a product-page bullet). Firmware 2.7.3 (2024-08-29) "Add a prompt when resuming printing after a power outage". The device settings file carries a "recover" boolean. The exact state-save mechanism is undocumented — no capacitor is claimed, and no vendor description exists of when/where state is written. Mods implement their own: xblax [power_loss_recovery] writes state on a 30 s interval and on every layer change (save_interval: 30, save_on_layer: True, history_size: 3) and re-probes Z with the load cell on resume; Forge-X uses a resurrection.py plugin; Z-Mod uses ZRESTORE.[215] | File-on-disk state, not a capacitor. Klipper [save_variables] writes to /home/mks/printer_data/config/saved_variables.cfg. The save_last_file macro — called at the end of PRINT_START, i.e. once per print — stores was_interrupted=True, print_temp, bed_temp and the chamber target (hot_temp); LOG_Z stores power_resume_z; the bed-mesh profile name is stored by G29. Recovery is driven by two shell scripts, registered as [gcode_shell_command POWER_LOSS_RESUME] → bash /home/mks/scripts/plr/plr.sh (timeout 120 s) and [gcode_shell_command UPDATE_GCODE_LINES] → bash /home/mks/scripts/plr/update_gcode_lines.sh, which rebuild a truncated /.temp/plr.gcode; RESUME_INTERRUPTED then runs set_zoffset, reloads the mesh profile and prints that file[216] |
| Verified working? Third-party test results; resume seam quality | Nobody independently tested it. No reviewer among TechGearLab, Tom's Hardware, 3DPrint.com, 3Dnatives, 3DWithUs, printer-hub or 3DTechValley reported pulling the plug mid-print. Contrary community signal: both Forge-X and Z-Mod list "faulty resume" among the stock Klipper bugs they patch.[217] | No third party has tested power-loss recovery on the Q2. The only characterisation is QIDI's own, and it is candid: recovery "cannot guarantee a perfectly seamless continuation. In most cases, a small visual mark or texture change will be visible at the recovery layer", and it should be treated as "a print salvage feature, not a guarantee of flawless results". A hard limit applies: the default pause window is 72 hours, beyond which the print cannot be resumed[218] |
| Filament-runout pause/resume behavior | Toggleable ("Filament detect"); when enabled "the printer will stop printing if filament runs out mid-print". Klipper itself has pause_on_runout: False, so the vendor app performs the stop/resume, not Klipper. Filament-change pause position adjusted in firmware 2.4.2.[219] | Runout pauses automatically. pause_on_runout: True + runout_gcode → M118 Filament run out, and if auto_reload_detect == 1 it calls AUTO_RELOAD_FILAMENT (Box). The PAUSE macro then: saves Z-hop/target-temp/fan-speed/chamber target into RESUME_PRINT variables, disables the runout sensor, saves gcode state, retracts 5 mm, lifts Z by 5 mm, parks at X88 / Y287, sets hotend to 0 °C, extends idle timeout to 72 h, and de-energises the extruder stepper. RESUME refuses to continue unless filament is detected ("Please load filament"); on resume it reheats, restores the chamber setpoint, purges E150 by default, wipes with four X shuttles, restores state and resumes[220] |
| Materials Support | ||
| Officially supported filament list | Manual §1.2: \*PLA / \*PETG with 0.4 mm; \*TPU / PLA-CF / PETG-CF with 0.6/0.8 mm (\* = recommended). FlashForge product page: "PLA/PETG series recommended" and explicitly "ABS series Filaments is not compatible with the AD5M".[221] | Headline: "PLA, ABS, ASA, PETG, TPU, PA, PC, Carbon/Glass Fiber Reinforced Polymer, etc." The authoritative list is in firmware — officiall_filas_list.cfg enumerates 50 QIDI filament profiles with min/max nozzle temperatures, including: PPS-CF 300–350, PPS-GF 300–350, PAHT-CF 300–320, PAHT-GF 300–320, UltraPA-CF25 300–320, PET-CF 280–320, PET-GF 280–320, PA-CF 260–300, PA12-CF 260–300, UltraPA 260–300, PC 240–280, PC/ABS-FR 260–280, ABS / ABS-GF / ABS-Metal / ABS-Odorless 240–280, ASA / ASA-Aero / ASA-CF 240–280, PETG 220–280, PETG-CF / PETG-GF 240–270, PLA 190–240, PLA-CF 210–250, PVA 210–250, TPEE 230–260, PEBA 230–260, TPU 95A-HF / TPU-Aero / TPU-AERO 64D 200–250, plus support materials for PLA, PAHT and PET/PA. A separate drying.conf gives on-bed drying recipes (bed 90 °C / chamber 60 °C / 720 min for most engineering materials)[222] |
| PLA/PETG/TPU results & constraints (min TPU shore hardness) | PLA: clean at 0.2 mm / 250 mm/s. PETG: needed 240 °C (+5 °C) and 40 % fan; FlashForge's own profile runs PETG at 255 °C / bed 70 °C, 12 mm³/s. TPU: works but 30–40 mm/s required; Tom's Hardware had TPU jam under the drive gear, requiring full extruder disassembly. Min TPU shore hardness: — never published.[223] | PLA: prints well but the lid must be slid open — with it closed, Sanladerer suffered heat creep and "had me tearing apart the toolhead to pick bits of bulged-out PLA out of the extruder for over an hour". fran6p ran PLA at 230 °C / bed 55 °C, ~140–230 mm/s, door open + lid ajar. PETG: works (fran6p PETG-GF 255 °C / 75 °C / ~200 mm/s) but stock profiles produce "gross artifacting around the bridging area" and overhang-transition under-extrusion; it also bonds hard to the PEI (fran6p added +0.1 mm Z-offset; P3D says it "easily damages the build plate surface coating"). TPU: official minimum 95A ("For materials softer than 85A, print quality may be affected"); with a QIDI Box the minimum is 64D. fran6p ran QIDI TPU95A-HF at 230 °C / 55 °C / ~80 mm/s with a Z-offset tweak; Tom's ran 72D TPU from an external spool at 45 mm/s "flawless glossy outer surface" — but the same TPU jammed in the Box[224] |
| ABS/ASA feasibility (enclosure/chamber constraints, warping reports) | Officially not supported on the open 5M. Practically: the official $39.99 enclosure kit claims ABS/ASA/PC support, and an owner ran ABS at bed 110 / nozzle 270 on stock firmware (while hitting E0011 MCU errors). 3DTechValley: ABS "frustrating" without an enclosure. Manual Q7 warns ABS releases toxic gases.[25] | This is what the machine is for, and it is the best-corroborated claim in the dossier. fran6p: QIDI ABS Rapido at nozzle 270 °C / bed 90 °C / chamber 60 °C, ~280 mm/s, flow cap 25 mm³/s, no smell during printing. Tom's Hardware: Bambu ABS-GF propeller parts "came out flawless" at 150 mm/s. InsideTheGeek: ASA-CF "pas de warping, pièces solides"; ABS "surplombs bien gérés, bonne précision". HeatForge3D after ~3 months: "it prints ABS as easily as PLA. No warping, no splitting, even on large functional parts with sharp corners." Tom's overall: "It won't break a sweat printing ABS or ASA"[225] |
| PC / Nylon / CF-filled feasibility (nozzle & extruder wear constraints) | CF-filled: officially supported with the 0.6/0.8 mm "high-strength steel" nozzles (PLA-CF, PETG-CF); 3Dnatives printed PA-CF on the Pro. PC: only with enclosure + the separately-sold PC sticker plate. Nylon: no official support, and the 110 °C bed / no heated chamber make it impractical.[226] | Demonstrated across five independent reviewers and six material families. Tom's Hardware: Prusament PA11-CF vice jaws at bed 120 °C / chamber 65 °C / nozzle 295 °C, 2 h 44 m @100 mm/s, "without any problem or warping"; Polymaker PolyMax PC screw ~1 h @75 mm/s; MatterHackers NylonG "no layer lines, warping or wisps". fran6p: QIDI PET-CF at 320 °C / 80 °C, ~220 mm/s (one failure traced to spool-coil drag, not the machine — a fresh spool completed cleanly); QIDI PAHT-GF at 310 °C / 80 °C / chamber 40 °C, ~170 mm/s. Sanladerer: PPS-CF "did print just fine". InsideTheGeek: PC "poignée imprimée solide, résultat impeccable", PA (Easy PE) satisfactory, PAHT-CF variable by brand. P3D: PPS-CF "successfully produced high-strength engineering components". Wear: hardened-steel dual drive gears + hardened-steel bimetal nozzle as standard, with a tungsten-carbide nozzle at $59.99[227] |
| Effective material ceiling given hotend+bed+chamber limits (reasoned, cite limits) | PLA, PETG, TPU, PLA-CF, PETG-CF comfortably. ABS/ASA only with the enclosure kit and ventilation, and even then marginal (no active chamber heater, bed caps at 110 °C, no filtration on base). PC and PA: not realistically viable. Reasoning from hard limits: nozzle 280 °C rated (firmware would allow 350, but the thermistor is a Generic 3950 NTC and the assembly is rated 280), bed 110 °C max (100 °C per storefront), no chamber heater, open frame, no filtration.[228] | Ceiling is PPS-CF / PPS-GF class (≤350 °C nozzle), and the binding constraint is the 65 °C chamber, not the 370 °C nozzle. Limits: nozzle 370 claimed / max_temp: 375 firmware; bed 120 claimed / max_temp: 125 firmware; chamber 65 °C, hard-clamped in the M141/M191 macros (heater_generic max_temp: 70), and additionally disabled above Z 230 mm (z_max_limit: 230). QIDI's own filament table stops at PPS-CF/PPS-GF 300–350 °C. Genuinely out of reach: PEI/ULTEM, PEEK, PEKK, PPSU — Sanladerer names these as materials the 370 °C hotend unlocks, but they need a 120–160 °C chamber to avoid delamination and warping, and the Q2 provides 65 °C[229] |
| Filament profile ecosystem in the recommended slicer | Official and reasonably complete. FlashForge maintains FlashForge/Orca-Flashforge (pushed 2026-07-18) with machine profiles for all four nozzle sizes of both 5M and 5M Pro, plus FlashForge filament profiles (Generic PLA, HS PLA, PETG…). Recommended slicers: Orca-Flashforge, OrcaSlicer, FlashPrint 5.[230] | QIDI Studio (a Bambu Studio fork, itself a PrusaSlicer/Slic3r descendant), with QIDI profiles for all 50 firmware-listed filaments and NFC auto-selection for QIDI spools. OrcaSlicer and PrusaSlicer are officially supported ("since the QIDI Q2 runs on Klipper firmware, it is also fully compatible with … OrcaSlicer and PrusaSlicer"), with the caveat "certain advanced features may not be supported". Profile quality is the Q2's most-criticised software attribute[231] |
| Safety | ||
| Thermal runaway protection (verify in firmware source if at all possible) | Present but deliberately loosened vs Klipper defaults. Stock config runs Klipper [verify_heater] on both heaters: extruder max_error: 290, check_gain_time: 60, hysteresis: 10, heating_gain: 5; bed max_error: 120, check_gain_time: 180, hysteresis: 10, heating_gain: 5. Klipper's own defaults (read from FlashForge's published source) are hysteresis 5, max_error 120, heating_gain 2, check_gain_time 20 (extruder) / 60 (bed).[232] | Yes — stock Klipper verify_heater on all three heaters, plus a dedicated second chamber thermistor, plus an unspecified anti-runaway safety on the PTC element. Firmware: [verify_heater extruder] max_error:120, check_gain_time:20, hysteresis:2, heating_gain:2; [verify_heater heater_bed] max_error:400, check_gain_time:120, hysteresis:2, heating_gain:1; [verify_heater chamber] max_error:300, check_gain_time:480, hysteresis:5, heating_gain:1. Independent second sensor: [temperature_sensor Chamber_Thermal_Protection_Sensor] on PA2, max_temp:130. Host-side, every heater PWM is armed with MAX_HEAT_TIME = 10.0 s (mcu_pwm.setup_max_duration), so a host/MCU stall kills the heaters within 10 s[233] |
| Certifications (UL/ETL/CE/FCC — verify, don't assume) | CE / FCC / RoHS / UKCA / "PES" / KC claimed by a major US reseller; an FCC equipment-authorisation record exists for FCC ID 2AKLL-ADM5 ("3D Printer", grantee *Zhejiang Flashforge 3D Technology CO., Ltd.*), distinct from the 5M Pro's 2AKLL-ADM5P. No UL or ETL claim from anyone.[10] | MET Laboratories (NRTL, recognised by OSHA — valid for US and Canada) and IECEE CB. QIDI markets the Q2 as "First MET-Certified 3D Printer" and "Compliance with federal safety standards". Interior panels are flame-retardant. No FCC ID located[234] |
| Hardware safety: fusing, strain reliefs, belt covers, pinch points | Print-head cable routed through a cable strain-relief fastener (2× M3×16 + 2× M3×8 at assembly). Open frame ⇒ exposed belts, gantry and hot nozzle; manual mandates ≥20 cm clearance and warns about entanglement (hair, gloves, clothing). PSU terminals behind a plastic cover. Fusing details.[235] | Good in the areas that matter for fire, weaker on cabling. Positive: flame-retardant chamber panels; the electronics bay is sealed from the heated chamber with no opening between them; X and Y motors sit outside the chamber; the PSU sits under the machine behind a removable protective plate and contains its own thermal cut-out switch in the heatsink; the mains-powered chamber heater is switched by an SSR rather than a mechanical relay. Negative: no belt covers anywhere, open CoreXY pinch points inside the enclosure (mitigated only by the door), and two independently reported loose-connection problems[236] |
| Firmware safety limits (max temp cutoffs — exact values) | Extruder: max_temp: 350, min_temp: -100, verify_heater max_error: 290. Bed: max_temp: 130, min_temp: -100, verify_heater max_error: 120. Shutdown pins: [output_pin power_off] pin: PC14 value:1 shutdown_value:1, [output_pin clear_power_off] pin: PG1. [idle_timeout] timeout: 600. MCU-level default: CONFIG_INITIAL_PINS="!PB9" — the bed heater pin is driven off the instant the mainboard MCU boots.[237] | Nozzle max_temp: 375 (min_temp: 0, min_extrude_temp: 175, max_power: 1). Bed max_temp: 125 (min_temp: -60, max_power: 1.0, pwm_cycle_time: 0.1). Chamber heater [heater_generic chamber] max_temp: 70, max_power: 1, plus z_max_limit: 230 (heater inhibited above Z 230 mm) — and the M141/M191 macros hard-clamp any requested chamber target to 65 °C (TARGET= min of s and 65 (Jinja min-filter on [s, 65])). Chamber protection sensor max_temp: 130. Global heater PWM watchdog MAX_HEAT_TIME = 10.0 s. Idle timeout 43 200 s (12 h), which on expiry runs M106 S0, M104 S0, M140 S0, M141 S0, DISABLE_BOX_HEATER[238] |
| Known safety incidents / recalls / fire reports (with sources) | None found[27] | None found for the QIDI Q2. No CPSC or Health Canada recall, no fire report, no safety advisory naming the Q2 in any source searched, as of 2026-08-21. Sibling caution: Fabbaloo reported (April 2025) "Reports Emerge of Fires Caused by Qidi Plus 4 3D Printer", with commentary that QIDI should consider recalling those machines. That is the Plus 4, a different model on different electronics and a different chamber-heater implementation — do not attribute it to the Q2[239] |
| Noise & Power Consumption | ||
| Noise: claimed dB and independently measured dB (distance/method) | Claimed: FlashForge's own AD5M enclosure-kit page says it "Lowers printing noise from 65dB to 55dB" ⇒ FlashForge itself puts the bare 5M at 65 dB. The "50 dB low-noise / 55 dB standard" figures are 5M Pro claims. Measured on the base 5M (best evidence): 62.3 dB(A) in operation, 41.1 dB(A) at idle, and 54.8 dB(A) from the hotend fan alone with no printing. Other measurements: 50–55 dB at 200–300 mm/s, informal (printer-hub, base); 3DTechValley "about 50-55 dB" (base); Pro: avg 68 / max 79 / min 46 dB (3DPrint.com), and 65 dB door-open / <60 dB door-closed measured "right in front of the printer" (The 3D Printer Bee).[98][25][240][241] | QIDI publishes no dB figure. Four independent measurements, broadly consistent: 56 dB normal printing, rising to 65 dB with a QIDI Box attached (AndroidPCtv); ≈45–50 dB printing PLA/TPU/PETG with the door open and lid ajar, <65 dB including head-movement noise (fran6p); 50–60 dB normal printing (3DWork); 65 dB at high speed (P3D). At idle: >30 dB and never silent (InsideTheGeek)[242] |
| Silent/quiet mode available? | None on the base 5M. "Low-noise mode" is a 5M Pro feature (enclosure-based). TMC stealthchop_threshold lines are commented out in the stock config, so there is no StealthChop quiet mode either.[243] | No. There is no quiet mode, and idle noise is structural. Two fans run continuously by design: the PSU fan is unregulated, and the controller-bay 4010 fan is slaved to the Z stepper drivers which QIDI enables at boot via [delayed_gcode PRINTER_INIT] — so it spins from power-on until the end of a print. Community fixes exist and work: [controller_fan board_fan] idle_timeout: 600 / idle_speed: 1.0; a printed fan silencer; a 50 °C thermal switch in series with the PSU fan; a Noctua 4010 swap; or a Mean Well LRS-350-24 PSU (~€40) with a thermally regulated fan[244] |
| Power draw: idle / PLA print / high-temp print (measured preferred) | Measured on the base 5M with a wattmeter: idle 11.3 W; standby with motors energised 25.9 W; printing PLA (220 °C / 60 °C bed) 130 W; peak 320 W while heating nozzle and bed simultaneously. PSU rating for comparison: 350 W. No high-temp (PETG/ABS-target) print measurement exists.[98] | Idle 27 W (InsideTheGeek estimates ~€35/year if left plugged in). PLA printing ≈160 W. High-temperature (chamber-heated) draw not measured by anyone — rated ceiling is 350 W + 280 W chamber = 630 W[245] |
| Reliability, Support & Ecosystem | ||
| Warranty length & support reputation (evidence, not vibes) | 12-month warranty on the printer — but only a 3-month warranty on extruder parts. FlashForge product page, verbatim: "a 1-year limited warranty for its 3D printers and a 3-month warranty for extruder parts". Self-modification voids it (manual: "Any modification of the equipment by yourself will void the warranty"). Support scored 8.0/10 by TechGearLab — the machine's best category score. Channels: support@flashforge.com, phone 8:00–17:00; serial number on a barcode at the rear.[1] | 1-year warranty, 14-day no-reason return, "Lifetime Tech Guidance"; dedicated address Q2support@qidi3d.com / Q2support02@qidi3d.com; QIDI's GitHub README promises replies "within twelve hours". Remedy ladder: email diagnosis → software updates → free replacement parts → partial/full refund or replacement for major manufacturing defects. Support reputation is genuinely bimodal[246] |
| Common failure points (from long-term reviews/forums, with sources) | 1) Auto-leveling inconsistency — Tom's: "Auto Leveling did not work correctly on each attempt… I had to run the automatic leveling a few times", one failure printed a cube several mm above the plate; GitHub #73 (open, 32 comments) traces it to filament residue on the nozzle. 2) TPU jamming under the extruder drive gear, requiring full extruder teardown (Tom's). 3) Nozzle clogs — FlashForge's own FAQ devotes Q1 to unclogging and ships a pin tool; clogs mean replacing the whole $35 assembly. 4) E0011 / E0017 MCU errors (comm timeout / move-queue overflow) on stock firmware, especially at high temps/speeds — GitHub #203 (42 comments) and #277. 5) Bed adhesion with the stock powder-coated PEI plate on thin first layers; glue effectively required. 6) PSU fan always on (noise). 7) Flaky USB from poor shielding (xblax). 8) WiFi transfers capped ~25 MB (printer-hub). 9) RAM exhaustion if you mod and multitask. 10) Extruder/toolhead flexible flat cable (FFC) damage — added. FlashForge publishes a dedicated wiki procedure, *"Adventurer 5M: Replace the Extruder Cable"*, and the cable is sold as a spare; in GitHub #305 a user chased a phantom "firmware blocks the mod" problem for three weeks before finding the real cause: *"It was the f\*%&ing Flaccid Flexible c\*%&ing Cable again — I was wondering why my camera was dropping in and out. I trimmed a bit off the end of the cable, re-inserted it, boom install."* A degrading toolhead FFC presents as intermittent, misleading faults (failed USB updates, dropped camera, comms errors), which is exactly the kind of failure that gets misdiagnosed as firmware.[247][248][249][250] | Ranked by severity and independence: (1) Toolhead MCU communication loss — "MCU THR unable to connect" — bricks the machine (HeatForge3D, unusable >1 month; issue #13 mcu_box1/main MCU going silent; issue #16 an update "skipped mcu firmware" leaving at least three owners stuck). (2) Klipper mcu shutdown / timer too close — fran6p's dominant failure mode, which stopped when he disabled the on-device AI service (512 MB RAM). (3) Firmware-update regressions — thumbnails (#17), can't print from web/slicer (#14, #22 still open at.04), Moonraker API 404 (#15), Box control (#18/#19/#23/#24/#25). (4) z_offset silently resetting to 0 after a cancelled/failed print (#9, two users). (5) Rubber nozzle wiper detaching — held by "a little piece of stick tape" which "started giving out", and the metal primary wiper bar fell into the purge bin (Sanladerer). (6) PEI plate behaviour — over-adhesion and coating damage (Sanladerer, P3D) *or* under-adhesion needing a wash after every print (French owner) — see I4. (7) Loose power cable / loose hotend power cable (HeatForge3D, 3DWork). (8) PLA heat-creep clog if the lid is left closed (Sanladerer). (9) Wi-Fi drop-outs; hidden SSID unsupported (#3). (10) Filament-cutter blade consumption — the cut runs on every print start and blades went out of stock[251] |
| Spare parts availability & pricing (nozzle, hotend, plate, board, belts) | Good availability, official + third party. Verified prices: Nozzle Assembly $35.00 (FlashForge, all four sizes); Enclosure Kit $39.99 (FlashForge). Partsbuilt (US) stocks: Mainboard, Build Plate Heater, Build Plate Scale Kit (Leveling Sensor), Extruder Unit (filament feeder), Extruder PCB Board, Nozzle Heating Cable, Extruder Front Cover + fan, belts/pulleys, motors/leadscrews, print surfaces. Also Amazon/AliExpress/3DJake/3DPrima/Smith3D/Innocube3D.[58][25][118][252] | Comprehensive first-party catalogue, all listed for the Q2, checked 2026-08-21. Motion/electronics: Q2 Motherboard $120.00, Q2 AP Board $120.00, Q2 Screen $74.99, Q2 Print-head Cable (6-pin) $9.99, Q2 Adapter Plate $29.99. Hotend/extruder: Q2 Bimetal hot end $34.99, Q2 Extruder $29.99, Bimetal Nozzles 2-pack $29.99 (0.2/0.4/0.6/0.8), Tungsten Carbide Bimetal Nozzle $59.99 (0.4/0.6/0.8), Hotend Silicone Sock ×5 $6.99. Bed: Dual-sided PEI Plate $32.99, Dual-sided Smooth Plate $49.99. Air/thermal: Q2 Heater with fan $34.99 (region-specific), 3-in-1 Air Filter $9.99 (*out of stock*), Auxiliary Fan $24.99, Model Cooling Fan $14.99, Hotend Cooling Fan $9.99 (*out of stock*), Motherboard Fan $5.99. Consumables: Cutter Blade ×5 $4.99, Nozzle Wiper $5.99, Wiper Silicone Case ×5 $2.99, Filament Runout Sensor $9.99, Camera $39.99[253] |
| Community size (subreddit size, wiki quality, Discord/Facebook groups) | Strong, GitHub- and Telegram-centred rather than Reddit-centred. Verified repo stats (2026-08-19): xblax/flashforge_ad5m_klipper_mod 433★ / 45 forks / 34 open issues; ghzserg/zmod 418★ / 50 forks; DrA1ex/ff5m 396★ / 37 forks; g992/flashforge-ad5m-5mpro-research 141★; FlashForge/AD5M_Series_Klipper 81★. Active Telegram groups: FF_5M_5M_Pro, FF_ForgeX. Dedicated wikis: wiki.zmod.link, ghzserg.github.io. Reddit subscriber count — reddit.com is not fetchable from this environment.[254] | Vendor-side: strong. Community-side: small and Q2-specific participation is thin. QIDI runs an official Discord (invite discord.gg/BxzyFNck, surfaced in the Q2 repo), an actively maintained wiki with ~40 Q2-specific pages, and a GitHub tracker for the Q2 with 25 items — 21 issues + 4 pull requests (verified via the REST API 2026-08-21; 18 issues and all 4 PRs still open) where staff sometimes reply. Independent hubs: r/QidiTech3D on Reddit (thread 1q84txg "Open Klipper on Q2" is cited by the FreeDi maintainer), a QIDI Facebook group, and an active lesimprimantes3d.fr French forum section with at least three Q2 threads. Hard number available for Q2 enthusiast demand: the FreeDi maintainer's own tally of people requesting Q2 support — "Interested via discord: 32, reddit: 4, git: 9" — and ~€105 crowdfunded toward a developer unit by 2026-01-23. Subreddit and Discord member counts (not fetched)[255] |
| Mod/upgrade ecosystem | Firmware: xblax Klipper Mod, Z-Mod, Forge-X (with GuppyScreen / HelixScreen / Feather UIs, KAMP adaptive meshing, Moonraker/Mainsail/Fluidd, timelapse, Telegram notifications, OctoEverywhere). Hardware: official $39.99 enclosure kit; Mean Well LRS-350-24 silent PSU swap; external USB camera mod; Bambu Lab X1 hotend adapter (Printables 1002162); drag-chain/cable-management remixes (Printables 785667); hotend holders; external Klipper host via UART tap (destructive); Co Print KCM multi-material (documented on the Pro).[108][256] | Officially curated printables, an active hardware-mod scene, and two mainline-firmware projects. QIDI's own wiki hosts community STLs: 4 styles of lid riser, 4 styles of waste/purge bin, a top spool holder for TPU, a top glass screw cover to prevent PTFE wear, an enlarged lid grab handle, and a glass-lid storage rack. Hardware mods documented by owners: PSU fan silencer + 50 °C thermal switch, Noctua 4010 board fan, Mean Well LRS-350-24 PSU swap, exhaust ducting to outside (pre-drilled holes provided). Software: Klippain Shake&Tune, KlipperBackup, KIAUH (reinstall official), Mainsail, Mobileraker, Samba file sharing, plus the two mainline-Klipper ports (N5). Paid upgrades from QIDI: QIDI Box $228, Polar Cooler $199[257] |
| Long-term (6–12 month) reliability reports | Thin. Longest structured tests found: 3 months (3DTechValley, base 5M, Mar 2026 — "solid mid-range printer with excellent print quality"); 1 month / "100 % uptime… no significant issues" (3DPrint.com, Pro); a full instrumented test concluding the base 5M "has proven to be as loud as it is reliable" (Igor's Lab, Feb 2025, which also had a noisy fan replaced under warranty by the manufacturer); an owner thread with repeated successful prints (V1E forum, base 5M). No 6–12 month teardown-and-wear report exists.[258][62] | No 12-month report exists. Longest documented use: ~3 km of filament / 350+ hours over ~2 months (fran6p, published 2025-10-30) — verdict "je suis plutôt satisfait", reliability scored 8.6/10, with all faults software-related and resolved without part replacement. ~3 months of ownership (HeatForge3D, published 2025-11-14) — "when it works, the print quality is excellent … the chamber performance is outstanding", but the machine was unusable for over a month with an unresolved MCU THR error: "too unreliable to depend on day to day". ~1 month (P3D, 7.5/10). ~2 weeks (InsideTheGeek). The most recent review (3DWork, 2026-04-07, i.e. ~8 months after launch) reports "incidents have been few … The occasional jam, mainly when using the QIDI BOX"[259] |
| Independently Measured Performance | ||
| Dimensional accuracy measurements (third-party, with numbers) | Base 5M: usable build area measured 217 × 217 mm vs 220 advertised (−2.71 % X/Y); physical plate 235 × 235 mm, "220×220 of which can be used"; clearance-spinner test — all parts including the 0.15 mm-tolerance piece moved freely after printing; nickel-fit calibration test "fit nearly perfectly". Pro (delta noted): 100 mm cube → X 99.70 / Y 99.71 / Z 100.02 mm; 135 mm diagonals → XZ 134.5 / YZ 134.45; 150 mm → 149.2; snap-fit held 0.05 mm. Vendor claims: ±0.1 mm on 100 mm cubes; positioning accuracy X/Y 0.0125 mm, Z 0.0025 mm.[61] | 0.089 mm — mean of the mean X and Y errors, scored 5/5 on the reviewer's own published calibration protocol, measured with calipers on the standard test set printed with stock QIDI Studio profiles and no user tuning beyond the factory self-check[260] |
| Surface quality / VFA / ringing assessments | TechGearLab Print Quality 6.7/10 (ranked #5 of 11); 3DPrint.com (Pro): "very consistent, accurate, and square", "virtually no skew", clean overhangs; 3DWithUs (Pro): "all overhangs free of issues"; at 600 mm/s: "minor surface artifacts… visible on close inspection"[261] | Split, and the split is informative. *Negative (most technical source):* Sanladerer — on stock profiles "the parts have some VFAs visible — the printer doesn't do the motor microstepping matching thing with the drivers", plus "visible curling on overhang edges, even with PETG", "gross artifacting around the bridging area", and "flow inconsistencies … with all materials"; with QIDI's corrective slowed profile the artefacts largely vanish but "now the parts are slightly more glossy, and ringing and VFAs show up more visibly". *Positive:* fran6p 9.6/10 print quality (after re-running input shaping himself and dropping max_accel to 4000); AndroidPCtv "layers well defined, no errors visible"; InsideTheGeek "surfaces bien lisses, peu de résonances"; Tom's ABS-GF parts "came out flawless"; 3DWork "the factory profiles are reasonably well tuned"[262] |
| Benchmark print times (source + settings) | Base 5M, one reviewer, three profiles: Benchy 14:09 (modified G-code) / 26:09 (speedboat rules) / 33:28 (normal 0.20 mm); Clearance Spinner 1 h 05 m (Bambu PLA Matt); Z-wobble test 45:43 (Extrudr PLA NX2). Other base-5M: 26.8 min (TechGearLab); 31 min speed / 52 min quality (printer-hub); ~14 min (owner). Pro (delta noted): phone stand 2 h 15 m, articulated dragon 18 h 30 m, vase 4 h 45 m (3DTechValley, base); large model 6 h 52 min (Tom's, Pro); 220³ full-volume ASA array 24 h 44 min with "no detectable warping" (3DPrint.com, Pro)[61] | Benchy: 25 min wall-clock = 17 min print + ~8 min pre-print routine, QIDI Studio "fast Benchy" profile, stock settings (fran6p); ≈18 min (3DWork); 20 min in PLA (AndroidPCtv, who also logged 18 min for an ABS Buddha). Real parts (Tom's Hardware, all 0.2 mm layer): ABS-GF propeller 1 h 41 m @150 mm/s avg; PA11-CF vice jaws 2 h 44 m @100 mm/s; PolyMax PC screw ~1 h @75 mm/s; NylonG flour bomb ~10 h across two plates @150 mm/s; Inland Rainbow TPU Koosie 5 h 17 m @45 mm/s; PETG riser plates ~11 h each @170 mm/s. fran6p's per-material speeds: PLA 140–230, TPU ~80, PETG-GF ~200, ABS ~280, PET-CF ~220, PAHT-GF ~170 mm/s[263] |
| First-layer consistency reports | 3DPrint.com (Pro): "first layers have been nearly flawless over the last month", but "first layers on those materials are a tad too close" for ASA/Nylon. Counter-evidence: Tom's had a leveling failure that printed several mm above the platform; printer-hub reports stock-PEI adhesion problems with thin first layers; GitHub #73 (open) attributes mesh error to nozzle residue.[247] | Strong and well corroborated, with one systematic caveat and one dissenting owner. Tom's Hardware: the load-cell nozzle-tap "gave me excellent first layers with a perfect Z offset". HeatForge3D over ~3 months: "prints stick extremely well … The adhesion is strong and reliable even after several prints without re-cleaning … I've never had a print failure that would trigger the AI camera." fran6p ran ~350 h with few failures, none first-layer. QIDI markets it as "Zero-offset, Perfect first layer". Caveat: the load-cell probe requires a scrupulously clean nozzle — which is exactly why the ~8-minute pre-print clean exists. Dissent: one French owner needs to wash the PEI plate after every print to get first-layer adhesion, versus his Neptune 4 Pro needing only occasional IPA[264] |
| Review scores from major outlets (list outlet + score + date) | TechGearLab: 68/100 overall, ranked #5 of 11, dated 2024-12-23 — subscores Print Quality 6.7/10 (40 %), Ease of Use 7.2/10 (30 %), Print Capabilities 6.0/10 (20 %), Support 8.0/10 (10 %) — re-verified verbatim 2026-08-19. Igor's Lab (base 5M, 2025-02-27, Tim Kutzner): no numeric score or award; verdict "For 299 euros at the time of testing using the above code, you get a compact CoreXY printer, which has proven to be as loud as it is reliable." Tom's Hardware (5M Pro, 2023-10-18): verdict "Fast, but not First" — numeric star rating not recoverable from the saved page. 3DTechValley (base, 2026-03-03): no numeric score; "solid mid-range printer… no longer the obvious choice". 3DPrint.com (Pro, 2024-08-23): no numeric score; recommends for print farms. The 3D Printer Bee (Pro): no numeric score, no date published. 3Dnatives Lab (Pro): no numeric score in the fetched content.[2][6] | Tom's Hardware — 3 / 5 (Denise Bertacchi, 2025-11-07; article covers the Combo, and the score is dragged down by the QIDI Box: pros "Fast Core XY; Bimetal hardened steel nozzle; Heated chamber with multi-sensor temperature control; Fully Enclosed with activated carbon filtration; MET and IECEE CB Product Safety Certification"; cons "QIDI Box not ready; Tight bend In PTFE path to extruder requires DIY riser; Touch Screen interferes with door"). lesimprimantes3d.fr — 9.4 / 10 (fran6p, 2025-10-30; print quality 9.6, reliability 8.6, ecosystem 9.6, usability 9.5, value 9.5; weak points "Retard Qidi Box, Durée préparation impression, Non-respect Open source"). AndroidPCtv — 90 % (2025-08). P3D — 7.5 / 10 (Nov 2025; high-temp 9.5, print quality 8.0, user experience 6.0, value 7.5). 3DWork — no numeric score (2026-04-07, positive). Thomas Sanladerer — no score, explicitly undecided: "right now, I'm just really torn on what to think about the Q2"[265] |
Manufacturer claims, independent measurements, packages and test conditions retain their source wording. FDM linear speed and resin vertical speed use different units and are not directly comparable. Unknown values are marked “Not documented”. Prices and source dates remain historical snapshots; check the linked guide for product details. Differences highlight text, not a universal winner.
Sources for this comparison
- Flashforge Adventurer 5M product page flashforge.com · 2026-08 · vendor
- docs/manual.txt:255-257; https://www.flashforge.com/products/adventurer-5m-3d-printer; https://www.techgearlab.com/reviews/cool-gadgets/3d-printer/flashforge-adventurer-5 techgearlab.com · 2026-08 · doc
- docs/manual.txt:255-257; https://www.flashforge.com/products/adventurer-5m-3d-printer; https://www.techgearlab.com/reviews/cool-gadgets/3d-printer/flashforge-adventurer-5 printer-hub.ru · 2026-08 · doc
- us.qidi3d.com/products/qidi-q2; docs/QIDI-Q2-TDS.pdf (header "QIDI Q2 Technical Specification"); amazon.com/dp/B0FDWK8JD6 (productTitle); lesimprimantes3d.fr/forum/topic/ project evidence · 2026-08 · local
- https://3dprintbeginner.com/flashforge-adventurer-5m-pro-presentation/; https://www.tomshardware.com/reviews/flashforge-adventurer-5m-pro-3d-printer 3dprintbeginner.com · 2026-08 · doc
- https://3dprintbeginner.com/flashforge-adventurer-5m-pro-presentation/; https://www.tomshardware.com/reviews/flashforge-adventurer-5m-pro-3d-printer tomshardware.com · 2026-08 · doc
- 3dprint.com/320188/qidi-launches-compact-affordable-qidi-q2-3d-printer-for-home-use/; us.qidi3d.com/products/qidi-q2 (variant JSON); wiki.qidi3d.com/en/Q2/intro-Q2 (page project evidence · 2026-08 · local
- 3DPrintBeginner (5M $399 / 5M Pro $599); TechGearLab "$399 list" project evidence · 2026-08 · local
- 3dprint.com/320188/… ("$499 ($649 for the Q2 and QIDI BOX combo) … $469 … $619 … until September 17th"); us.qidi3d.com/products/qidi-q2; tomshardware.com/3d-printing/qidi project evidence · 2026-08 · local
- FlashForge product page; https://www.cdw.com/product/flashforge-adventurer-5m-3d-printer/7934222 (Mfg # AD5M, $419.99, re-verified by curl 2026-08-19 — page text: "FlashF cdw.com · 2026-08 · doc
- us.qidi3d.com/products/qidi-q2 (variant JSON: "price":49900, "compare_at_price":null, "available":true); amazon.com/dp/B0FDWK8JD6 (a-price-whole = 499); us.qidi3d.com col project evidence · 2026-08 · local
- firmware/flashforge-ad5m-5mpro-research/photo/readme.md (PCB comparison: TVOC connector, servo connector, power-on section "(*) Not soldered on the base version"); stock project evidence · 2026-08 · local
- qidi3d.com/blogs/news/qidi-3d-printer-comparison (QIDI's own 2026 lineup table); us.qidi3d.com/products/q2c (spec table: "Chamber Temperature No", "AI Camera Detection No project evidence · 2026-08 · local
- Flashforge AD5X multicolour 3D printer product page flashforge.com · 2026-08 · vendor
- FlashForge store navigation captured in scratchpad/ffwiki/trouble.html (fetched 2026-08-19); https://www.flashforge.com/products/flashforge-ad5x-3d-printer; https://www.3 3djake.com · 2026-08 · doc
- us.qidi3d.com/products/qidi-q2 ("In stock, ready to ship"); 3dwork.io/en/qidi-q2-review/ ("the Q2 arrives as its successor" to the Q1 Pro); qidi3d.com/pages/warranty-poli project evidence · 2026-08 · local
- manual §1.2; TechGearLab "217mm × 217mm (approximately 2.71% less than advertised)"; printer-hub "~217 x 217 mm actual"; stock printer.base.cfg L19-20/34-35 position_max: project evidence · 2026-08 · local
- firmware/config/printer.cfg L149-199; firmware/config/gcode_macro.cfg L3-8 ([gcode_macro PRINTER_PARAM]); wiki.qidi3d.com/en/Q2/print-volume-limitations project evidence · 2026-08 · local
- manual §1.2 L300-311; docs/manual.txt:202; FlashForge product page; 3DJake "363 × 402 × 448 mm (without spool holder)" project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Dimensions 402*438*494 mm", "Package Dimensions 480*520*585mm"); us.qidi3d.com/products/qidi-q2 (FAQ); tomshardware.com/3d-printing/qidi-q2-combo-r project evidence · 2026-08 · local
- manual §1.2 (Net Weight 10.8kg) project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Net Weight: 18.1kg", "Gross Weight: 23.5kg"); lesimprimantes3d.fr/forum/topic/63168 ("le colis pèse 24 kg, l'imprimante elle-même ne pesant qu'un p project evidence · 2026-08 · local
- FlashForge wiki linear-guide page (references "sheet metal top cover"); TechGearLab; printer-hub project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Shell: Glass and Plastic", "Chassis: Steel"); lesimprimantes3d.fr/forum/topic/63168 ("solide cadre acier associé à des parois en matière plastique" project evidence · 2026-08 · local
- https://www.flashforge.com/products/adventurer-5m-enclosure-kit; FlashForge product page ("ABS series Filaments is not compatible with the AD5M") flashforge.com · 2026-08 · doc
- lesimprimantes3d.fr/test-qidi-q2-20251030/ and /forum/topic/63168 ("capot en verre fumé bleu/violet", "une bande d'étanchéité", door "s'ouvre sur 100°"); tomshardware.com project evidence · 2026-08 · local
- — project evidence · 2026-08 · local
- (searched tomshardware.com/3d-printing/qidi-q2-combo-review, toms3d.org Q2 review, lesimprimantes3d.fr test + forum 63168 pages 1–2, 3dwork.io, androidpctv.com, insidethe project evidence · 2026-08 · local
- stock printer.base.cfg L174 kinematics: corexy; FlashForge wiki "CoreXY mechanism … two motors working in unison" project evidence · 2026-08 · local
- firmware/config/printer.cfg L117 ([printer]); docs/QIDI-Q2-TDS.pdf ("XY Structure: CoreXY"); tomshardware.com/3d-printing/qidi-q2-combo-review project evidence · 2026-08 · local
- FlashForge wiki, Linear Guide Maintenance for AD5M Series (fetched 2026-08-19): "Clean the X, Y, and Z-axis linear shafts…"; "clean both sides of the upper and lower slee project evidence · 2026-08 · local
- lesimprimantes3d.fr/forum/topic/63168 ("un rail de guidage (MGN12) permet les déplacements"); docs/QIDI-Q2-TDS.pdf ("X Axis: High Hardness Linear Guide Rail"); tomshardwa project evidence · 2026-08 · local
- FlashForge wiki Linear Guide Maintenance page; https://wiki.flashforge.com/en/adventurer-series/maintenance/ad5mseries-replace-the-xy-axis-guide-rail&bearing (video-only) wiki.flashforge.com · 2026-08 · doc
- lesimprimantes3d.fr/forum/topic/63168 ("une tige linéaire de diamètre 8 mm associée à une douille à billes LMU8UU (une tige et douille de chaque côté)"); docs/QIDI-Q2-TDS project evidence · 2026-08 · local
- stock printer.base.cfg L42-55 ([stepper_z] rotation_distance: 8, position_endstop: 220; max_z_velocity: 25, max_z_accel: 500); FlashForge wiki intro "three lead screws, w igorslab.de · 2026-08 · doc
- firmware/config/printer.cfg L181-224; docs/QIDI-Q2-TDS.pdf ("Z Axis: Dual Independent Lead Screw Motors, 10mm Linear Shafts and Screws"); tomshardware.com/3d-printing/qid project evidence · 2026-08 · local
- FlashForge wiki intro (Printer Back: "Belt tension adjusting screw"); https://wiki.flashforge.com/en/adventurer-series/maintenance/ad5mseries-adjust-and-replace-the-xy-ax wiki.flashforge.com · 2026-08 · doc
- firmware/config/printer.cfg L154, L170; lesimprimantes3d.fr/test-qidi-q2-20251030/ ("des courroies de 7 mm de pas 1,5 mm"); docs/QIDI-Q2-TDS.pdf ("CoreXY, 1.5GT Belt"); u project evidence · 2026-08 · local
- firmware/config/printer.cfg L136-146 ([motor_constants qidi_x_y]), L71, L155, L171, L187, L207; docs/QIDI-Q2-TDS.pdf ("Motor: 42-48 High-Speed Motor"); lesimprimantes3d.f project evidence · 2026-08 · local
- stock printer.base.cfg L183-213 ([tmc2209 stepper_x] uart_pin: PC2 … run_current: 0.9), L17/32/48 project evidence · 2026-08 · local
- firmware/config/printer.cfg L103-107, L227-271; docs/QIDI-Q2-TDS.pdf ("Stepper Motor Driver: TMC2240"); lesimprimantes3d.fr/test-qidi-q2-20251030/ ("2 TMC2240 (axes X et project evidence · 2026-08 · local
- stock printer.base.cfg L15, L30, L46, L61, L185/193/201/209 project evidence · 2026-08 · local
- firmware/config/printer.cfg L70, L153, L169, L185, L205 (microsteps); L105, L234, L249, L259, L268 (interpolate) project evidence · 2026-08 · local
- FlashForge product page; docs/manual.txt:279-289; https://uk.flashforge.com/blogs/news/flashforge-adventurer-5m-faq-before-buying uk.flashforge.com · 2026-08 · doc
- docs/QIDI-Q2-TDS.pdf; us.qidi3d.com/products/qidi-q2; tomshardware.com/3d-printing/qidi-q2-combo-review; lesimprimantes3d.fr/test-qidi-q2-20251030/; 3dwork.io/en/qidi-q2- project evidence · 2026-08 · local
- manual §1.2; printer-hub ("quality mode 250-400 mm/s; working speed 200-300 mm/s"); 3DTechValley ("PLA clean at 0.2mm layer, 250 mm/s"); FlashForge UK FAQ project evidence · 2026-08 · local
- us.qidi3d.com/products/qidi-q2 (FAQ); lesimprimantes3d.fr/test-qidi-q2-20251030/ (per-print "Vitesse d'impression"); tomshardware.com/3d-printing/qidi-q2-combo-review (17 project evidence · 2026-08 · local
- manual §1.2 Max Travel Speed 600mm/s; stock printer.base.cfg L175 max_velocity: 600; Orca machine_max_speed_x/y = 600 project evidence · 2026-08 · local
- firmware/config/printer.cfg L118, L120; firmware/config/gcode_macro.cfg L148-149, L160-162, L177-188 (F18000/F20000), L267 (G0 X260 Y5 F30000) project evidence · 2026-08 · local
- FlashForge product page; manual §1.2; stock printer.base.cfg L176 project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf; us.qidi3d.com/products/qidi-q2; qidi3d.com/blogs/news/qidi-3d-printer-comparison; lesimprimantes3d.fr/test-qidi-q2-20251030/; 3dwork.io/en/qidi-q2-r project evidence · 2026-08 · local
- stock printer.base.cfg L175, L178 project evidence · 2026-08 · local
- firmware/config/printer.cfg L118 project evidence · 2026-08 · local
- stock printer.base.cfg L176-179; Orca machine_max_acceleration_x/y = 20000, _z = 500, _e = 5000 project evidence · 2026-08 · local
- firmware/config/printer.cfg L119, L121; firmware/config/gcode_macro.cfg L961-974 (SET_VELOCITY_LIMIT ACCEL={s} + SET_VELOCITY_LIMIT ACCEL_TO_DECEL={s/2}), L273, L364, L39 project evidence · 2026-08 · local
- stock printer.base.cfg L180; firmware/orca_flashforge_profiles/fdm_adventurer5m_common.json L28-29; firmware/ff5m/tuning.cfg ([printer] square_corner_velocity: 9); firmwa project evidence · 2026-08 · local
- firmware/config/printer.cfg L122, L97 project evidence · 2026-08 · local
- https://www.flashforge.com/products/nozzle-assembly; https://www.3djake.com/flashforge/adventurer-5m ("flow rate of 32 mm³/s"); firmware/orca_flashforge_profiles/Flashfor flashforge.com · 2026-08 · doc
- lesimprimantes3d.fr/test-qidi-q2-20251030/ (each print block lists "Profil filament: … (débit volumétrique N mm3/s)"); qidi3d.com/blogs/news/qidi-3d-printer-comparison (" project evidence · 2026-08 · local
- (searched tomshardware.com Q2 review, toms3d.org, lesimprimantes3d.fr test + forum thread pages 1–2, 3dwork.io, androidpctv.com, insidethegeek.fr, p3d.mx, heatforge3d.com project evidence · 2026-08 · local
- https://www.igorslab.de/en/flashforge-adventurer-5m-3d-drucker-im-test/4/ (Benchy 14:09 / 26:09 / 33:28, spinner, Z-wobble; base 5M); TechGearLab; printer-hub; https://fo igorslab.de · 2026-08 · doc
- https://www.igorslab.de/en/flashforge-adventurer-5m-3d-drucker-im-test/4/ (Benchy 14:09 / 26:09 / 33:28, spinner, Z-wobble; base 5M); TechGearLab; printer-hub; https://fo forum.v1e.com · 2026-08 · doc
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Impression annoncée pour une durée de dix-sept minutes … presque huit minutes de préparation … Au bout de vingt-cinq minutes" project evidence · 2026-08 · local
- stock printer.cfg L2-6; stock printer.base.cfg L160-165 [resonance_tester] accel_chip:adxl345, min_freq: 5, max_freq: 100, probe_points: 0,0,100 project evidence · 2026-08 · local
- firmware/config/printer.cfg L24-30 ([resonance_tester]), L473-477 (SAVE_CONFIG [input_shaper]); firmware/klippy/input_shaper.py and shaper_defs.py L96-101 (unmodified ups project evidence · 2026-08 · local
- stock printer.base.cfg L150-158 ([adxl345] cs_pin: eboard:PA4, spi_speed: 1000000, spi_software_sclk_pin: eboard:PA5 …) project evidence · 2026-08 · local
- firmware/config/printer.cfg L109-114 ([lis2dw]), L27 (accel_chip:lis2dw); firmware/klippy/lis2dw.py L11, L28 (REG_LIS2DW_WHO_AM_I_ADDR = 0x0F, LIS2DW_DEV_ID = 0x44 — the project evidence · 2026-08 · local
- manual §5.1 "Choose [Leveling] or [Vibration test], click [Start]"; "When to perform vibration compensation: When there is noticeable ghosting and ringing…; After adjusti project evidence · 2026-08 · local
- firmware/config/gcode_macro.cfg L213-215 (PRINT_START → AUTOTUNE_SHAPERS), L288-290 ([gcode_macro AUTOTUNE_SHAPERS] — gcode: body is empty), L400-403 ([gcode_macro SHAPER project evidence · 2026-08 · local
- stock printer.cfg L2-6 and L30-34; firmware/flashforge_ad5m_klipper_mod/printer_configs/printer.cfg (shaper_type_x = mzv, shaper_freq_x = 52.5, shaper_type_y = zv, shaper project evidence · 2026-08 · local
- firmware/config/printer.cfg L24-30, L473-477; firmware/config/gcode_macro.cfg L400-403; firmware/klippy/resonance_tester.py L52-56 (upstream defaults min_freq 5., accel_p project evidence · 2026-08 · local
- 3DTechValley; 3DPrint.com; TechGearLab project evidence · 2026-08 · local
- toms3d.org/2025/09/30/wannabe-or-klipper-based-powerhouse-its-complicated-💀-with-the-qidi-q2/; androidpctv.com/qidi-q2-qidi-box-review/; insidethegeek.fr/qidi-q2-test-com project evidence · 2026-08 · local
- stock printer.base.cfg L74 project evidence · 2026-08 · local
- firmware/config/printer.cfg L94 project evidence · 2026-08 · local
- stock printer.base.cfg L74 pressure_advance:0.035 project evidence · 2026-08 · local
- firmware/config/printer.cfg L94; toms3d.org Q2 review ("from the factory, the printer is already dialed in to precisely the same values that I found") project evidence · 2026-08 · local
- manual §5.1; FlashForge wiki release notes 2.6.5 "Add PID calibration" (no PA entry in any release note) project evidence · 2026-08 · local
- firmware/config/gcode_macro.cfg (full file — the only PA-related entry is [gcode_macro M900] → SET_PRESSURE_ADVANCE, a passive setter); toms3d.org Q2 review ("in Qidi Stu project evidence · 2026-08 · local
- stock printer.base.cfg L216-239 (level_h1/h2/h3, [temperature_sensor weightValue] sensor_type: MAX31856 … gcode_id: W), L317-321 [probe] pin: !PB4 project evidence · 2026-08 · local
- firmware/config/printer.cfg L421-435 ([probe_air], sensor_type: c_sensor, sclk_pin: THR:PB3, dout_pin: THR:PB4); firmware/klippy/probe_air.py (whole file: from. import ai project evidence · 2026-08 · local
- stock printer.base.cfg L75-77, L287-295 project evidence · 2026-08 · local
- firmware/config/printer.cfg L77, L95-100 project evidence · 2026-08 · local
- FlashForge product page ("Extruder: Direct drive; Qty: 1"); manual §1.2; stock printer.base.cfg L57-60 (extruder stepper on eboard) project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Extruder Gear: Hardened Steel Dual Gears"); tomshardware.com/3d-printing/qidi-q2-combo-review ("hardened steel, dual geared extruder"); lesimpriman project evidence · 2026-08 · local
- stock printer.base.cfg L62 rotation_distance: 4.7; Amazon replacement-motor listing (10-tooth gear) project evidence · 2026-08 · local
- firmware/config/printer.cfg L68-69 (rotation_distance: 53.7, gear_ratio: 1517:170); docs/QIDI-Q2-TDS.pdf ("Transmission Ratio 8.9:1", "Hardened Steel Dual Gears"); 3dwork project evidence · 2026-08 · local
- stock printer.base.cfg L64 filament_diameter: 1.750 project evidence · 2026-08 · local
- firmware/config/printer.cfg L73 (filament_diameter: 1.75); docs/QIDI-Q2-TDS.pdf project evidence · 2026-08 · local
- manual §2.3 "Installing the Spool Holder and Filament Guide Tube"; manual §1.1 component 6 "Filament Detection Sensor"; nozzle-assembly kit descriptions project evidence · 2026-08 · local
- lesimprimantes3d.fr/forum/topic/63168 (nozzle assembly breakdown: "tube d'entrée du filament (≃ 10 mm)", "heatbreak (≃ 10 mm)"; "Entre les deux se trouve le coupe-filamen project evidence · 2026-08 · local
- (searched docs/QIDI-Q2-TDS.pdf, us.qidi3d.com/products/qidi-q2 full spec table and FAQ, qidi3d.com lineup comparison, plus all eight hands-on reviews — no N or kgf figure project evidence · 2026-08 · local
- FlashForge wiki firmware release notes (2.7.8-2.2.3-20241213); manual (keep ≥50 mm nozzle-plate distance during loading) project evidence · 2026-08 · local
- firmware/config/gcode_macro.cfg L841-909 (M603, M604); firmware/config/printer.cfg L36-47 (runout_gcode → AUTO_RELOAD_FILAMENT); firmware/config/saved_variables.cfg.bak L project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Q2/Replacehotend (full 8-step procedure: unload filament, power off, remove front cover, remove rear cover plate, "Disconnect the two hot end connector project evidence · 2026-08 · local
- FlashForge product page & manual §1.2; stock printer.base.cfg L73 max_temp: 350, L94; firmware/flashforge-ad5m-5mpro-research/software/Adventurer5M.json "extruderType" : project evidence · 2026-08 · local
- firmware/config/printer.cfg L74-76 (min_temp: 0, max_temp: 375, min_extrude_temp: 175), L317-321; docs/QIDI-Q2-TDS.pdf ("Print Head Temperature ≤ 370℃"); tomshardware.com project evidence · 2026-08 · local
- https://www.flashforge.com/products/nozzle-assembly; https://www.igorslab.de/en/flashforge-adventurer-5m-3d-drucker-im-test/6/ ("46 seconds", base 5M, wattmeter-instrumen igorslab.de · 2026-08 · doc
- (searched docs/QIDI-Q2-TDS.pdf, us.qidi3d.com/products/qidi-q2, wiki.qidi3d.com/en/Q2/Replacehotend, us.qidi3d.com/products/q2-bimetal-hot-end, and all eight hands-on rev project evidence · 2026-08 · local
- stock printer.base.cfg L66-67 project evidence · 2026-08 · local
- firmware/config/printer.cfg L79-86; firmware/klippy/spi_temperature.py L222-245 (MAX6675_SCALE = 3, MAX6675_MULT = 0.25 * 1.03, fault decode: "Device ID error", "Thermoco project evidence · 2026-08 · local
- manual §1.2; manual §2.2 Packing List (docs/manual.txt:380-415); stock printer.base.cfg L63 nozzle_diameter: 0.400 project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Nozzle Diameter 0.4mm, 0.2/0.6/0.8 mm Optional"); firmware/config/printer.cfg L72 (nozzle_diameter: 0.400); wiki.qidi3d.com/en/Q2/acc-in-the-box (1 project evidence · 2026-08 · local
- FlashForge wiki intro: "0.25mm and 0.4mm Nozzle are made of stainless steel; 0.6mm and 0.6mm Nozzle are high-strength steel" [sic — second "0.6" is FlashForge's typo for project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Nozzle: Bimetal Nozzle"); us.qidi3d.com/products/qidi-q2 ("Bimetal hardened steel nozzle for increased durability"); tomshardware.com/3d-printing/q project evidence · 2026-08 · local
- FlashForge wiki intro; manual §6.2 item 5 ("After replacing the nozzle, please perform leveling again"); Tom's Hardware project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Q2/Replace-nozzle (six steps, 220 °C twice, socket wrench); wiki.qidi3d.com/en/Q2/Maintenance-Manual ("Tighten the nozzle while hot to 1.5–2.0 N·m"); l project evidence · 2026-08 · local
- FlashForge nozzle-assembly page; Amazon B0DLWR7T5C / B0FW3TBSN6 / B0DKNLYGMF; https://www.printables.com/model/1002162-flashforge-adventurer-5m-bambu-lab-x1-hotend-mod printables.com · 2026-08 · doc
- us.qidi3d.com/products/q2-bimetal-nozzles2pc (variants "PLUS5/Q2/Q2C / 0.2mm, 0.4mm, 0.6mm, 0.8mm", all in stock, $29.99); us.qidi3d.com/products/q2-tungsten-carbide-bime project evidence · 2026-08 · local
- lesimprimantes3d.fr/forum/topic/63168 ("Elle est constituée de quatre parties : buse … (longueur ≃ 30 mm), transition en céramique (3 mm), heatbreak (≃ 10 mm), tube d'ent project evidence · 2026-08 · local
- FlashForge nozzle-assembly page project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf; us.qidi3d.com/products/qidi-q2 (FAQ: "QIDI will also release a high-flow nozzle in the future to support even faster printing"); lesimprimantes3d.fr project evidence · 2026-08 · local
- firmware/config/printer.cfg L273-287; docs/QIDI-Q2-TDS.pdf ("Hot Bed Temperature ≤ 120℃"); tomshardware.com/3d-printing/qidi-q2-combo-review ("the bed goes to 120°C"); le project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Le plateau chauffant (24 V) est constitué d'une plaque d'aluminium de 3 mm recouverte d'une base magnétique"); docs/QIDI-Q2-T project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Quelques mesures de montée en température du lit, départ à 20 °C, vitre supérieure en place et porte fermée. Le PID du lit a project evidence · 2026-08 · local
- manual §6.1 (docs/manual.txt:891-896): "1. Powder coated PEI plate requires glue and is suitable for printing PLA/PETG/PLA-CF/PETG-CF/ABS/ASA. TPU printing does not requi project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Printing Plate: Double-sided PEI Magnetic Build Plate"); us.qidi3d.com/products/qidi-q2 ("Dual-Sided Textured PEI Plate"); tomshardware.com/3d-prin project evidence · 2026-08 · local
- FlashForge accessories nav (captured 2026-08-19); manual §6.1; https://partsbuilt.com/adventurer-5m5m-pro/ partsbuilt.com · 2026-08 · doc
- us.qidi3d.com/products/q2-dual-sided-pei-plate ($32.99); us.qidi3d.com/products/q2-dual-sided-smooth-plate ($49.99); us.qidi3d.com/products/qidi-cool-plate-pro (also in Q project evidence · 2026-08 · local
- (searched all eight hands-on reviews plus the two French forum threads; AndroidPCtv performed the only thermal inspection and reported only a qualitative result: "the sys project evidence · 2026-08 · local
- stock printer.base.cfg L216-257 and L317-321; FlashForge wiki intro ("The heated bed has a pressure sensor at its base"; "measuring the relative height between the nozzle project evidence · 2026-08 · local
- firmware/config/printer.cfg L421-435; firmware/klippy/probe_air.py (entire file — a 4-line shim into the compiled air.cpython-39-aarch64-linux-gnu.so); lesimprimantes3d.f project evidence · 2026-08 · local
- stock printer.base.cfg L302-312; corroborated by the SAVE_CONFIG mesh in stock printer.cfg L11-28 (x_count = 5, y_count = 5, mesh_x_pps = 3, algo = bicubic) project evidence · 2026-08 · local
- firmware/config/printer.cfg L439-448, L479-497 (saved [bed_mesh kamp]: x_count = 6, y_count = 6, min_x/min_y 15.0, max_x/max_y 260.0); firmware/config/KAMP_Settings.cfg L project evidence · 2026-08 · local
- stock printer.base.cfg L319 z_offset: -0.25; FlashForge wiki release notes 2.4.2 ("Change the single adjustment unit for Z-offset to 0.025mm"); wiki intro ("No need for l project evidence · 2026-08 · local
- firmware/config/printer.cfg L428 (z_offset:-0.07); firmware/config/gcode_macro.cfg L19-28 (save_zoffset, set_zoffset), L276 (set_zoffset in PRINT_START), L717-719 (M290 → project evidence · 2026-08 · local
- Stock printer.base.cfg has no [screws_tilt_adjust]; firmware/flashforge_ad5m_klipper_mod/printer_configs/printer.base.cfg L313-324 adds it (4× M4, ±94) project evidence · 2026-08 · local
- firmware/config/printer.cfg L49-57 ([bed_screws], screw1 "Front left", screw2 "Front right", screw3 "Last right", screw4); firmware/config/gcode_macro.cfg L766-788 (move_ project evidence · 2026-08 · local
- stock printer.base.cfg (single [stepper_z], no z_tilt); FlashForge wiki intro project evidence · 2026-08 · local
- firmware/config/printer.cfg L212-224 ([z_tilt]); firmware/config/gcode_macro.cfg L256 (Z_TILT_ADJUST inside PRINT_START), L755 (also inside the M4029 full-calibration mac project evidence · 2026-08 · local
- manual §5.1 (docs/manual.txt:848-858) + evidence/flashforge_ad5m_user_manual_extracts.md; FlashForge wiki release notes 2.3.6 and 2.4.5 ("Add bed preheating before leveli project evidence · 2026-08 · local
- firmware/config/gcode_macro.cfg L213-278 (PRINT_START), L926-959 (G29, G31, G32), L57-150 (CLEAR_NOZZLE); wiki.qidi3d.com/en/Q2/how-to-disable-auto-leveling; lesimprimant project evidence · 2026-08 · local
- stock printer.base.cfg L259-274; manual §1.1 (docs/manual.txt:241); manual §5.2 ("When [Filament detect] is enabled, the printer will stop printing if filament runs out m project evidence · 2026-08 · local
- firmware/config/printer.cfg L36-47; firmware/config/saved_variables.cfg.bak L2 (auto_reload_detect = 1); docs/QIDI-Q2-TDS.pdf ("Filament Run Out Sensor: Yes"); us.qidi3d. project evidence · 2026-08 · local
- Grep of the full official manual text for `tangl\ project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Filament Tangle Detection: Yes (QIDI BOX required)"); us.qidi3d.com/products/qidi-q2 ("Filament Detection: Run Out Sensor (mounted above extruder), project evidence · 2026-08 · local
- Stock config has no filament_motion_sensor, no extrusion encoder, no clog macro project evidence · 2026-08 · local
- lesimprimantes3d.fr/forum/topic/63168 ("un interrupteur détectant la présence (ou l'absence) de filament, mais pas de détection d'un filament bloqué"); firmware/config/pr project evidence · 2026-08 · local
- FlashForge wiki release notes 2.3.6 ("Add M25 pause command", "Recognize M106 P2") and 2.4.2; stock printer.base.cfg (only M900 custom macro); firmware/flashforge_ad5m_kl project evidence · 2026-08 · local
- firmware/config/gcode_macro.cfg L481-522 (PAUSE, SET_IDLE_TIMEOUT TIMEOUT=259200), L524-612 (RESUME_PRINT, RESUME), L729-736 (M0, M25), L841-909 (M603, M604) project evidence · 2026-08 · local
- manual §1.1 component 5 "Screw Holes for Spool Holder"; manual §2.3; FlashForge wiki intro ("Spool holder mounting hole") project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Q2/acc-in-the-box (items 1–4: Filament Extension Bracket, Extension Bracket Fixing Block, Filament Spool Holder, Holder Cover); androidpctv.com/qidi-q2 project evidence · 2026-08 · local
- FlashForge AD5X product page; https://wiki.coprint3d.com/en/Flashforge-Adventurer-5M-Pro-KCM-Set-Installation-Guide; Z-Mod README (multi-spool "Smart COLOR Menu" listed f wiki.coprint3d.com · 2026-08 · doc
- us.qidi3d.com/products/qidi-box ($228, variants incl. "Q2 / In Stock"); firmware/config/box.cfg (entire file: four commented-out includes); firmware/config/saved_variable project evidence · 2026-08 · local
- stock printer.base.cfg L117-118; FlashForge wiki intro ("a model cooling fan, and the air ducts at both sides ensure comprehensive model cooling") project evidence · 2026-08 · local
- firmware/config/printer.cfg L367-378; firmware/config/gcode_macro.cfg L665-672 (M106 P0 → cooling_fan); wiki.qidi3d.com/en/Q2/intro-Q2 ("The Q2 is equipped with a 5015 ra project evidence · 2026-08 · local
- FlashForge wiki intro: "Adventurer 5M Pro is additionally equipped with an auxiliary cooling fan"; base PCB lacks the populated Pro fan headers (g992 photo/readme.md) project evidence · 2026-08 · local
- firmware/config/printer.cfg L389-399; firmware/config/gcode_macro.cfg L657-663; docs/QIDI-Q2-TDS.pdf ("Auxiliary Part Cooling Fan: 4-Pin PWM Fan with RPM Feedback"); wiki project evidence · 2026-08 · local
- firmware/config/printer.cfg L353-365; lesimprimantes3d.fr/test-qidi-q2-20251030/ ("un 2510 axial refroidit le radiateur quand la température de la buse passe au-dessus de project evidence · 2026-08 · local
- stock printer.base.cfg L120-132, L276-282; g992 photo/readme.md items 2, 3, 6, 7 carry "(*) Not soldered on the base version"; FlashForge wiki intro (Pro-only filtration, project evidence · 2026-08 · local
- firmware/config/printer.cfg L329-351 (chamber_circulation_fan, chamber_fan); firmware/config/gcode_macro.cfg L226-228 ({% if chambertemp == 0 %} M106 P3 S255 {% endif %}) project evidence · 2026-08 · local
- firmware/config/printer.cfg L380-386; firmware/config/gcode_macro.cfg L311-318 ([delayed_gcode PRINTER_INIT] → SET_STEPPER_ENABLE STEPPER=stepper_z enable=1, stepper_z1 e project evidence · 2026-08 · local
- stock printer.base.cfg L117-132 project evidence · 2026-08 · local
- firmware/config/printer.cfg L330-399 (all six fan sections; hardware_pwm: false at L334, L373, L394 only; tachometer_pin at L347, L363, L376, L397 only); docs/QIDI-Q2-TDS project evidence · 2026-08 · local
- stock printer.base.cfg L1-9; firmware/flashforge_ad5m_klipper_mod/build_scripts/components/mcu_configs/ffad5m/mainboard → CONFIG_MACH_N32G455xE=y, CONFIG_MACH_N32G45x=y, project evidence · 2026-08 · local
- firmware/config/printer.cfg L10-13 ([mcu THR] serial: /dev/ttyS4, baud: 500000); lesimprimantes3d.fr/test-qidi-q2-20251030/ ("La sérigraphie sur le PCB … indique X-9-3 (v project evidence · 2026-08 · local
- firmware/flashforge_ad5m_klipper_mod/README.md L38: "All features of the mod run directly on the printer built-in system (Allwinner T113-S3 with 128MB RAM)"; firmware/ff5 project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ and /forum/topic/63168 (silkscreen X-9-1 (v1.5); cat /proc/device-tree/model = "Rockchip RK3308B-S evb analog mic v11 board"; f project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Sa puissance de 350 W (24 V / ≃ 15 A) … Son ventilateur tournant constamment est audible machine à l'arrêt"; "Le chauffage de project evidence · 2026-08 · local
- manual §1.2 line 302 (Input: AC 100~120V/200~240V,50/60Hz,350W); FlashForge product page project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Voltage: 110V / 220–240V AC, 50/60Hz (region-specific models available)"); lesimprimantes3d.fr/test-qidi-q2-20251030/ and /forum/topic/63168 ("Qidi project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Rated Power: 350W+280W(Chamber Heating)"); us.qidi3d.com/products/qidi-q2; qidi3d.com/blogs/news/qidi-3d-printer-comparison ("Rated power: 350 W + project evidence · 2026-08 · local
- g992 photo/readme.md ("1. USB connector, not used in the basic version"; "8. 1 more free USB! Yay!"); photo/USB_HUB_Connection.png, photo/PDIC_Connection.png; manual §1.1 project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Q2/Q2-Motherboard-Schematic (labelled port map: 1 "Expansion Interface Signal Port", 12 "AC Module Signal Port", 13 "LED Port", 22 "Network Signal Port project evidence · 2026-08 · local
- FlashForge wiki firmware release notes; https://wiki.zmod.link/Native_FW/ (re-fetched 2026-08-19 — AD5M: 3.1.3 (2025-01-07), 3.1.9 (2025-08-07), 3.2.3 (2025-10-16), 3.2.5 wiki.zmod.link · 2026-08 · doc
- github.com/QIDITECH/QIDI_Q2 (README: "QIDI Q2 is a 3D printer that uses Klipper as its foundation"; releases list); firmware/config/printer.cfg (whole file is stock Klipp project evidence · 2026-08 · local
- curl https://api.github.com/orgs/FlashForge/repos → FlashForge/OrcaSlicer (pushed 2024-07-10), FlashForge/AD5M_Series_Klipper (2024-05-09), FlashForge/Orca-Flashforge (20 api.github.com · 2026-08 · doc
- github.com/QIDITECH/QIDI_Q2 (tree at 3f6bcc8, 1033 blobs: 726 fluidd, 216 klipper, 71 moonraker, 13 config, 5 other, + LICENSE + README; 1055 total tree entries including project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Memo/System-Time-Modification ("using any SSH connection software to access the printer's LINUX system … Please log in with mks and password: makerbase project evidence · 2026-08 · local
- g992 software/readme.md: "we have not moonraker :("; printer-hub ("ships with Klipper-based firmware without web interface"); firmware/flashforge_ad5m_klipper_mod/README. project evidence · 2026-08 · local
- firmware/config/moonraker.conf (entire file); github.com/QIDITECH/QIDI_Q2 README ("we've adapted Moonraker … We also use Fluidd as one of the ways for users to interact w PRINTER_IP:10088 · 2026-08 · doc
- firmware/config/moonraker.conf (entire file); github.com/QIDITECH/QIDI_Q2 README ("we've adapted Moonraker … We also use Fluidd as one of the ways for users to interact w localhost:10088 · 2026-08 · doc
- GitHub API repo stats (fetched 2026-08-19); evidence/zmod_readme.md; firmware/ff5m/README.md, version.txt, docs/MOD_COMPARISON.md; firmware/flashforge_ad5m_klipper_mod/RE project evidence · 2026-08 · local
- github.com/MisterSheikh/Qidi_Q2_Mainline_Klipper (README + docs/config_changes.md; API metadata: stars 57, created 2026-02-25T13:45:39Z, pushed 2026-08-21T00:40:29Z, GPL- project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("La procédure de mise à jour manuelle utilise la clé USB contenant à la racine un dossier QD_Update … QD_Q2_SOC (un fichier in project evidence · 2026-08 · local
- stock printer.base.cfg L284-295; firmware/orca_flashforge_profiles/fdm_adventurer5m_common.json ("gcode_flavor": "klipper", emit_machine_limits_to_gcode: 1); FlashForge w project evidence · 2026-08 · local
- firmware/config/gcode_macro.cfg (whole file, 1004 lines — M141 L634-639 and M191 L642-651 both use TARGET= min of s and 65 (Jinja min-filter on [s, 65]); [gcode_arcs] L91 project evidence · 2026-08 · local
- firmware/ff5m/docs/FIRMWARE_5x_COMPAT.md — verbatim: "an OTA flash reverts /etc/shadow and /etc/inittab to stock. This is identical to 3.x behavior and does not affect Fo project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Memo/System-Time-Modification; lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Quand une mise à jour a lieu (en-ligne ou hors-ligne), le fichier printer.c project evidence · 2026-08 · local
- firmware/flashforge_ad5m_klipper_mod/docs/LINUX.md: "Klipper Mod is not a conventional Linux distribution… you won't find a package manager or systemd"; "Be aware of the project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ and /forum/topic/63168 (verbatim cat /etc/os-release, cat /etc/debian_version, lscpu, uname/dmesg banner "Linux version 5.10.16 project evidence · 2026-08 · local
- Negative evidence, re-verified independently 2026-08-19: grep -ril 'tailscale' firmware/ff5m firmware/flashforge_ad5m_klipper_mod → none; `grep -rn 'net/tun\ project evidence · 2026-08 · local
- lesimprimantes3d.fr/forum/topic/63168 (sudo apt list --upgradable output includes openvpn/oldoldstable-security 2.5.1-3+deb11u1 arm64, i.e. openvpn is installed; lsmod sh project evidence · 2026-08 · local
- lesimprimantes3d.fr/forum/topic/63168 (sudo apt list --upgradable lists openssh-server, openssh-client, openssh-sftp-server, ssh as installed packages; live sessions show project evidence · 2026-08 · local
- firmware/flashforge_ad5m_klipper_mod/docs/LINUX.md ("The host system is mounted read-only to /mnt/orig_root. The printer data partition is mounted to /mnt/data… The mod s project evidence · 2026-08 · local
- lesimprimantes3d.fr/forum/topic/63168 (mount output verbatim; fdisk -l showing the 6-partition GPT); lesimprimantes3d.fr/test-qidi-q2-20251030/ ("À la fin du fichier prin project evidence · 2026-08 · local
- manual §1.2 (Smart Touch Screen 4.3-inch); FlashForge product page project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Display Screen: 4.3 Inch 480*272 Touch Screen"); us.qidi3d.com/products/qidi-q2; lesimprimantes3d.fr/test-qidi-q2-20251030/ (dmesg: "input: Goodix project evidence · 2026-08 · local
- FlashForge wiki firmware release notes (2.3.6 → 3.1.9, fetched 2026-08-19); manual §5.1-5.2; FlashForge wiki intro ("automatic shutdown upon print completion") project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ and /forum/topic/63168 (full ls QD_Q2/access listing and ls -al QD_Q2/bin showing client 13 372 952 bytes + start.sh); androidp project evidence · 2026-08 · local
- firmware/flashforge_ad5m_klipper_mod/build_overlays/common/etc/init/init_chroot.sh L11 insmod /mnt/orig_root/lib/modules/8821cu.ko; FlashForge wiki intro ("5G & 2.4G Wi-F project evidence · 2026-08 · local
- docs/QIDI-Q2-TDS.pdf ("Connectivity: Wi-Fi; Ethernet; USB"; "Wifi Frequency Bands: 2.4 GHz"; "Transmitter Power (EIRP): 18 dBm (MAX)"; "Protocol: IEEE 802.11b/g/n"; "Stor project evidence · 2026-08 · local
- manual lines 759-813 ("WAN Mode and LAN Only Mode", "b. LAN Only Mode: Enable [LAN Only]", FlashCloud URL, Polar Cloud); manual line 579: "The APP does not support connec project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Q2/firmware-release-history (V01.01.02.01 "Adapted to QIDIMaker; QIDILink will be discontinued"); toms3d.org Q2 review ("they are doing everything loca project evidence · 2026-08 · local
- FlashForge wiki intro ("Adventurer 5M Pro is equipped with a camera"); manual line 577 ("Real-time monitoring is only accessible when a camera is installed"); FlashForge project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Sa résolution fixée en usine à 640 x 480 pixels peut être augmentée en modifiant le fichier crowsnest.conf. Pour ma part, je project evidence · 2026-08 · local
- FlashForge wiki intro ("The printer automatically captures photos during printing and creates time-lapse videos"); evidence/3dwithus_ad5mpro_review.md; Tom's Hardware project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Q2/Spaghetti_detection ("performed entirely onboard … Spaghetti Detection is currently available only when printing with light-colored filament on the project evidence · 2026-08 · local
- stock printer.base.cfg L106-108 ([led chamber_led] white_pin: PA8); software/Adventurer5M.json ("printerName" : "Adventurer 5M Pro", "extruderLight" : 100, "ledStatus" : project evidence · 2026-08 · local
- firmware/config/printer.cfg L415-419; firmware/config/gcode_macro.cfg L999-1004 (LED_ON, LED_OFF); wiki.qidi3d.com/en/Q2/how-to-control-LED-light; 3dwork.io/en/qidi-q2-re project evidence · 2026-08 · local
- stock printer.base.cfg L302-321; FlashForge wiki release notes 2.3.6 ("Add nozzle wiping before auto-leveling") and 2.4.5 ("Add bed preheating before leveling"); manual § project evidence · 2026-08 · local
- firmware/config/gcode_macro.cfg L738-763 (M4029), L790-818 (M4030, M4031), L694-705 (M303→PID_CALIBRATE), L721-727 (M901); lesimprimantes3d.fr/test-qidi-q2-20251030/ ("ch project evidence · 2026-08 · local
- FlashForge wiki release notes 2.6.5 ("Add PID calibration"); manual §5.1 note; stock printer.base.cfg L68-71, L84-87 project evidence · 2026-08 · local
- firmware/config/gcode_macro.cfg L694-705 ([gcode_macro M303]); firmware/config/printer.cfg L89-92 (extruder PID), L278-284 (bed PID, with an older commented-out set), L29 project evidence · 2026-08 · local
- Manual §5.1 lists only leveling / vibration / PID; no flow entry in any FlashForge release note 2.3.6→3.1.9 project evidence · 2026-08 · local
- toms3d.org Q2 review ("in Qidi Studio, you get a tuning tab that will generate a standard tuning tower for you. To dial in just that, it gives you instructions on how to project evidence · 2026-08 · local
- FlashForge wiki intro ("Belt tension adjusting screw for adjusting the belt tension to an appropriate level"); the belt maintenance wiki page is video-only project evidence · 2026-08 · local
- androidpctv.com/qidi-q2-qidi-box-review/ ("We have two openings to tension the straps comfortably without disassembling anything"); wiki.qidi3d.com/en/Q2/Adjustment-belt; project evidence · 2026-08 · local
- FlashForge wiki release notes 2.3.6, 2.4.2; manual §5.1 project evidence · 2026-08 · local
- toms3d.org Q2 review ("it should be able to do spaghetti detection based on a standard object classifier model, but also build chamber clearance monitoring at the start o project evidence · 2026-08 · local
- Stock printer.base.cfg has no [skew_correction]; firmware/flashforge_ad5m_klipper_mod/printer_configs/printer.base.cfg L305 and printer_configs/printer.cfg; firmware/ff5m project evidence · 2026-08 · local
- firmware/config/printer.cfg (497 lines — no [skew_correction]); firmware/config/gcode_macro.cfg (1004 lines — no skew macro); (also searched wiki.qidi3d.com/en/Q2 page in project evidence · 2026-08 · local
- TechGearLab ("Setup Time: 12 minutes"); 3DTechValley ("setup taking 12-15 minutes"); manual §2.x; 3DWithUs: "one of the easiest printers we have set up to date" project evidence · 2026-08 · local
- tomshardware.com/3d-printing/qidi-q2-combo-review ("The QIDI Q2 is almost fully assembled from the factory. The touch screen must be plugged in and attaches without tools project evidence · 2026-08 · local
- manual §1.2 (Power Loss Recovery √); FlashForge product page ("Power loss recovery"); FlashForge wiki release notes 2.7.3; software/Adventurer5M.json ("recover" : false); project evidence · 2026-08 · local
- firmware/config/plr.cfg (entire file: [gcode_shell_command POWER_LOSS_RESUME], [gcode_shell_command UPDATE_GCODE_LINES], save_last_file, CLEAR_LAST_FILE, LOG_Z, RESUME_IN project evidence · 2026-08 · local
- Searched all 7 reviews above for power-loss testing → none; evidence/zmod_readme.md ("Klipper v11, plagued by bugs (E0011, E0017, incorrect object exclusion, broken SCV, project evidence · 2026-08 · local
- wiki.qidi3d.com/en/Q2/power-loss-recover (quoted text; "The default pause time limit is 72 hours"); firmware/config/gcode_macro.cfg L516 (SET_IDLE_TIMEOUT TIMEOUT=259200 project evidence · 2026-08 · local
- manual §5.2 (docs/manual.txt:876-879); stock printer.base.cfg L271-274; FlashForge wiki release notes 2.4.2 project evidence · 2026-08 · local
- firmware/config/printer.cfg L36-47 ([filament_switch_sensor]); firmware/config/gcode_macro.cfg L481-522 (PAUSE), L524-584 (RESUME_PRINT), L587-612 (RESUME), L7-8 (clear_x project evidence · 2026-08 · local
- manual §1.2 Supported Filament; FlashForge product page; FlashForge wiki intro ("Print PLA, PETG with 0.4mm or 0.25mm nozzle; print TPU, PLA-CF and PETG-CF with 0.6mm or project evidence · 2026-08 · local
- firmware/config/officiall_filas_list.cfg (entire file, [fila1]–[fila50], each with filament, min_temp, max_temp, box_min_temp, box_max_temp, type); firmware/config/drying project evidence · 2026-08 · local
- 3DTechValley; firmware/orca_flashforge_profiles/Flashforge Generic PETG.json (nozzle_temperature: 255, hot_plate_temp: 70, filament_max_volumetric_speed: 12); 3DPrint.com project evidence · 2026-08 · local
- toms3d.org Q2 review (PLA heat-creep incident; "gross artifacting around the bridging area of horizontal holes"); lesimprimantes3d.fr/test-qidi-q2-20251030/ (per-material project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Matériau: Qidi ABS Rapido … Température de la buse: 270 °C … lit: 90 °C … chambre: 60 °C … Vitesse ~280 mm/s … je n'ai pas se project evidence · 2026-08 · local
- manual §1.2; FlashForge wiki intro; manual §6.1 item 3 ("PC sticker platform plate is suitable for printing PC/ABS/ASA"); 3Dnatives (PLA, PETG, ABS, PA-CF tested on the P project evidence · 2026-08 · local
- tomshardware.com/3d-printing/qidi-q2-combo-review ("With the bed at 120°C, the chamber and QIDI box cranked to 65°C and the nozzle not quite maxed out at 295°C, the Q2 pr project evidence · 2026-08 · local
- stock printer.base.cfg L73 (max_temp: 350), L66 (Generic 3950), L91 (bed max_temp: 130); manual §1.2 (280 °C / 110 °C); FlashForge product page project evidence · 2026-08 · local
- firmware/config/printer.cfg L75 (max_temp: 375), L287 (max_temp: 125), L289-302 ([heater_generic chamber] max_temp:70, z_max_limit:230); firmware/config/gcode_macro.cfg L project evidence · 2026-08 · local
- https://github.com/FlashForge/Orca-Flashforge/tree/main/resources/profiles/Flashforge (machine dir lists Flashforge Adventurer 5M 0.25/0.4/0.6/0.8 Nozzle.json, verified v github.com · 2026-08 · doc
- docs/QIDI-Q2-TDS.pdf ("Slicer: QIDI Studio and other third-party software, such as PrusaSlicer, Orca etc, but certain advanced features may not be supported"); us.qidi3d. project evidence · 2026-08 · local
- stock printer.base.cfg L93-103; firmware/AD5M_Series_Klipper/klippy/extras/verify_heater.py L22-31 (hysteresis', 5., max_error', 120., heating_gain', 2., default_gain_tim project evidence · 2026-08 · local
- firmware/config/printer.cfg L304-327 (three [verify_heater] blocks), L311-315 (Chamber_Thermal_Protection_Sensor); firmware/klippy/verify_heater.py (stock Kevin O'Connor project evidence · 2026-08 · local
- tomshardware.com/3d-printing/qidi-q2-combo-review ("the machine is certified by MET for product safety in the US and Canada and IECEE CB internationally"); 3dprint.com/32 project evidence · 2026-08 · local
- manual assembly section; docs/manual.txt:12, :161, :181-202; g992 upgrades/silent_psu.md ("terminals at the bottom of the power supply, under the plastic cover") project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Cet endroit ne possède pas d'ouverture sur l'intérieur de l'imprimante, ce qui est une bonne chose pour éviter des transferts project evidence · 2026-08 · local
- stock printer.base.cfg L72-73, L90-91, L93-103, L140-148, L167-168; firmware/flashforge_ad5m_klipper_mod/build_scripts/components/mcu_configs/ffad5m/mainboard (CONFIG_INI project evidence · 2026-08 · local
- firmware/config/printer.cfg L74-76, L87 (extruder), L277, L285-287 (bed), L289-302 (chamber, incl. z_max_limit:230), L311-315 (protection sensor), L450-459 ([idle_timeout project evidence · 2026-08 · local
- (searched: web queries for "QIDI Q2" recall / fire / safety incident 2026; cpsc.gov recall results returned only the unrelated Bambu Lab A1 recall; all eight hands-on rev project evidence · 2026-08 · local
- https://www.igorslab.de/en/flashforge-adventurer-5m-3d-drucker-im-test/6/ (base 5M: "62.3 dB(A) in operation", "41.1 dB(A) at idle", hotend fan "54.8 dB(A), even without 3dprint.com · 2026-08 · doc
- https://www.igorslab.de/en/flashforge-adventurer-5m-3d-drucker-im-test/6/ (base 5M: "62.3 dB(A) in operation", "41.1 dB(A) at idle", hotend fan "54.8 dB(A), even without the3dprinterbee.com · 2026-08 · doc
- androidpctv.com/qidi-q2-qidi-box-review/ ("the printer reaches a level of 56 dB in normal use, with BOX we can reach 65 dB"); lesimprimantes3d.fr/test-qidi-q2-20251030/ ( project evidence · 2026-08 · local
- stock printer.base.cfg L189, L197, L205, L213 (#stealthchop_threshold: — all commented); evidence/3dwithus_ad5mpro_review.md project evidence · 2026-08 · local
- firmware/config/printer.cfg L380-386 ([controller_fan board_fan] stepper: stepper_z,stepper_z1); firmware/config/gcode_macro.cfg L311-318 (PRINTER_INIT enables both Z ste project evidence · 2026-08 · local
- insidethegeek.fr/qidi-q2-test-complet-et-avis-sur-la-nouvelle-imprimante-3d-de-chez-qidi-2025/ ("Consommation en veille: 27 W (~35 €/an si laissée branchée)"; "En impress project evidence · 2026-08 · local
- us.qidi3d.com/products/qidi-q2 ("Warranty 1-Year Coverage", "14-Day No Reason Return", "Expert Support: Lifetime Tech Guidance"); qidi3d.com/pages/warranty-policy-after-s project evidence · 2026-08 · local
- Tom's Hardware; https://github.com/xblax/flashforge_ad5m_klipper_mod/issues/73; https://github.com/xblax/flashforge_ad5m_klipper_mod/issues/203; https://github.com/xblax/ github.com · 2026-08 · doc
- Tom's Hardware; https://github.com/xblax/flashforge_ad5m_klipper_mod/issues/73; https://github.com/xblax/flashforge_ad5m_klipper_mod/issues/203; https://github.com/xblax/ github.com · 2026-08 · doc
- Tom's Hardware; https://github.com/xblax/flashforge_ad5m_klipper_mod/issues/73; https://github.com/xblax/flashforge_ad5m_klipper_mod/issues/203; https://github.com/xblax/ github.com · 2026-08 · doc
- Tom's Hardware; https://github.com/xblax/flashforge_ad5m_klipper_mod/issues/73; https://github.com/xblax/flashforge_ad5m_klipper_mod/issues/203; https://github.com/xblax/ wiki.flashforge.com · 2026-08 · doc
- heatforge3d.com/en/blogs/tuote-arvostelut/qidi-q2-rehellinen-kokemus; github.com/QIDITECH/QIDI_Q2/issues/3, /7, /9, /13, /14, /15, /16, /17, /18, /19, /22, /23, /24, /25; project evidence · 2026-08 · local
- https://www.flashforge.com/products/nozzle-assembly ($35.00); https://www.flashforge.com/products/adventurer-5m-enclosure-kit ($39.99); https://partsbuilt.com/adventurer- eu.flashforge.com · 2026-08 · doc
- us.qidi3d.com product endpoints, each fetched individually 2026-08-21: /products/q2-motherboard, /q2-ap-board, /q2-screen, /q2-bimetal-hot-end, /q2-extruder, /q2-bimetal- project evidence · 2026-08 · local
- curl https://api.github.com/repos/{...} (all five, 2026-08-19); evidence/zmod_readme.md (t.me/FF_5M_5M_Pro); firmware/ff5m/docs/FAQ.md (t.me/FF_ForgeX) api.github.com · 2026-08 · doc
- github.com/QIDITECH/QIDI_Q2/issues (25 items = 21 issues + 4 PRs, staff-monitored) and /issues/2 (Discord invite https://discord.gg/BxzyFNck); wiki.qidi3d.com/en/Q2 (page discord.gg · 2026-08 · doc
- evidence/zmod_readme.md; firmware/ff5m/README.md; firmware/flashforge_ad5m_klipper_mod/README.md; g992 upgrades/silent_psu.md, upgrades/klipper_on_ext_cpu.md, README.md; printables.com · 2026-08 · doc
- wiki.qidi3d.com/en/Q2/Printable-Components (full credited list: Q2 Riser styles 1–4 incl. "Q2 Lid Riser V2.5", WasteBin styles 1–4, "Top spool holder for TPU", "Top glass project evidence · 2026-08 · local
- 3DTechValley; 3DPrint.com; https://www.igorslab.de/en/flashforge-adventurer-5m-3d-drucker-im-test/ ("as loud as it is reliable"; fan replaced by manufacturer); https://fo igorslab.de · 2026-08 · doc
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Après presque 3 km de filament et un peu plus de 350 h d'impressions … je suis plutôt satisfait"; "Fiabilité - 8.6"); heatfor project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Précision dimensionnelle : 5/5 (0,089 moyenne des erreurs moyennes X et Y)"; test conditions stated earlier in the article: " project evidence · 2026-08 · local
- TechGearLab; 3DPrint.com; evidence/3dwithus_ad5mpro_review.md; 3DTechValley project evidence · 2026-08 · local
- toms3d.org/2025/09/30/…-with-the-qidi-q2/; lesimprimantes3d.fr/test-qidi-q2-20251030/ ("Qualité d'impression - 9.6"); androidpctv.com/qidi-q2-qidi-box-review/; insidetheg project evidence · 2026-08 · local
- lesimprimantes3d.fr/test-qidi-q2-20251030/; 3dwork.io/en/qidi-q2-review/; androidpctv.com/qidi-q2-qidi-box-review/; tomshardware.com/3d-printing/qidi-q2-combo-review project evidence · 2026-08 · local
- tomshardware.com/3d-printing/qidi-q2-combo-review; heatforge3d.com; lesimprimantes3d.fr/test-qidi-q2-20251030/; us.qidi3d.com/products/qidi-q2; lesimprimantes3d.fr/forum/ project evidence · 2026-08 · local
- tomshardware.com/3d-printing/qidi-q2-combo-review (schema.org reviewRating: "ratingValue": "3", "bestRating": "5"; datePublished 2025-11-07T13:00:00+00:00; positiveNotes/ project evidence · 2026-08 · local