3D Printing Info

Printer comparison

Elegoo Neptune 4 Pro vs QIDI Q2

Compare hardware, build volume, printing specifications, dated prices and sources.

2 selected · all documented properties

Elegoo Neptune 4 Pro vs QIDI Q2 — documented properties and sources
PropertyElegoo Neptune 4 ProBEDSLINGERQIDI Q2COREXY
Identity
BrandELEGOOQIDI
ClassBEDSLINGERCOREXY
Identity & Market
Manufacturer & exact marketed model name (verify the exact product identity first)ELEGOO Neptune 4 Pro. Store title: "ELEGOO Neptune 4 Pro FDM 3D Printer with Up to 500mm/s Printing Speed, Auto Bed Leveling, Dual-Gear Direct Extruder, 300C High-temp Nozzle, Intelligent Segmented Heatbed, 225x225x265mm3". Firmware: # Machine type: NEPTUNE 4 PRO[1]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[2]
Release date (announcement and actual shipping)Pre-orders June 1, 2023, 2pm UTC (verbatim: "available for pre-order on the Elegoo website from June 1st at 2pm (UTC)"); shipping 2023 Q3. Earliest hands-on third-party review: TechRadar, 11 August 2023 (Alastair Jennings) - so retail units were in reviewers' hands by early August 2023. Tom's Hardware followed 19 Nov 2023. Earliest official Pro document on file dated 2023-10-20; earliest archived firmware 1.1.2.28[3][4]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"[5]
Launch MSRP (USD)$299 announced (3DSourced); $274.00 as the struck-through "was" price on us.elegoo.com; $300.00 list at MatterHackers; at launch review Tom's saw $229 direct and $299.99 at Walmart[3][1][6]$499 standalone; $649 Combo. Launch promo $469 / $619 for newsletter subscribers until 2025-09-17[7]
Street price (USD; dated snapshot per entry)$229.00 on us.elegoo.com, compare_at_price $274.00 (-16.4%), product-level available: true — but per-variant: Ribbon-Cable available: false (sold out), Type-C available: true, so $229 is the Type-C price. Elegoo's *global* store (elegoo.com) lists it at $379.00 and available: false in ALL SIX regions (US/CA/AU/JP/UK/EU). A Pre-owned Neptune 4 Pro SKU also exists. MatterHackers: $300 list, "Sorry, this product is currently unavailable" (re-verified 2026-08-19)[8][9][10][6]$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)Three orthogonal hardware axes on the Pro itself: (1) Printhead cable: Ribbon-Cable vs Type-C - different printhead parts AND different firmware; the Type-C version carries its own toolhead MCU (Klipper mcu 'THR'). (2) Stepper motor current (Ribbon-Cable only): BJ42D15-26V77 = 0.8 A, 34 mm body vs BJ42D22-53V04 = 1.2 A, 40 mm body. (3) Mainboard: ZNP-K1 V1.0/V1.1 early, V1.4 and V2.3 on later units. Siblings: Neptune 4 (POM V-wheels, single 250 W bed), 4 Plus, 4 Max (ZNP-K1 V2.0), Neptune 3 Pro (incompatible nozzle standard)[12][13][14][15]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)[16]
Market position: superseded? successor announced?Still sold new on 2026-08-18 and still in Elegoo's site navigation under "Neptune Series". No Neptune 5 / direct successor. Elegoo's current FDM flagship line is Centauri Carbon / Centauri Carbon 2 (enclosed CoreXY). Vendor source repo last pushed 2026-07-29[1][12]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[17]
Physical & Frame
Build volume X×Y×Z (mm) — advertised vs actually usableAdvertised 225 x 225 x 265 mm. Firmware limits: X position_min -8.5 / position_endstop -8 / position_max 235.1; Y position_min -0.5 / position_max 235.1; Z position_min -5 / position_max 270.1. Levelled area is smaller, and firmware disagrees with itself about how much smaller: [bed_mesh] mesh_min 15,21 -> mesh_max 210,211 = 195 x 190 mm, but the G29 macro that actually runs the mesh passes mesh_max=210,220 and elegoo_conf.ini [level_mode] sets mesh_max_y = 220, i.e. 195 x 199 mm in practice. Measured effective bed 224 x 224 mm[1]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)Machine 475 x 445 x 515 mm. Elegoo also publishes "MAXIMUM SIZE FOR MACHINE ACTIVITY: 475 x 550 x 735 mm (Including Rack & Tray)" - allow 550 mm depth for bed travel, 735 mm height for the spool arm[1]402 × 438 × 494 mm. Shipping carton 480 × 520 × 585 mm[19]
Net weight (kg)Net 8.9 kg. Gross: 11 kg (us.elegoo.com) vs 13.92 kg (elegoo.com global)[1]Net 18.1 kg; gross (boxed) 23.5 kg[20]
Frame construction & materialCNC machined aluminium extrusion; three-module semi-assembled design (base unit + gantry frame + printhead)[1][21]Screwed steel chassis with injection-moulded plastic outer panels; CoreXY motion frame marketed as "full metal frame and bearings". Shell "Glass and Plastic"[22]
Enclosure: open / enclosed; panel material; door/lidOpen frame, none fitted. Optional official enclosure: "3D Printer Enclosure for Neptune 2/2D/2S/3/3 Pro/4/4 Pro", flame-retardant fabric, $39.99[23]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[24]
Passive chamber temperature reached (if enclosed; measured values preferred)Not applicable to the stock open frame; no measured chamber temperature found for the optional soft enclosure on this model[25]No instrumented passive (heater-off) chamber figure exists for this machine[26]
Kinematics & Motion Hardware
Kinematics (bedslinger i3 / CoreXY / other)Cartesian bedslinger (i3) - [printer] kinematics:cartesian; bed moves in Y, gantry in Z, toolhead in X[27]CoreXY — kinematics:corexy[28]
X-axis guide type (rods / linear rails / V-wheels; size)Steel linear rods with double-row ball U-groove bearings - the headline Pro upgrade over the non-Pro's POM V-wheels. Exact rod diameter[29]MGN12 linear rail (QIDI: "High Hardness Linear Guide Rail")[30]
Y-axis guide typeSame metal rods + double-row ball U-groove bearings. Elegoo publishes a Pro-specific "Neptune 4 Pro Y-Axis Bearing Tension Adjustment" procedure[31]Two Ø8 mm hardened hollow linear steel shafts (one each side) in LMU8UU ball bushings[32]
Z-axis: leadscrew count & type, sync mechanism, anti-backlashTwo lead screws, each with a coupling at the bottom and a timing pulley at the top, synchronised by a toothed belt across the top crossbar. The Z gantry rides on POM eccentric (V) wheels against the vertical extrusions. Motor count (see Notes). No anti-backlash nut documented[33][34][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?)Toothed belts on X and Y with manual knob tensioners - X at the right end of the X axis, Y at the front of the base. Plus a Z synchronisation belt on the top crossbar. Width and brand (Gates?)[21]1.5GT profile, 7 mm wide, QIDI-custom "higher tooth density". rotation_distance: 38.82 on X and Y[37]
Stepper motors (frame size, step angle, brand if known)NEMA 17 (42 mm), 1.8 deg full step (full_steps_per_rotation: 200 on X/Y/Z/E). Two factory variants: BJ42D15-26V77 = 0.8 A RMS, 34 mm body (earlier) and BJ42D22-53V04 = 1.2 A, 40 mm body (later). Brand not stated[12]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[38]
Stepper drivers (exact model e.g. TMC2209; UART/SPI; sensorless homing?)TMC2209 on UART, all four used axes. UART pins X PB9, Y PD2, Z PC5, E PC4. Run/hold current (1.2 A package): X 1.0/0.8 A, Y 1.2/0.8 A, Z 0.8/0.5 A, E 0.7/0.5 A. stealthchop_threshold: 0 on all four => spreadCycle at all speeds in the stock profile. Sensorless homing not used - physical endstops X PC0, Y PB8; Z homes on probe:z_virtual_endstop; DIAG pads exist but are unconfigured. A fifth driver (E1) is present and unused[39]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)[40]
Microstepping / interpolation settings (firmware evidence)Microsteps: 16 on X, Y, Z and extruder; interpolate: True on all four TMC2209s. rotation_distance X/Y 40, Z 8, E 29.0[41]X, Y, extruder: microsteps: 16. Z and Z1: microsteps: 128. interpolate: True on every driver[42]
Speed & Acceleration
Max print speed (claimed, mm/s)500 mm/s ("Max Speed of Tool Head: 500 mm/s"; manual "Print Speed: 30~500mm/s")[1]600 mm/s (QIDI words it precisely as "Max Speed of Tool Head")[43]
Recommended/typical print speed250 mm/s recommended by Elegoo; manual range 30-500 mm/s[44]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[45]
Max travel speed500 mm/s - same max_velocity: 500; no separate travel limit. Stock macros use F6000-F15000 (100-250 mm/s); bed-mesh traverse speed:500; [safe_z_home] speed: 200[46]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)[47]
Max acceleration (claimed, mm/s²)20 000 mm/s2 ("Max Acceleration of Tool Head")[1]20 000 mm/s²[48]
Firmware velocity limit (`max_velocity` or Marlin equivalent — exact value)Max_velocity: 500; also max_z_velocity: 10, max_extrude_only_velocity: 60. Per-mode in elegoo_conf.ini: normal 500, silent 270, berserk 500[49]Max_velocity: 600[50]
Firmware acceleration limit (`max_accel` / `DEFAULT_MAX_ACCELERATION` — exact value)Max_accel: 5000, max_accel_to_decel: 20000, max_z_accel: 100. elegoo_conf.ini per-mode: normal 10000 (factory default 5000), silent 8000 (default 4000), berserk 20000 (default 10000); the ini's own [printer] block says max_accel = 21000. Plus a Z-height-adaptive taper ([speed_adaptive]): accel 7000 -> 2500 and velocity 500 -> 300 as Z rises 0.2 -> 210 mm, disabled by default (sp_adap_status = 0)[51]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[52]
Jerk / square-corner-velocity setting (exact value)Square_corner_velocity: 9.0 (Klipper default 5.0). Extruder instantaneous_corner_velocity: 2.5[53]Square_corner_velocity: 8 mm/s (Klipper default 5). Extruder instantaneous_corner_velocity: 10.000[54]
Max volumetric flow claimed (mm³/s)Not claimed. No mm3/s figure published anywhere; closest marketing is "300 C high-temp nozzle features an extended hotend design to fully melt the filament"[1][31]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[55]
Max volumetric flow independently measured (mm³/s, method)No flow test exists for this model. For scale only, the firmware's extrude-only cap (max_extrude_only_velocity: 60 mm/s x 2.405 mm2 = ~144 mm3/s) is a Klipper safety ceiling, not a hotend capability[56]No CNC-Kitchen-style stepped-flow / extrusion-ratio test of the Q2 exists in any source found[57]
Real-world speed benchmarks (e.g. Benchy time from third-party tests)Benchy 18 min - Elegoo's bundled EN4PRO_3DBenchy-18min.gcode at Sport/500 mm/s, independently *printed* by three outlets. Benchy 47.60 min at TechGearLab's own standard (non-speed-optimised) settings. Torture test 1 h 25 min @ 0.28 mm. Sandcastle 9 h 14 min (OrcaSlicer 0.2 mm default). Same model 10 h 08 min @ 250 mm/s vs 19 h 22 min @ 50 mm/s — SLICER ESTIMATES, not stopwatch times (3DPrinterBee: *"I sliced the same object once at 250 mm/s and once at 50 mm/s"*)[21]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[58]
Vibration Compensation / Input Shaping
Input shaping supported? Implementation (Klipper IS / Marlin ZV / proprietary)Yes - genuine Klipper [input_shaper], active in the stock config[59]Yes — stock Klipper [input_shaper] + [resonance_tester], not a proprietary re-implementation[60]
Accelerometer: present? model (ADXL345 / LIS2DW12 / …), location(s), countNO accelerometer is fitted. The mainboard (ZNP-K1 V1.0/V1.1) has an ADXL345 SPI header (GND / 3V3 / CS GPIO1_CS / DO GPIO3_A2 / DI GPIO3_A1 / SCK GPIO3_A0) in the lower-left near the screen connector, and the stock printer.cfg *declares* [adxl345] cs_pin: rpi:None, spi_bus: spidev0.2 and [resonance_tester] accel_chip: adxl345, probe_points: 100,100,20 - but the sensor itself is user-supplied. Only ADXL345 is supported. Count fitted from factory: 0[61][15]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[62]
Calibration mode: automatic per-print / user-run routine / factory-fixed valuesFactory-fixed values shipped in printer.cfg. Not per-print, not automatic, and not user-runnable out of the box. A user-run TEST_RESONANCES is only possible after buying and hand-wiring an ADXL345 - and Elegoo admits it publishes no tutorial for doing so[61][63]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[64]
Shaper type & default frequencies (firmware evidence preferred)Stock 1.1.3.2: shaper_type_x: mzv, shaper_freq_x: 66.66; shaper_type_y: ei, shaper_freq_y: 42.05; damping_ratio_x/y present but commented out. For comparison, OpenNept4une's measured n4pro profile is mzv 111.6 (X) and mzv 32.4 (Y)[65]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[66]
Effectiveness evidence (ringing/VFA tests from reviews)Mixed-to-poor. TechRadar scored XY resonance 2.5/5 and Z-axis alignment 2.5/5. TechGearLab: *"consistent waves and wobbles"*, Print Quality 5.2/10. Tom's Hardware: the 18-min Benchy had *"only faint banding on the hull"*. — the community resonance figures previously printed here are withdrawn. The dossier stated: *"Community resonance runs on this model report X best at ~37 Hz MZV (max_accel ~15 800) and Y best at 3HUMP_EI ~113 Hz with max_accel only ~2 900 before smoothing dominates."* Three independent problems, : (1) The axes are transposed. A bedslinger's light X gantry resonates *high* and its heavy moving Y bed resonates *low* — which is what every other number in this dossier shows (Elegoo ships shaper_freq_x 66.66 above shaper_freq_y 42.05; OpenNept4une *measured* X 111.6 Hz / Y 32.4 Hz, E4). Assigning ~37 Hz to X and ~113 Hz to Y inverts that and contradicts E4 in the same section. (2) The frequency/accel pairings are physically impossible. Klipper's calibrate_shaper suggests a max_accel that rises steeply with fitted frequency; the community Neptune 4 Pro input-shaping guide's own worked example gives mzv @ 34.6 Hz -> max_accel <= 3 500, so "~37 Hz MZV -> 15 800" is off by ~4x, and a 3hump_ei fit at 113 Hz would suggest *far more* than 2 900, not an order of magnitude less. Unswapped, the pair is self-consistent (high-freq X -> ~15 800; low-freq Y -> ~2 900), which is the likeliest reading of whatever was originally reported. (3) No source page exists. The citation was literally "community values surfaced via search"; the figures are reproducible only as a search-engine prose summary, and no forum post, issue, wiki page or repo containing them could be reached. That is not evidence — nobody's method, instrument or machine is identified. What survives, and is enough to make the point: OpenNept4une's *measured* profile for this model (X 111.6 / Y 32.4, E4) already diverges from Elegoo's shipped constants by ~45 Hz on X, and ei on Y is the heavy-smoothing shaper — so the qualitative conclusion (factory values are a model-wide guess; the Y axis is the limiting one) stands on E4 alone and does not need these numbers[67]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[68]
Extrusion Pressure Control
Pressure advance (Klipper) / linear advance (Marlin) supported?Yes - Klipper pressure_advance[69]Yes — Klipper pressure advance[70]
Enabled by default? Factory value? (firmware evidence)Enabled by default: pressure_advance: 0.020[69]Yes: pressure_advance: 0.032, a single global value applied to all materials[71]
Auto-calibration for PA/LA? How does it work?None. No PA calibration routine in firmware and no entry in the touchscreen UI. Only manual tuning by editing printer.cfg via Fluidd, or by printing community PA test gcode[63]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[72]
Any physical nozzle pressure / load-cell extrusion sensing?None. No load cell, no strain gauge, no filament-force sensor. The only "force" adjustment is a manual spring-tension screw on the extruder idler (2.0 mm Allen; counter-clockwise increases grip)[73]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[74]
Related settings (PA smooth time etc., firmware values)Pressure_advance_smooth_time: 0.04 (Klipper default 0.040). Related extruder limits: max_extrude_only_distance: 300, max_extrude_only_velocity: 60, max_extrude_only_accel: 5000, max_extrude_cross_section: 9999999, min_extrude_temp: 100[75]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)[76]
Extruder
Type (direct drive / bowden) & design nameDirect drive, dual-gear - marketed "Dual-gear Direct Extruder" / "dual-gear direct drive extruder". Toolhead-mounted extruder motor[1]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[77]
Gear ratio & drive gear materialGear_ratio: 52:10 = 5.2:1 with rotation_distance: 29.0, microsteps: 16, full_steps_per_rotation: 200 => ~573.8 steps/mm. Config comment references "Bondtech 5mm Drive Gears". Gear material - marketing only says the dual gears "prevent the flexible filament from slipping and grinding"[1]1517:170 = 8.9235:1 in firmware (QIDI rounds it to "8.9:1"); rotation_distance: 53.7. Gears are hardened steel, both driven[78]
Filament diameter1.75 mm (filament_diameter: 1.750)[79]1.75 mm[80]
Filament path (PTFE-lined? all-metal? reverse bowden?)Direct drive, short path. PTFE (Teflon) tube inserted down the copper-titanium bi-metal throat pipe, reaching the bottom of the throat - so the path is PTFE-lined into the hot zone, not all-metal. No reverse bowden[81][1]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[82]
Claimed extrusion force / grip (if published)No force or torque figure published[1]QIDI publishes no extrusion-force or grip figure, and no reviewer measured one[83]
Auto load/unload routineYes, UI-driven: [Prepare] > [Extruder] > [Load] auto-heats the nozzle to 200 C, then the user triggers feed. Retract/feed is also available during a pause (fixed in firmware 1.1.3.2). No fully automatic insert-and-go[84]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[85]
Hotend & Nozzle
Hotend design (proprietary/standard; quick-swap mechanism?)Proprietary modular "nozzle assembly" (Elegoo part codes B0N101 / B0N371), with the nozzle itself separately replaceable (B0N0W1 / B0N0V1). Not quick-swap: the documented procedure requires removing the rear 4-fan assembly (3 screws), the print-head cable, the print-head front cover, and the fan bracket (4 screws) before the nozzle assembly's 2 screws can be reached[81]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[86]
Max nozzle temp claimed AND firmware max temp limit (both values)Claimed 300 C. Firmware: [extruder] max_temp: 310, but the redefined M104/M109 macros hard-clamp any request to 300 and emit a warning; elegoo_conf.ini sets max_extruder_tmprature = 300. So the effective ceiling is 300 C, with 310 C as the Klipper shutdown threshold[87]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[88]
Heater cartridge power (W)Not published by Elegoo. at official level. Aftermarket replacement parts sold as compatible with the Neptune 4 / 4 Pro are 24 V 50 W; the *Plus/Max* use 60-80 W (do not cross-apply)[1][89][90]No wattage published or measured for the hotend heater[91]
Temperature sensor type (thermistor model / thermocouple) & ratingFirmware: sensor_type: NTC 100K MGB18-104F39050L32 on sensor_pin: PA1 (board header "THO TEMP PA1"). Elegoo's official part spec: "NTC100K high temperature resistant thermistor (300 C), phi3*10-L85mm, with 2-pin PH 2.0 terminal"[92]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)[93]
Stock nozzle size & sizes included in box0.4 mm stock. Box includes 2 spare nozzles (sizes not stated by Elegoo; the bundled multi-size kits sold separately are 0.4/0.6/0.8)[1][21]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[94]
Stock nozzle material (brass / hardened steel / plated copper / composite tip)Brass. Hardened steel is a paid option[23]Bimetal with a hardened-steel tip. Upgrade available: tungsten-carbide bimetal[95]
Nozzle mount standard (V6 / MK8 / Unicorn / proprietary) & swap procedureElegoo publishes no thread or mount standard for this machine, and third parties disagree. What is solid: the nozzle *assembly* (nozzle + integrated bi-metal throat, part codes B0N101/B0N371) is an Elegoo-specific module, is sold in separate Ribbon-Cable and Type-C SKUs (verified: even the $9.99 brass *nozzle kit* has both variants), is not interchangeable with earlier Neptune models, and Micro Swiss ships a dedicated replacement hotend for it. What is NOT established: that the nozzle tip thread itself is proprietary. Marketplace sellers list *"M6 Thread Volcano High Flow Nozzles... for Elegoo Neptune 4/Pro/4 Max"*, and third-party nozzle guides class the Neptune line as MK8/M6. Swap = the multi-step disassembly in H1, then re-insert the PTFE tube, then re-level and reset Z-offset[81][23]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[96]
Available nozzle sizes/materials (official + third-party compatibility)Official: brass multi-size kit $9.99 (verified in stock 2026-08-19, in both Ribbon-Cable and Type-C variants), hardened steel 0.4/0.6/0.8 $11.99. Third-party: Micro Swiss FlowTech Hotend for ELEGOO Neptune 4 / 4 Pro, SKU M3107, $64.99, in stock — all-metal, permanently-sealed leak-proof nozzle+heatbreak assembly, cold nozzle change, ceramic cylindrical heater with a 28.6 mm melt zone, and a nozzle range incl. CM2 hardened, Hyper-CHT and DiamondBack tips. Whether *generic* M6/MK8 nozzles fit is unresolved — see H7[97][23][98]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[99]
All-metal hotend? PTFE near melt zone?NOT all-metal. Copper-titanium bi-metal heatbreak, but a PTFE tube runs down to the bottom of the throat pipe, i.e. into the hot zone. PTFE-tube replacement is an official routine maintenance item[81][1]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"[100]
Melt-zone / high-flow design details (CHT-style, length)Marketing: "extended hotend design to fully melt the filament". Actual melt-zone length, heater-block dimensions and any CHT-style splitter geometry: - no drawing or dimension published, and no teardown measured it[1][81]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[101]
Heated Bed & Surface
Max bed temp claimed AND firmware limitOn the claim: us.elegoo.com and the user manual say 110 C; elegoo.com (global) says 100 C. Firmware: both bed zones are max_temp: 120 ([heater_bed] and [heater_generic heater_bed1]), while the redefined M140/M190/M191/M141 macros hard-clamp to 110, and elegoo_conf.ini sets max_tmp = 110. Effective ceiling 110 C; 120 C is the Klipper shutdown threshold[1]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)[102]
Bed heater type (DC/AC mains) & wattageDC 24 V, dual-zone ("Intelligent Segmented Heatbed"): inner ~100 W + outer ~150 W = 250 W total. Firmware exposes them as two independent PID heaters: [heater_bed] heater PB10 / sensor PA0 (board HB0/TB0) and [heater_generic heater_bed1] heater PC8 / sensor PC2 (board HB1/TB1), both max_power: 1.0, pwm_cycle_time: 0.016. Inner zone is the centre 120 x 120 mm[103][21]24 V DC resistive heater bonded to a 3 mm aluminium plate, fed from the 350 W 24 V PSU. Wattage[104]
Heat-up time to 60°C (measured preferred)No timed measurement found for this model. Only qualitative: ThePhonograph, comparing to the Plus/Max, notes "the small bed takes way less time to heat up" and counts this as a real total-print-time advantage. Firmware allows a generous window: [verify_heater heater_bed] check_gain_time: 120 s[21]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[105]
Bed surface (material, texture, coating), single/double-sidedTextured PEI on flexible spring steel, magnetic, removable. PEI area 235 x 235 mm. Stock plate is single-sided; the official upgrade plate is dual-sided (textured PEI on one face, a PLA-specific smooth face on the other)[1][23]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[106]
Magnetic removable plate? Spare plate availability & costYes, magnetic and removable. Official spare: $19.99 for the Neptune 4/4 Pro dual-sided plate (Plus $27.99, Max $39.99)[23]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)[107]
Bed thermal uniformity (third-party thermal imaging if available)Measured 12.8 C gradient across the bed (TechGearLab's instrumented test)[108]No thermal-camera or multi-point bed survey of the Q2 exists in any source found[109]
Leveling & Z-Offset
Auto bed leveling: probe technology (inductive / strain gauge / load cell / touch probe)Inductive proximity sensor ("Proximity Switch" in Elegoo's parts list, $12.99). Firmware [probe] pin:^PA11 (board header "LEVEL PA11"), x_offset: -24.25, y_offset: 20.45, z_offset: 0.0, speed: 10.0, samples: 2, samples_result: median, sample_retract_dist: 3.0, samples_tolerance: 0.05, samples_tolerance_retries: 5. Not a strain gauge, load cell or touch probe[23][81]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)[110]
Mesh grid size (probe point count — firmware evidence). Marketing: "121 (11 x 11) Points Auto Bed Leveling". Firmware stock: [bed_mesh] probe_count:6,6 = 36 points, mesh_min:15,21, mesh_max:210,211, algorithm:bicubic, bicubic_tension:0.2, mesh_pps: 2,2, fade_start:5.0, fade_end:30.0; the G29 macro likewise uses probe_count=6; elegoo_conf.ini sets level_points = 6. The manual shows the screen has a "Leveling Toggle (36/121 points)" with a "36-point Level Display", and the auto-level walkthrough says "begin the 36-point automatic bed calibration"[1]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[111]
Auto Z-offset (nozzle-touch etc.) or manual (paper method)?Manual paper method. Stock probe z_offset: 0.0. Documented flow: home, slide an A4 sheet under the nozzle, adjust the compensation value on screen until slight friction, then after the auto mesh do the paper test again and save. There is no nozzle-touch / auto-Z-offset routine[112]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[113]
Manual leveling screws/knobs present?Yes - four hand-twist nuts under the heated bed, plus a separate "Base Wobbling Adjustment" procedure. Manual 4-corner paper leveling is a required step before auto-leveling works properly[31]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[114]
Gantry-leveling / Z-tilt routine?None in stock firmware. No [z_tilt], no [screws_tilt_adjust], no [bed_screws], no [axis_twist_compensation] in the shipped printer.cfg - even though all four modules exist in Elegoo's own Klipper fork. Z squaring is a purely mechanical procedure using two printed 100 mm columns[34][33]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[115]
Leveling workflow (forced per print? saved mesh? adaptive mesh?)Not forced per print. The mesh is stored as profile=6 by the G29 macro and applied with fade_start:5.0 / fade_end:30.0. PRINT_START does not probe - it only sets was_interrupted, G92 E0, G90, CLEAR_PAUSE. No adaptive//per-object meshing stock. Real-world: 3DWithUs needed no re-level "after 20 and counting prints"; TechGearLab could not get auto-leveling to work at all; TechRadar called it "faultless"[116]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)[117]
Filament Handling & Detection
Filament runout sensor (type, location)Mechanical/optical switch, [filament_switch_sensor fila] switch_pin: PA12 (board header "MT-DET1 PA12"), pause_on_runout: True, event_delay: 3.0, pause_delay: 1.0, runout_gcode re-arms the sensor and prints an M118 alert. Physically a separate "Filament Detector" module mounted on the top-left of the gantry, in-line before the reverse path to the toolhead; user-installed at assembly and toggleable from the Setup screen[118]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[119]
Tangle/snag detection (exact mechanism, if any — do not accept marketing wording at face value)Does not exist, and Elegoo does not claim it. There is exactly one filament input pin in firmware (PA12, a filament_switch_sensor) - a switch cannot distinguish a tangle from a runout. No encoder, no motion sensor, no second detector. A keyword scan of the full product page found no tangle-detection claim[1]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[120]
Clog detection (mechanism, if any)None. No clog-detection mechanism of any kind. Marketing's "less nozzle clogging" refers to the throat pipe's air-duct *cooling design* (clog prevention), not detection[1]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[121]
Filament change support (M600 / UI-driven)M600 exists but is minimal: [gcode_macro m600] = M400 / PAUSE / M400 - it pauses and parks, but performs no unload/purge/reload sequence itself. The real change flow is the touchscreen's Load/Retract, and (from firmware 1.1.3.2) feed/retract works during a pause[122]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[123]
Spool holder location & max spool size; drybox compatibilityTop-mounted spool holder (holder + spool holder arm) on the Z top crossbar, feeding down through the filament detector. Max spool diameter/width: - not published. Drybox compatibility; the top-feed geometry does not obstruct a side-fed external dryer, and Elegoo sells a Filament Dryer and vacuum-storage kits in the same accessories collection[23]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)[124]
Multi-material/multi-color capability or official upgrade pathNone. No multi-material or multi-colour hardware, and no official upgrade path (no AMS/MMU-class product for the Neptune 4 family). The only latent hardware headroom is the unused E1 stepper driver (PB0/PB1/PB2, UART PB6) which the community uses for independent dual Z, not for filament switching[125][23]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[126]
Cooling & Air Handling
Part-cooling fan(s): count, size, ducting designToolhead: two 4015 ball-bearing blower fans, one each side of the extruder. Firmware [fan] pin: PC9 (board FAN2/PC9). Duty is capped by fan mode in the redefined M106: mode 0 (Normal) clamps to 204/255 = 80%, mode 1 (Silent) to 153/255 = 60%, mode 2 (Sport) full 255[21]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[127]
Auxiliary part-cooling fan?Yes, and it is substantial: a removable rear bar containing four 4020 ball-bearing blower fans, bolted to the X axis, blowing parallel to the plate across the whole print area. Three user-selectable modes: Silent 60% / Normal 80% / Sport 100% (Sport was previously called "Violent Mode"). Measured tip speed claim: ~10 000 rpm[89]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[128]
Heatbreak/hotend fan[heater_fan fan1] pin: PA8, shutdown_speed: 1 (forced full-on at Klipper shutdown - a safety-positive default). The board labels PA8 "FAN3/FAN1" and the manual's wiring diagram calls item 7 "Mainboard Fan/Heat Break Cooling Fan" - i.e. the heatbreak fan and the mainboard fan share this one output[129]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[130]
Chamber/exhaust fan & filtration (activated carbon / HEPA)None. No chamber fan, no exhaust, no activated-carbon or HEPA filtration of any kind[1]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[131]
Electronics bay coolingYes - a mainboard cooling fan under the base, reached by removing 5 screws from the mainboard bottom cover; it shares the PA8 output with the heatbreak fan[103]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[132]
Fan control (PWM? RPM feedback? firmware evidence)Soft-PWM, no tachometer. [fan] and [heater_fan] use Klipper's default PWM cycle time; no tachometer_pin is configured anywhere and no fan-tach header appears on the board pinout, so there is no RPM feedback and no stall detection. Duty limiting is implemented in G-code (the M106 clamp) plus a custom FAN_MODE command Elegoo added to toolhead.py, and Elegoo also patched klippy/extras/fan.py to register an MKS_M106 command[133]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"[134]
Electronics & Power
Mainboard model & MCU (exact chip markings if teardowns exist)Board: "ZNP K1" (a Makerbase/MKS design), silkscreened ZNP K1 v1.0 / v1.1 on Neptune 4 and 4 Pro; v2.0 on Plus/Max; V1.4 and V2.3 observed on later Pro units. MCU: STM32F402RCT6 - printed on the official ZNP K1 V1.1 pinout drawing next to the MCU UART pins (TX1-PA9 MCU / RX1-PA10 STM32F402RCT6), and matching the stock printer.cfg header "the firmware should be compiled for the STM32F402... 32KiB bootloader, serial on USART1 PA10/PA9". Five stepper driver positions X/Y/Z/E0/E1 (E1 unused on the Pro)[15][13][14]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[135]
Host computer (SoC, RAM, storage) if firmware runs on embedded LinuxRockchip RK3328, quad-core ARM Cortex-A53 64-bit (marketed 1.5 GHz), 1 GB RAM, socketed eMMC module, Gigabit Ethernet, USB3 - running a Debian/Armbian-class Linux with Klipper + Moonraker + Fluidd as user mks. Device tree identifies the platform as model = "Makerbase mks-pi" on rk3328-roc-cc[136][1]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[137]
PSU (brand, wattage, rail voltage)310 W (single-source), 24 V DC output, integrated in the machine base. Brand[138]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[139]
Input voltage (110/220 V, switch or auto)115 V / 230 V selectable by a MANUAL slide switch on the rear. Factory default is 230 V. Not auto-ranging. Guidance: 115 V for 100-120 V mains (CA/US/JP), 230 V for 220-240 V mains (DE/FR/UK/AU/RU/IT/ES). Store spec: "115/230V 50/60Hz"[1][103]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[140]
Total rated power drawRated: 310 W PSU (single third-party source — see M3). Third-party observation (Pro): 124-192 W while printing at 500 mm/s in Sport mode with only the 120x120 mm centre bed zone active — not an instrumented measurement; no meter or method is named (see T3). the *rated* figure is a spec-table value, and the only draw figure attached to it fails the method test[21]Rated 350 W + 280 W chamber heating = 630 W peak. Measured in use: ≈160 W printing PLA, 27 W idle[141]
Expansion headers / spare ports (fans, steppers, GPIO, USB host)Verified from the board drawing: spare E1 stepper driver (EN PB0, STEP PB1, DIR PB2, DIAG PC1, UART PB6); ADXL345 SPI header (GND/3V3/CS GPIO1_CS/DO GPIO3_A2/DI GPIO3_A1/SCK GPIO3_A0); H-UART1 header (RX1/TX1, GPIO3_A4/A6); unused Z+ endstop header PC12; PWOFF PA3 and PWR DET GPIO1_B2 power-fail inputs; FALA CONTROL GPIO1_C5; LED1 PC7 / LED2 PB7 outputs plus SoC-driven SLED1 GPIO2_B7 / SLED2 GPIO2_A2; USB3.0 host; front USB-C (debug/serial); M-TF card slot on MCU SPI2 (CS PB12, MOSI PB15, SCK PB13, MISO PB14, DET PC6) used for MCU firmware flashing; Ethernet; BOOT0 + RESET buttons; unpopulated second USB footprint next to Ethernet on V1.0[125][15][142]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[143]
Firmware & Openness
Firmware base & current version (Klipper fork / Marlin fork / proprietary)Vendor fork of Klipper (+ Moonraker + Fluidd) on embedded Linux, with a separate Elegoo touchscreen firmware and a separate STM32 MCU firmware. Config examined: Current configuration version: V1.6, Date: 2024-6-24 inside the firmware 1.1.3.2 package. Release history for ribbon-cable Pro units: 1.1.2.28 -> 1.1.2.41 -> 1.1.2.53 (2023-12-15) -> 1.1.3.1 (2024-07-05) -> 1.1.3.2 (2024-10-30). Screen firmware versioned separately (1.2.14, 1.2.21). Type-C units run a different line - 1.3.1.2 observed[13]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)[144]
Source code availability (repos, GPL compliance status, last update date)Source now published but incomplete, and it arrived very late. github.com/elegooofficial/Neptune4 was created 2025-12-17 (~2 years 4 months after launch), last pushed 2026-07-29, 4.5 MB, containing klipper/ and moonraker/. The repository has no LICENSE file (license: null via the GitHub API), although the vendored klipper/COPYING is present. Verified gaps between the published source and the shipped product: the stock printer.cfg requires [gcode_shell_command] and calls clear_last_file, but neither exists anywhere in the published klippy/; the [include plr.cfg] file is not in the repo; the config/ directory contains example configs only for the Neptune 2 and Neptune 3 Pro, not the Neptune 4 family; and the update package ships a closed binary c_helper.so (302 KB) with no corresponding source. Prior status: Klipper maintainer Sineos, September 2023: "I did not find any released sources for these modifications -> Elegoo is in violation of the GPL"[145]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[146]
Root/SSH access: possible? official or community methodYes. SSH over Ethernet with default credentials user mks / password makerbase; also a serial console on the front USB-C at 1,500,000 baud. Community-documented, not officially supported[147]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[148]
Moonraker / Mainsail / Fluidd or other open API available (stock vs after mods)?Fluidd + Moonraker are present and reachable on the stock machine over LAN at http://<printer-ip> - no mods needed. The manual documents browsing to the IP in Chrome for movement control, temperature, console, fans/output, printer limits and a task list. Elegoo's own wiki instructs users to edit printer.cfg from Fluidd's Configuration menu. Mainsail is not stock (added by OpenNept4une). Caveat: Elegoo forbids user-initiated Klipper/Moonraker/Fluidd updates[63]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[149][150]
Notable community firmware/mods (names, repos, what they add)OpenNept4une (OpenNeptune3D) - full "de-Elegoo": custom Armbian 25.11 trixie / Linux 6.16.12, Klipper v0.13, all Elegoo services removed, simplified printer.cfg, KAMP adaptive meshing, screws_tilt_adjust, axis_twist_compensation, firmware_retraction, host/MCU temperature reporting, improved mainboard fan control, display_connector for the stock touchscreen, mjpg-streamer webcam script, Orca profiles, easy MCU flashing, USB-Wi-Fi support. mairyj/Neptune-4-Series - archived official firmware + per-motor printer.cfg variants + French video tutorials + Pico/FYSETC input-shaper kit (PIS.cfg + klipper.uf2) + Obico and webcam guides. Hardware mods: Micro Swiss FlowTech all-metal hotend, MGN9H X-axis and dual-Y linear-rail kits, eMMC upgrade, E1-driver independent dual Z[151][98]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[152]
Firmware update mechanism (OTA/USB) & update cadence historyDepends on which variant you own, and the dossier's original flat "no OTA" was wrong for the machine now sold. Ribbon-cable units: USB flash drive only, no OTA (firmware-verified below). Type-C units: Elegoo advertises OTA. The live us.elegoo.com listing — the only place this printer is still sold new, and it sells only the Type-C variant (A4) — carries a variant note verbatim *"Note : This is the Type-C version with OTA updates. Please make sure any parts you buy are compatible with this model."* plus a dedicated feature panel headed "OTA Firmware Upgrade": *"Keep your machine at its peak with seamless OTA updates that deliver new features and performance enhancements the moment they're ready."* (re-fetched 2026-08-19; the older, out-of-stock elegoo.com global listing contains no OTA mention anywhere, consistent with OTA being a Type-C-era addition). No OTA payload, changelog or client for the Type-C line was obtained, so the mechanism, transport and rollback behaviour are. For the ribbon-cable machine the USB flow is as follows: copy an ELEGOO_UPDATE_DIR folder to a cleared USB stick and boot; screen and MCU firmware update separately; a distinct "fix pack" must be applied first if coming from below 1.1.2.53, and applying it wipes the local task list. Firmware must match both the printhead cable type and (ribbon-cable units) the stepper-motor current variant. Cadence: 5 releases across 2023-09 -> 2024-10, then nothing for ribbon-cable units. A downgrade-protection compatibility check was added in 1.1.3.1[153][12]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)[154]
G-code flavor & notable custom G-codes/macrosKlipper G-code with Marlin-compatibility overrides. Elegoo-specific commands compiled into toolhead.py/fan.py: PRINT_MODE SET=0/1/2 (Normal/Silent/Berserk - rewrites elegoo_conf.ini, changes max_velocity/max_accel/max_accel_to_decel and toggles spreadCycle), FAN_MODE SET=0/1/2, MKS_M106. Macro overrides in printer.cfg: M104/M109 (clamped 300 C), M140/M190/M191 (clamped 110 C, all three drive both bed zones), M141 (outer zone heater_bed1 ONLY), M17/M84 (per-axis enable/disable), M106 (fan-mode duty clamp), M300 (beeper on PA2), m600 (-> PAUSE), G29 (36-point mesh + re-home + park centre), G31 (clear PLR), FLASHLIGHT_ON/OFF/SWITCH, MODLELIGHT_ON/OFF/SWITCH, PRINT_START/PRINT_END/CANCEL_PRINT/PAUSE/RESUME, RESUME_INTERRUPTED, save_last_file/clear_last_file, LOG_Z. [gcode_arcs] resolution: 0.1 and [exclude_object] are enabled stock[155]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[156]
Root shell: exact method (official setting toggle / vendor-documented / community exploit / none). Is root persistent across OTA firmware updates, or wiped each update?Not an official feature; no vendor toggle. Two community routes: (1) SSH as user mks over Ethernet on the stock image, then sudo (see N11); (2) serial console on the front USB-C at 1,500,000 baud (fallback 115200). True root login is not documented; privilege escalation is via sudo. On OTA persistence: THE QUESTION IS LIVE AND UNANSWERED This row previously read "not applicable in the usual sense - there is no OTA". That is wrong for the only variant still sold: Elegoo advertises "seamless OTA updates" for the Type-C version on the live product page (see N6, re-fetched 2026-08-19). Since the checklist gates on *"Is root persistent across OTA firmware updates, or wiped each update?"*, the honest answer for a 2026 buyer is, and it is the single biggest unresolved risk to this buyer's requirement — an OTA channel is precisely what silently reverts an on-device tailscaled install, and no OTA payload, changelog or client for the Type-C line was obtained. For ribbon-cable units the picture is the documented one: updates are USB-flash ELEGOO_UPDATE_DIR payloads that overwrite specific files, and extra_update.tar demonstrably ships /etc/fstab and /etc/init.d/taskset-client.sh as root-owned members, so an update *can* overwrite system files outside /home/mks. Elegoo additionally publishes "Image Installation Methods", i.e. a full-image reflash that wipes everything. Whether an update disables SSH or resets the password: - no changelog entry and no community report addresses it[147][31][157]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[158]
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.Arch: arm64 / aarch64 - hard-verified: the Armbian board family for this board is BOARDFAMILY="rockchip64" and rockchip64_common.inc line 10 sets ARCH=arm64; SoC is RK3328 (quad Cortex-A53). OS base: Debian-family. Stock: the update package ships a.deb (ELEGOO_APP_factory.deb) and SysV-style /etc/init.d/ scripts, and the vendor's own paths (/home/mks/, /home/mks/Desktop/) indicate a desktop-flavoured Armbian/Debian build - but the exact stock release and whether apt is usable is, never published and not verified here. Community image: Armbian 25.11 "trixie", Linux 6.16.12, with apt and sudo and armbian-config all confirmed working. Storage: 8 GB eMMC (community-reported); free space on the writable partition is the red flag - the sibling Neptune 4 Max is reported at ~1.8 GB free with a low-disk warning at 1 GB, which is why the standard community mod is a 32 GB eMMC swap[136][147][159]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[160]
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."Kernel prerequisites VERIFIED PRESENT; nobody has been found who has actually done it on this model. Evidence, from the kernel configs that build the community image for this exact board: CONFIG_TUN=y in OpenNept4une's own userpatches/linux-rockchip64-current.config (built into the kernel, so /dev/net/tun exists without loading a module) and CONFIG_TUN=m in the upstream config/kernel/linux-rockchip64-current.config; plus CONFIG_WIREGUARD=m, CONFIG_NF_TABLES=m, CONFIG_IP_NF_IPTABLES=m, CONFIG_VETH=m, CONFIG_OVERLAY_FS=y. With aarch64 + Debian + apt + systemd + TUN + nftables, tailscaled in normal (kernel-networking) mode should run natively; userspace-networking mode is not forced. What is NOT established: (a) no guide, wiki page, forum post, issue or repo was found of anyone running Tailscale on a Neptune 4/4 Pro - searched repeatedly; (b) the stock Elegoo kernel's TUN support is (its kernel config is not published and lives only inside a binary image, which was not extracted per resource policy). So: "should work, prerequisites proven, on the community image" - explicitly NOT "someone did it"[161][147]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[162]
SSH daemon: present by default or must be installed/enabled? Default credentials if documented. Does an OTA update disable it or reset the password?Community consensus: sshd is reachable on the stock image over Ethernet with mks / makerbase, and no vendor documentation of any kind confirms or denies it. The username mks is firmware-proven (every path in the shipped update package is under /home/mks/, and extra_update.tar members are owned mks/mks); the password makerbase is not - it appears in community write-ups, and the OpenNept4une wiki presents mks/makerbase in the context of its own image, so applying it to stock is an inference that multiple third parties assert but no primary source establishes. Elegoo publishes no SSH instructions, no credential list, and no way to change or disable it from the UI. Whether an update disables SSH or resets the password:[147][159][163]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[164]
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?Writable ext4 rootfs on eMMC - not read-only, not overlay-protected. Direct evidence: the stock design writes state to plain files at runtime ([save_variables] filename = /home/mks/klipper_config/saved_variables.cfg, and PRINT_MODE rewrites elegoo_conf.ini in place), which is only possible on a writable rootfs; the community image runs apt install and persistent systemd units. So user-installed binaries and services survive reboot. They do not reliably survive vendor maintenance: a USB update overwrites named files anywhere on disk (extra_update.tar carries root-owned /etc/fstab and /etc/init.d/taskset-client.sh), the pre-1.1.2.53 "fix pack" deletes the local task list by design, and Elegoo's documented recovery path is a full image reflash. There is no vendor-supported place to persist customisations - no /opt convention, no user-data partition, no documented exclusion list. CONFIG_OVERLAY_FS=y exists in the kernel but nothing in stock or community configuration mounts the rootfs as an overlay[31]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[165]
Connectivity, UI & Camera
Display: size, type, touch?4.3-inch colour touchscreen, detachable/removable (marketed "Removable Touch Screen"), mounted on a screen support block via a spiral cable. Connected by a phone-line/RJ-style connector[1][21]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[166]
On-device UI capabilities (model preview, per-object controls, etc.)Home / Print files / Prepare / Setup screens. Confirmed functions: file browse with gcode thumbnail preview (Cura TFT format natively; Prusa and Orca previews added in 1.1.3.2), per-axis jog with selectable step, set X/Y/Z zero, home all, motor unlock, temperature presets per material, leveling toggle 36/121 points, compensation (Z-offset) settings, lighting control, fan-mode control, filament-detector enable/disable, restore defaults, language selection (8 languages), machine information (incl. IP address), advanced settings, and live override of speed/fan/extrusion during a print. Per-zone bed temperature targets can be set independently. No per-object controls on the screen (that lives in Fluidd via [exclude_object])[21]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, …)[167]
WiFi (band/standard), Ethernet, USB ports, SD/flash-driveNO built-in Wi-Fi. Wired Ethernet RJ45 (board config states GbE); USB-A host (USB3.0 on the board) for the flash drive; front USB-C (debug/serial console); a front-panel microSD slot; plus an MCU-side microSD used for firmware flashing (on later units this one is internal/"hidden"). Wi-Fi is a user-added USB 2.0 2.4 GHz dongle and only two are validated - Mercury MW150US and TP-Link TL-WN725N, both "driver-free version"; dual-band adapters are explicitly not supported; setup requires editing wpa_supplicant-wlan0.conf inside a firmware update package and re-flashing[153][1][136]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[168]
Cloud service & phone app; LAN-only mode possible?No Elegoo cloud service and no Elegoo phone app for this printer. It is LAN-only by design, via Moonraker/Fluidd on the local network. Remote access and mobile control are third-party/community only: Obico (official-format Elegoo/mairyj guide) and Mobileraker (bundled by OpenNept4une). Elegoo's own wiki does publish a "Remote Printing Operation Guide" for the Neptune 4 series, i.e. Elegoo documents remote use but routes it through third-party/LAN mechanisms rather than a first-party cloud[1]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")[169]
Camera: built-in / optional? Resolution & framerate (verify — marketing often omits real fps)No camera - none built in, and Elegoo sells no camera accessory for this printer. Any camera is a user-supplied USB webcam, so resolution and framerate are entirely the user's webcam's specification. Community defaults : mjpg-streamer's stock 640x480 @ 10 fps; the community webcam guide suggests 1920x1080 @ 15 fps (with 2048x1080 and 4096x2160 variants listed, and a note that you can raise 15 to 30 fps)[23][1]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[170]
Camera features: live monitor, timelapse, AI failure detection (spaghetti detection) — how real is it?None stock. No live monitoring, no timelapse and no AI/spaghetti failure detection in Elegoo's firmware. All of it is community-added: mjpg-streamer for live view (OpenNept4une script or the community guide), timelapse via the Klipper moonraker-timelapse plugin (community PDF guides for the Neptune 4 series, v1.1/v1.5.2), and AI failure detection only via Obico, a third-party cloud service. The stock PAUSE/RESUME macros do contain SAVE_GCODE_STATE NAME=timelapse_state_a/b hooks, showing timelapse integration was anticipated[145]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[171]
LED chamber/toolhead lightingTwo independent LED systems: a multi-LED strip along the top gantry crossbar and a print-head LED. Firmware exposes them as [output_pin caselight] pin: PB7 and [output_pin caselight1] pin: PC7, both pwm: false (on/off only, no dimming), shutdown_value: 0. On K1 V1.1 boards they are instead driven from SoC GPIOs via sled1.sh / sled2.sh shell calls (FLASHLIGHT_SWITCH = top LED, MODLELIGHT_SWITCH = printhead LED)[21]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[172]
Calibration Routines & QoL
One-touch auto-calibration suite: what exactly does it calibrate?There is no one-touch suite. The only on-screen routine is Level, and it is a five-step hybrid: (1) auto-home; (2) manual paper Z at the centre point; (3) manual 4-corner paper leveling using the bed nuts; (4) automatic 36-point probe with the nozzle preheated to 140 C and bed to 60 C; (5) manual paper Z-offset, then save. Nothing else is calibrated - no PID, no pressure advance, no input shaping, no flow, no skew, no belt tension[173]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[174]
PID autotune exposed to user?Not on the touchscreen. Stock config carries fixed factory PID constants for all three heaters: extruder Kp 26.213 / Ki 1.304 / Kd 131.721; inner bed Kp 75.397 / Ki 0.823 / Kd 1727.531; outer bed (heater_bed1) Kp 70.591 / Ki 1.055 / Kd 1180.632. Klipper's PID_CALIBRATE is reachable through the Fluidd console, and both community projects add UI macros for it - OpenNept4une ships section_extra_pid_macro.cfg, and mairyj adds "macros for PID Extruder / BED / BED2 (just for the Pro)" with the instruction "PLEASE MAKE THE PID BEFORE YOUR FIRST PRINT!!!"[175]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[176]
Flow-rate calibration toolingNone from Elegoo. No flow calibration on screen and none in firmware. Community-supplied gcode test files exist (mairyj ships "Gcodes afin d'effectuer le test de pressure advance et debit" - pressure-advance and flow test files)[177]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[178]
Belt tension check/indicatorsManual knob tensioners on X and Y, no indicator, no gauge, no firmware check. The manual's troubleshooting section directs users to "adjust the tension of the timing belt using the rotary knob" when they see rough motion, noise or layer misalignment[21]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[179]
First-layer inspection featuresNo camera, no automated first-layer check. What exists is: a printed A/B/C first-layer comparison chart in the manual, and live Z-offset adjustment during printing in 0.01/0.1 mm steps (with an explicit warning to use the small increments to avoid dragging the nozzle across the plate)[180]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[181]
Skew calibrationNot exposed. [skew_correction] is absent from the stock printer.cfg, even though skew_correction.py is present in Elegoo's own Klipper fork. No skew routine on screen[182]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[183]
Assembly level & time from unbox to first printSemi-assembled, three modules (base + gantry + printhead) plus screen, spool arm, filament detector, rear fan assembly and cable clamp. Measured times: 20 min (3DWithUs), 20 min (ThePhonograph), ~15 min (TechRadar), 37 min unbox-to-first-print (TechGearLab). ~20 fasteners across 8 sizes[21]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[184]
Power-Loss & Interruption Recovery
Power-loss recovery: mechanism (how is state saved? capacitor / eeprom / file on shutdown?)Fully documented at source level. Hardware: an MCU power-off input (PWOFF on PA3) plus SoC-side PWRLOSS and PWRGOOD GPIO lines (gpiochip1 lines 10 and 19) and an on-board super-capacitor whose charging is enabled on gpiochip1 line 21; on a verified loss (5-sample majority debounce) the host runs systemctl poweroff so the filesystem is closed cleanly. State saving: to a file on eMMC - [save_variables] filename = /home/mks/klipper_config/saved_variables.cfg holding last_file, filepath, power_resume_z and was_interrupted. A LOG_Z macro writes power_resume_z from gcode_move.gcode_position.z during the print; PRINT_START sets was_interrupted=True and PRINT_END/CANCEL_PRINT clear it and run clear_plr. Resume: RESUME_INTERRUPTED calls host script /home/mks/plr.sh (timeout 420 s) with the Z height and filename, which builds a truncated gcode file under plr/, then SDCARD_PRINT_FILE FILENAME=plr/<file>; [force_move] enable_force_move: True and SET_KINEMATIC_POSITION allow motion before homing. No user setup required[185]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[186]
Verified working? Third-party test results; resume seam qualityFrom Elegoo, with an honest caveat, and no instrumented third-party test. Firmware 1.1.3.1 (2024-07-05) introduced "power-loss recovery feature 2.0, greatly improving the success rate in power-loss scenarios" with the admission: "As the nozzle remains on the model after a power loss, there may be large unwanted blobs on the top surface when resuming printing, affecting the printing result. It is recommended to use flush cutters to trim the protruding blobs". Earlier, 1.1.2.53 noted the resume "checks the Z-axis height. If the Z-lift retraction is enabled during slicing, the power-off resume effect will be affected." The manual warns resume will fail if the plate has cooled and the part has detached. None of Tom's Hardware, TechRadar, TechGearLab, 3DWithUs, 3DPrinterBee, DIY Machines or ThePhonograph tested it. Community reports are mixed[187][31]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[188]
Filament-runout pause/resume behaviorFully specified in firmware and independently verified. pause_on_runout: True, event_delay: 3.0, pause_delay: 1.0; runout_gcode re-arms the sensor and emits an M118 alert. PAUSE retracts and hops (G1 E-2 X3 Z1 F2100, G1 Z4 F600), parks at X_min+5 / Y_max-5, retracts a further E-20, issues M25, and extends the idle timeout to 1200 s. RESUME restores both bed-zone and nozzle targets, waits for temperature, purges G1 E100 F200 with a 2 s dwell, wipes with five X+/-20 strokes at F15000, restores the saved gcode state with MOVE_SPEED=250, then M24. [pause_resume] recover_velocity: 50.0[189]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[190]
Materials Support
Officially supported filament listPLA / TPU / PETG / ABS / ASA / Nylon ("Filament Compatibility" spec field), with the caveat "ABS and ASA filament materials are recommended to be used in conjunction with a 3D Printer Enclosure". Firmware ships screen presets: PLA 205/60, ABS 240/80, PETG 220/70, TPU 230/50 (nozzle/bed C), plus a leveling preset of 140/60[1]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)[191]
PLA/PETG/TPU results & constraints (min TPU shore hardness)PLA and PETG: excellent across reviews - Tom's gave Editor's Choice largely on print quality, 3DPrinterBee's 0.12 mm Deadpool bust was "absolutely perfect... you'd think it was printed with a resin printer", Tom's 18-min Benchy showed "only faint banding". TPU: well-suited on paper - 5.2:1 dual-gear direct drive with a short path and a user-adjustable idler spring (the manual explicitly explains adjusting spring strength for filaments of "different hardness"). Minimum TPU shore hardness: - never published[192]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[193]
ABS/ASA feasibility (enclosure/chamber constraints, warping reports)Possible but compromised. Constraints: open frame with no chamber heating and no filtration; a 250 W bed capped at 110 C; and a four-fan 4020 auxiliary cooling bar that must be switched off (the manual notes the rear fan is off in Silent mode, and fan modes are selectable). Elegoo's own guidance ties ABS/ASA to its $39.99 fabric enclosure. Community warping reports exist[1][23][194]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"[195]
PC / Nylon / CF-filled feasibility (nozzle & extruder wear constraints)PC: effectively out of reach - needs ~110-120 C bed sustained plus a hot chamber; this machine caps at 110 C with no chamber heat. Nylon: marginal - printable at 250-270 C within the 300 C limit, but the PTFE liner running to the bottom of the throat (H9/G4) degrades at sustained high temperature, and nylon needs a dry chamber. CF/GF-filled: mechanically possible only with the hardened steel nozzle ($11.99, 0.4/0.6/0.8); the stock brass nozzle will wear rapidly, and the extruder gears are a documented wear item with official replacement procedures[92][81][23][31]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[196]
Effective material ceiling given hotend+bed+chamber limits (reasoned, cite limits)PLA, PETG and TPU without reservation; ABS and ASA only with the optional enclosure and the aux fan off; CF/GF-filled only after fitting the hardened steel nozzle. PC and high-temp nylons are out of practical reach without replacing the hotend. Reasoning chain, all from cited limits: (a) PTFE liner reaches the bottom of the throat pipe, so sustained >260 C degrades the liner; (b) the hotend thermistor is rated 300 C exactly, leaving zero margin; (c) gcode macros hard-clamp nozzle 300 C / bed 110 C regardless of what the slicer asks; (d) no heated chamber and no filtration; (e) bed uniformity measured at 12.8 C spread; (f) stock nozzle is brass[81][92][23]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[197]
Filament profile ecosystem in the recommended slicerRecommended slicer is ELEGOO Cura 4.8.0 (bundled on the USB drive; Elegoo also publishes ELEGOO-Cura4.8.0 and ELEGOO-Cura5.6.0 repos), with the manual urging users to prefer it "to ensure maximum tested compatibility". OrcaSlicer is well supported in practice: Elegoo submitted an OrcaSlicer PR, publishes an official "OrcaSlicer Parameter Configuration Import Tutorial", and firmware 1.1.3.2 added Orca/Prusa thumbnail support. Community profiles: OpenNept4une ships Orca profiles for n4pro; mairyj ships Cura PLA profiles plus start/end gcode for Cura and Orca[31]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[198]
Safety
Thermal runaway protection (verify in firmware source if at all possible)VERIFIED PRESENT AND UNMODIFIED. klippy/extras/verify_heater.py in Elegoo's published fork is byte-for-byte upstream Klipper HeaterCheck (header "Copyright (C) 2018 Kevin O'Connor", GPLv3), implementing both failure modes: cannot-reach-target (approaching_target with check_gain_time/heating_gain) and cannot-maintain-target (accumulated error >= max_error -> invoke_shutdown). The stock config enables it on all three heaters: [verify_heater extruder] max_error: 120, check_gain_time: 30, hysteresis: 10, heating_gain: 2; [verify_heater heater_bed] and [verify_heater heater_bed1] max_error: 600, check_gain_time: 120, hysteresis: 10, heating_gain: 2. Separately, heaters.py enforces the configured min/max range and raises "Requested temperature (%.1f) out of range"[199]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[200]
Certifications (UL/ETL/CE/FCC — verify, don't assume)No certification mark or number could be verified. Neither store spec table, the user manual, the "Must Read" sheet, nor any Elegoo wiki page lists a CE mark, FCC ID, UL file or ETL listing for this model. MatterHackers mentions an "Overheat protection switch" but no certification marks[1][31][6]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[201]
Hardware safety: fusing, strain reliefs, belt covers, pinch pointsPresent: cable strain-relief bracket for the printhead harness plus a cable clamp (assembly steps); mainboard/PSU bottom cover (5 screws) with its own cooling fan; hardware power-fail detect inputs (PWOFF PA3, PWR DET); a third-party listing describes an "Overheat protection switch". Explicit manual warnings: grounding is mandatory ("Devices that are not grounded or improperly grounded inevitably increase the risk of electrical shock"), do not touch nozzle/bed when hot, "3D printers contain high-speed moving parts, so be careful not to get your hands caught", children require adult supervision, cut power in an emergency. Absent: no belt covers, no motion guarding, and the Pro's Y-axis motor is exposed rather than enclosed in the base. Fuse rating[103][6][21]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[202]
Firmware safety limits (max temp cutoffs — exact values)Extruder min_temp: 0 / max_temp: 310, max_power: 1, min_extrude_temp: 100. Inner bed and outer bed both min_temp: 0 / max_temp: 120, max_power: 1.0, pwm_cycle_time: 0.016. G-code clamps: nozzle 300 C, bed 110 C (both zones). [heater_fan fan1] shutdown_speed: 1 (heatbreak fan forced full on at shutdown). [virtual_sdcard] on_error_gcode lifts Z+25 at F900, runs TURN_OFF_HEATERS, M84, sets the part fan to 100/255 and sounds one long tone (M300 P10000 S1) followed by 11 short beeps (12 M300 calls total, printer.cfg lines 150-170). [idle_timeout] timeout: 3600 drops a >140 C nozzle to 120 C and disables the extruder, else turns all heaters off[203]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[204]
Known safety incidents / recalls / fire reports (with sources)For fire/recall - no recall, fire report or safety notice for the Neptune 4 Pro was found. Documented non-fire failure modes (all from Elegoo's own support wiki unless noted): "Blob of Death and Filament Leakage"; "Heated Bed Heating Failure"; "Proximity Switch Not Triggering & Extruder Continues Descending" (a nozzle-crash mode); "Touchscreen Does Not Turn On"; error codes including "TMC Stepper Y - OvertempWarning", "TMC Stepper Z - LowSideShort_A", "MCU Shutdown: ADC Out of Range" and "Unable to Open SPI Device". Plus eMMC bricking after mixing upstream Klipper updates, which required Elegoo to ship replacement hardware[31][92][103][145]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[205]
Noise & Power Consumption
Noise: claimed dB and independently measured dB (distance/method)Claimed: no dB figure is published by Elegoo anywhere. There is NO dB measurement that is both model-attributed to the Pro AND distance-specified. Every candidate fails one test: (a) DIY Machines — 63 dB averaged at ~50 cm, 59.6 dB with the new fans disabled. Distance given, MODEL NOT GIVEN: the article reviews the Neptune 4 and the 4 Pro together and the sentence is verbatim *"In my testing, they averaged 63dB from about 50cm (59.6dB with the new fans disabled)"* — plural, no model named. (b) 3DPrinterBee — "over 60 decibels... peaks up to 70 decibels" with layer cooling, "around 35 decibels" without. Model given (Pro), DISTANCE NOT GIVEN, no instrument named, and 35 dB fans-off is implausibly low for a printing bedslinger. (c) Igor's Lab — 64.3 dB(A) fans-on / 57.8 dB(A) fans-off at ~40 cm: this is the NON-PRO Neptune 4 (re-verified 2026-08-19: "The review covers the standard Neptune 4 (non-Pro variant)"). Qualitative only, and unambiguous: Tom's Hardware — Sport mode "sounds like turning on a leaf-blower", "not quiet... can easily be heard from across a room or through a door"; TechRadar — the rear fan at "10,000 r/min" makes "quite a racket"; 3DPrinterBee — "the x-axis layer cooling is very loud"[206]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)[207]
Silent/quiet mode available?Yes - and there are two independent, firmware-verified quiet controls. (1) PRINT_MODE SET=1 (Silent): max_velocity 500 -> 270, max_accel -> 8000 (factory default 4000), max_accel_to_decel 20000, en_spreadcycle_silent = 0 i.e. StealthChop is switched ON for the TMC2209s, and the ini's own (inert) fan entry reads 50%. (2) FAN_MODE SET=1 (Silent): the M106 override clamps part cooling to 153/255 = 60% — this is the value that actually takes effect — and, per the manual, the rear 4-fan bar is turned off in Silent mode. Persistence differs between the two controls, and the dossier previously got this wrong: PRINT_MODE does persist (cmd_PRINT_MODE rewrites elegoo_conf.ini via open(conf_ini_path,'w') + config.write), but FAN_MODE does not — cmd_FAN_MODE only sets self.fan_mode in RAM and toolhead.py initialises self.fan_mode = 0 (line 304), so fan mode reverts to Normal on every Klipper restart[208]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[209]
Power draw: idle / PLA print / high-temp print (measured preferred)Rated: 310 W PSU. Measured (Pro): 124-192 W while printing at 500 mm/s in Sport mode using only the 120x120 mm centre bed zone. No independent idle or high-temp figure exists for the Pro. *Sibling data, NOT the Pro (non-Pro Neptune 4, single 250 W bed):* 11 W idle, 23 W with motors energised, 330 W peak while heating nozzle to 220 C + bed to 60 C, ~70 W once at temperature, 160-190 W printing. TechRadar observed a power-consumption difference between the Pro and the non-Pro attributable to bed zoning but published no numbers. the one Pro figure that exists is not an instrumented measurement on the evidence available — see Notes[21][206]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[210]
Reliability, Support & Ecosystem
Warranty length & support reputation (evidence, not vibes)1 year ("Up To 1-Year Warranty", "Lifetime Support" on the store; MatterHackers lists "1 Year"). Support reputation is mixed-to-poor on evidence: TechGearLab scored Support 4.0/10, describing "three weeks of back-and-forth, response every day or two". Counter-evidence that Elegoo does honour claims: in the Klipper forum case a user who bricked the eMMC "ultimately required Elegoo to send replacement hardware", which they did. Elegoo also maintains an unusually deep self-service wiki (article index re-counted 2026-08-19: 11 Common Issues + 16 Error Codes + 11 Tutorial/Maintenance + 6 Pro-specific + 8 Parts Replacement + 3 Firmware/Image, plus a separate 11-article "Neptune 4 Pro+" section — part numbers and video links throughout)[1][6][145][31]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[211]
Common failure points (from long-term reviews/forums, with sources)Sourced list: (1) X/Y metal rod abrasion dust causing print defects, requiring routine cleaning/greasing (3DPrinterBee saw this in initial testing; the manual mandates periodic lubrication). (2) Loose POM wheels that cannot be tightened and Z-axis eccentric wheel misadjustment (both have dedicated Elegoo articles). (3) Bed leveling knobs shaking loose in use (lock nuts are the community fix). (4) "Blob of Death" / filament leakage around the nozzle and hotend (dedicated Elegoo article; 3DWithUs lost a print at 95% to a leak from a mismatched third-party nozzle). (5) Heated bed heating failure, incl. loose TB0/TB1 connectors and wrong voltage-selector position. (6) Abnormal / lost Z-offset (two firmware revisions targeted Z-offset persistence). (7) Touchscreen does not turn on, and a fragile phone-line-style screen connector. (8) Z lead-screw / lead-screw-nut binding and Z banding (community; Printables fixes exist). (9) Belts loose out of the box (TechRadar). (10) TMC Stepper Y OvertempWarning and Z LowSideShort_A error codes. (11) eMMC bricking after mixing upstream Klipper/Crowsnest/timelapse updates onto the stock image. (12) Y-axis rubbing noise at higher speeds; auxiliary cooling fan failing. (13) Dead-on-arrival / early-life electronics failure: TechGearLab's review unit suffered "connectivity failures and firmware freezing that required ordering a replacement unit to complete testing" the only documented instance of a reviewer needing a replacement machine, and a data point the dossier previously omitted while citing that review throughout[31][34][92][103][212][145][194]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[213]
Spare parts availability & pricing (nozzle, hotend, plate, board, belts)Official (us.elegoo.com, fetched 2026-08-18, all in stock unless noted): Assembled Extruder Hotend Kit for Neptune 4/4 Pro $19.99 (Ribbon-Cable and Type-C variants); Assembled Extruder Kit for Neptune 4 Pro $39.99 (Ribbon-Cable); Multi-Size Brass Nozzle Kit $9.99; Hardened Steel Nozzle Kit (0.4/0.6/0.8) $11.99; Dual-Sided Build Plate (4/4 Pro) $19.99; Proximity Sensor $12.99; Touchscreen for Neptune 4 Series $33.99; Enclosure $39.99. Not sold for the 4/4 Pro: mainboard (only a Plus/Max "STM 32-bit Silent Motherboard" at $64.99, out of stock), PSU, belts, stepper motors, lead screws, PTFE tube. Third party: Micro Swiss FlowTech hotend; 24 V 50 W heater + thermistor sets[23][98][90]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[214]
Community size (subreddit size, wiki quality, Discord/Facebook groups)Subreddit member counts could not be retrieved - reddit.com/r/*/about.json returned HTTP 403 and the search tool surfaced no Reddit threads for this model. Verifiable community footprint instead: OpenNept4une GitHub with an active Discord invite and 423+ issues filed, still active in 2026 (34 issues match "neptune 4 pro" alone, several with 45-58 comments); a French-language project (mairyj) with a full YouTube tutorial playlist and per-motor config variants; Elegoo's own wiki with ~40 Neptune 4 Pro articles plus video links; multiple Klipper Discourse threads; and an active Printables mod ecosystem (Z stabilisers, runout-sensor holders, ADXL mounts, anti-vibration feet, linear-rail mods)[215][151][31]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)[216]
Mod/upgrade ecosystemStrong for the price class. Software: OpenNept4une (full OS/firmware replacement), display_connector (keeps the stock touchscreen working), KAMP adaptive meshing, Mainsail/Fluidd/Mobileraker, Obico. Hardware: Micro Swiss FlowTech all-metal hotend; MGN9H X-axis and dual-Y linear-rail kits; eMMC upgrade to 32 GB; USB Wi-Fi dongle; official fabric enclosure; FYSETC Portable Input Shaper or an RP2040 Pico as an ADXL345 host; hardened steel nozzles; Z-axis stabilisers and anti-vibration feet from Printables; repurposing the free E1 stepper driver for independent dual Z[98][125][147]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[217]
Long-term (6–12 month) reliability reportsMixed, and thinner than it should be. Positive: 3DWithUs reported no need to re-level "after 20 and counting prints"; ThePhonograph scored Performance, Print Quality and Power Consumption 5/5; Tom's Hardware kept recommending it in later deal coverage. Negative: TechGearLab, reviewing in December 2024 (~13 months after launch), ranked it last of 11 printers at 53/100, could not get auto-leveling to work, and scored print quality 5.2/10. Structural: OpenNept4une issue traffic shows machines in service and being modified through 2026, but also that the newest board/printhead revisions are unsupported. No systematic 6-12 month teardown or duty-cycle study exists for this model[21][218]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"[219]
Independently Measured Performance
Dimensional accuracy measurements (third-party, with numbers)TechRadar, calipered, all axes undersize: target 25 mm -> X 24.71 / Y 24.71; 20 -> 19.66 / 19.73; 15 -> 14.89 / 14.85; 10 -> 9.73 / 9.90; 5 -> 4.88 / 4.93. Mean error X 0.23 mm, Y 0.18 mm, combined 0.20 mm. TechGearLab measured the effective bed as 224 x 224 mm. Elegoo claims "Print Precision: +/-0.1mm"[220]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[221]
Surface quality / VFA / ringing assessmentsTechRadar sub-scores (out of 5): fine flow control 2.5, fine negative features 3, overhangs 5, bridging 5, XY resonance 2.5, Z-axis alignment 2.5. TechGearLab: "prominent seams, bridging and overhang separations, and consistent waves and wobbles"; Print Quality 5.2/10. Tom's Hardware: 18-min Benchy with "only faint banding on the hull". 3DPrinterBee: Deadpool bust at 0.12 mm layers "absolutely perfect... you'd think it was printed with a resin printer"[222]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"[223]
Benchmark print times (source + settings)Benchy 18 min - Elegoo's bundled EN4PRO_3DBenchy-18min.gcode, Sport mode / 500 mm/s, verified printed by three outlets. Benchy 47.60 min - TechGearLab's own standardised (non-speed-optimised) settings. Torture test 1 h 25 min @ 0.28 mm layers. Sandcastle 9 h 14 min - OrcaSlicer default 0.2 mm. Articulated Phoenix 4-5 h; Kickstarter test model 2 h. Same object: 10 h 08 min @ 250 mm/s vs 19 h 22 min @ 50 mm/s — SLICER ESTIMATES, not measured (see D10)[21]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[224]
First-layer consistency reports. 3DWithUs: stable first layers with no re-leveling needed "after 20 and counting prints". TechRadar: "the automatic bed levelling system proved faultless". TechGearLab: "An auto-leveling print bed feature is advertised, but we could not get it to work", and reported prominent seams. Tom's Hardware: leveling is "the primary weak point" and "Build platform leveling requires manual input" is listed as a con[225]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[226]
Review scores from major outlets (list outlet + score + date)Tom's Hardware - 4.5/5 (see caveat), Editor's Choice (Andrew Sink, 19 Nov 2023). TechGearLab - 53/100, ranked #11 of 11 (23 Dec 2024); sub-scores Print Quality 5.2/10 (40%), Ease of Use 5.4/10 (30%), Print Capabilities 6.0/10 (20%), Support 4.0/10 (10%). TechRadar - 4/5 stars *and* 23.5/30 on its print-quality test battery, Alastair Jennings, published 11 August 2023. ThePhonograph - nine category scores of 4.5-5/5 (Accessories & Packaging 4.5, Design 4.75, Assembly 4.75, Display Screen 4.75, Operation & Control 5, Construction & Build 4.5, Performance 5, Print Quality 5, Power Consumption 5); no dated overall figure. 3DPrinterBee, 3DWithUs and DIY Machines published no numeric score[21]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"[227]

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

  1. firmware/official-1.1.3.2-extracted/N4Pro 1.2A - Firmware 1.1.3.2/ELEGOO_UPDATE_DIR/printer.cfg line 2; elegoo_conf.ini line 2; https://us.elegoo.com/products/elegoo-nept us.elegoo.com · 2026-08 · doc
  2. 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
  3. https://www.3dsourced.com/news/elegoo-release-new-neptune-4-series-starting-at-259/; docs/Must_Read_NEPTUNE_4_Pro_20231020.pdf (PDF CreationDate 2023-10-20); https://www. 3dsourced.com · 2026-08 · doc
  4. https://www.3dsourced.com/news/elegoo-release-new-neptune-4-series-starting-at-259/; docs/Must_Read_NEPTUNE_4_Pro_20231020.pdf (PDF CreationDate 2023-10-20); https://www. tomshardware.com · 2026-08 · doc
  5. 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
  6. https://www.3dsourced.com/news/elegoo-release-new-neptune-4-series-starting-at-259/; https://us.elegoo.com/products/elegoo-neptune-4-pro-fdm-3d-printer; https://www.matte matterhackers.com · 2026-08 · doc
  7. 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
  8. Live Shopify product JSON re-fetched 2026-08-19: https://us.elegoo.com/products/elegoo-neptune-4-pro-fdm-3d-printer.js (price: 22900, compare_at_price: 27400, variants "R us.elegoo.com · 2026-08 · doc
  9. Live Shopify product JSON re-fetched 2026-08-19: https://us.elegoo.com/products/elegoo-neptune-4-pro-fdm-3d-printer.js (price: 22900, compare_at_price: 27400, variants "R elegoo.com · 2026-08 · doc
  10. Live Shopify product JSON re-fetched 2026-08-19: https://us.elegoo.com/products/elegoo-neptune-4-pro-fdm-3d-printer.js (price: 22900, compare_at_price: 27400, variants "R us.elegoo.com · 2026-08 · doc
  11. 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
  12. https://www.elegoo.com/blogs/3d-printing/neptune-4-series-how-to-identify-your-printer-version (Nov 25, 2025); firmware/mairyj-Neptune-4-Series/Neptune 4 Pro/My printer.c elegoo.com · 2026-08 · doc
  13. https://www.elegoo.com/blogs/3d-printing/neptune-4-series-how-to-identify-your-printer-version (Nov 25, 2025); firmware/mairyj-Neptune-4-Series/Neptune 4 Pro/My printer.c github.com · 2026-08 · doc
  14. https://www.elegoo.com/blogs/3d-printing/neptune-4-series-how-to-identify-your-printer-version (Nov 25, 2025); firmware/mairyj-Neptune-4-Series/Neptune 4 Pro/My printer.c github.com · 2026-08 · doc
  15. https://www.elegoo.com/blogs/3d-printing/neptune-4-series-how-to-identify-your-printer-version (Nov 25, 2025); firmware/mairyj-Neptune-4-Series/Neptune 4 Pro/My printer.c github.com · 2026-08 · doc
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. https://us.elegoo.com/products/elegoo-neptune-4-pro-fdm-3d-printer; evidence/diymachines-review.md; https://www.thephonograph.net/electronics-tech-reviews/elegoo-neptune- thephonograph.net · 2026-08 · doc
  22. 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
  23. https://us.elegoo.com/collections/neptune-4-series-accessories (products.json, 2026-08-18) us.elegoo.com · 2026-08 · doc
  24. 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
  25. Searched: Elegoo product page + full spec table, Elegoo wiki Neptune 4 Pro hub (all listed articles), Tom's Hardware, TechRadar, TechGearLab, 3DWithUs, 3DPrinterBee, DIY project evidence · 2026-08 · local
  26. (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
  27. .../ELEGOO_UPDATE_DIR/printer.cfg line 362 project evidence · 2026-08 · local
  28. 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
  29. evidence/diymachines-review.md ("all metal dual-axis guide rails", "double-row ball U-shaped bearing"); evidence/tomshardware-review.md ("metal rods on the X and Y-axes.. project evidence · 2026-08 · local
  30. 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
  31. evidence/diymachines-review.md; evidence/tomshardware-review.md; https://wiki.elegoo.com/neptune/neptune-4-pro (hub lists "Y-Axis Bearing Adjustment" + Pro-specific tensi wiki.elegoo.com · 2026-08 · doc
  32. 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
  33. Official: https://wiki.elegoo.com/neptune/neptune-4-4-pro-how-to-replace-the-z-axis-lead-screw ("Rotate both couplings of the lead screw simultaneously"; timing pulleys + wiki.elegoo.com · 2026-08 · doc
  34. Official: https://wiki.elegoo.com/neptune/neptune-4-4-pro-how-to-replace-the-z-axis-lead-screw ("Rotate both couplings of the lead screw simultaneously"; timing pulleys + wiki.elegoo.com · 2026-08 · doc
  35. Official: https://wiki.elegoo.com/neptune/neptune-4-4-pro-how-to-replace-the-z-axis-lead-screw ("Rotate both couplings of the lead screw simultaneously"; timing pulleys + the3dprinterbee.com · 2026-08 · doc
  36. 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
  37. 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
  38. 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
  39. .../ELEGOO_UPDATE_DIR/printer.cfg [tmc2209 stepper_x/y/z/extruder], [stepper_x], [stepper_y], [stepper_z]; firmware/OpenNept4une/pictures/ZNP_K1_V1.1_PIN.png (XDIAG/YDIAG project evidence · 2026-08 · local
  40. 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
  41. .../ELEGOO_UPDATE_DIR/printer.cfg [stepper_x], [stepper_y], [stepper_z], [extruder], [tmc2209...] project evidence · 2026-08 · local
  42. firmware/config/printer.cfg L70, L153, L169, L185, L205 (microsteps); L105, L234, L249, L259, L268 (interpolate) project evidence · 2026-08 · local
  43. 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
  44. evidence/tomshardware-review.md; evidence/techradar-review.md; evidence/diymachines-review.md; docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.1 project evidence · 2026-08 · local
  45. 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
  46. .../ELEGOO_UPDATE_DIR/printer.cfg [printer], [bed_mesh], [safe_z_home], [gcode_macro RESUME] project evidence · 2026-08 · local
  47. 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
  48. 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
  49. .../ELEGOO_UPDATE_DIR/printer.cfg lines 361-368; elegoo_conf.ini [speed_mode], [printer] project evidence · 2026-08 · local
  50. firmware/config/printer.cfg L118 project evidence · 2026-08 · local
  51. .../ELEGOO_UPDATE_DIR/printer.cfg lines 363-367; elegoo_conf.ini [printer], [speed_mode], [speed_adaptive]; firmware/Neptune4-official/klipper/klippy/toolhead.py cmd_PRIN project evidence · 2026-08 · local
  52. 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
  53. .../ELEGOO_UPDATE_DIR/printer.cfg line 368, line 109 project evidence · 2026-08 · local
  54. firmware/config/printer.cfg L122, L97 project evidence · 2026-08 · local
  55. 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
  56. Searched for My Tech Fun / Igor Gaspar, 3DPrintBeginner, CNC Kitchen, Teaching Tech flow tests - none for this model. Reviews fetched (Tom's, TechRadar, TechGearLab, 3DWi project evidence · 2026-08 · local
  57. (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
  58. 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
  59. .../ELEGOO_UPDATE_DIR/printer.cfg lines 370-376; firmware/Neptune4-official/klipper/klippy/extras/input_shaper.py, shaper_calibrate.py, resonance_tester.py all present project evidence · 2026-08 · local
  60. 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
  61. Elegoo's own wiki: https://wiki.elegoo.com/machines/neptune/troubleshooting/neptune-4-4-pro/does-neptune-44-pro-support-the-installation-of-input-shaping-sensors - verbat wiki.elegoo.com · 2026-08 · doc
  62. 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
  63. .../ELEGOO_UPDATE_DIR/printer.cfg lines 370-376 (hard-coded frequencies, no calibration macro anywhere in the file); https://wiki.elegoo.com/machines/neptune/troubleshoot wiki.elegoo.com · 2026-08 · doc
  64. 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
  65. .../ELEGOO_UPDATE_DIR/printer.cfg lines 370-376; firmware/OpenNept4une/printer-confs/n4pro/n4pro.cfg lines 28-31 project evidence · 2026-08 · local
  66. 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
  67. evidence/techradar-review.md; evidence/techgearlab-review.md; evidence/tomshardware-review.md; withdrawn community figures: no citable source — see Value column project evidence · 2026-08 · local
  68. 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
  69. .../ELEGOO_UPDATE_DIR/printer.cfg line 107 project evidence · 2026-08 · local
  70. firmware/config/printer.cfg L94 project evidence · 2026-08 · local
  71. 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
  72. 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
  73. .../ELEGOO_UPDATE_DIR/printer.cfg (no load-cell or load_cell section; probe is [probe] pin:^PA11 inductive); docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.11 (spring- project evidence · 2026-08 · local
  74. 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
  75. .../ELEGOO_UPDATE_DIR/printer.cfg lines 108-114 project evidence · 2026-08 · local
  76. firmware/config/printer.cfg L77, L95-100 project evidence · 2026-08 · local
  77. 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
  78. 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
  79. .../ELEGOO_UPDATE_DIR/printer.cfg line 96 project evidence · 2026-08 · local
  80. firmware/config/printer.cfg L73 (filament_diameter: 1.75); docs/QIDI-Q2-TDS.pdf project evidence · 2026-08 · local
  81. https://wiki.elegoo.com/neptune/neptune-4-pro/nozzle-assembly-replacement - verbatim: *"Take out the new nozzle assembly (You need to re-insert the Teflon pipe, making su wiki.elegoo.com · 2026-08 · doc
  82. 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
  83. (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
  84. docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.11; firmware/mairyj-Neptune-4-Series/Neptune 4 Pro/Official Update/Neptune 4 Pro - Firmware 1.1.3.2 - official/Update lo project evidence · 2026-08 · local
  85. 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
  86. 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
  87. .../ELEGOO_UPDATE_DIR/printer.cfg line 98 (max_temp: 310), lines 637-660 (the macros take the minimum of the requested S value and 300); elegoo_conf.ini line 9 \ project evidence · 2026-08 · local
  88. 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
  89. Searched: https://us.elegoo.com/products/elegoo-neptune-4-pro-fdm-3d-printer (full spec table), manual, https://wiki.elegoo.com/neptune/neptune-4-pro/heater-and-thermisto wiki.elegoo.com · 2026-08 · doc
  90. Searched: https://us.elegoo.com/products/elegoo-neptune-4-pro-fdm-3d-printer (full spec table), manual, https://wiki.elegoo.com/neptune/neptune-4-pro/heater-and-thermisto amazon.com · 2026-08 · doc
  91. (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
  92. .../ELEGOO_UPDATE_DIR/printer.cfg lines 100-101; https://wiki.elegoo.com/neptune/Neptune-4-4-pro-blob-of-death-and-filament-leakage (verbatim thermistor spec); firmware/O wiki.elegoo.com · 2026-08 · doc
  93. 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
  94. 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
  95. 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
  96. 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
  97. https://us.elegoo.com/products/multi-size-brass-nozzle-kit-for-neptune-4-4-pro (Shopify product JSON, 2026-08-19: price 999, variants Ribbon-Cable + Type-C, both availabl us.elegoo.com · 2026-08 · doc
  98. https://us.elegoo.com/products/multi-size-brass-nozzle-kit-for-neptune-4-4-pro (Shopify product JSON, 2026-08-19: price 999, variants Ribbon-Cable + Type-C, both availabl store.micro-swiss.com · 2026-08 · doc
  99. 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
  100. 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
  101. 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
  102. 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
  103. .../ELEGOO_UPDATE_DIR/printer.cfg lines 122-141 and 617-635; firmware/OpenNept4une/pictures/ZNP_K1_V1.1_PIN.png (HB0 PB10 / HB1 PC8 / TB0 PA0 / TB1 PC2); https://wiki.ele wiki.elegoo.com · 2026-08 · doc
  104. 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
  105. 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
  106. 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
  107. 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
  108. evidence/techgearlab-review.md ("Bed temperature gradient measured: 12.8 C") project evidence · 2026-08 · local
  109. (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
  110. 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
  111. 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
  112. docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.10 (full procedure) and docs/Must_Read_NEPTUNE_4_Pro_20231020.pdf p.4;.../ELEGOO_UPDATE_DIR/printer.cfg line 424 project evidence · 2026-08 · local
  113. 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
  114. 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
  115. 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
  116. .../ELEGOO_UPDATE_DIR/printer.cfg lines 181-187 (PRINT_START) and 401-442; evidence/3dwithus-review.md; evidence/techgearlab-review.md ("An auto-leveling print bed featur project evidence · 2026-08 · local
  117. 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
  118. .../ELEGOO_UPDATE_DIR/printer.cfg lines 339-347; firmware/OpenNept4une/pictures/ZNP_K1_V1.1_PIN.png (MT-DET1 / PA12); docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.2 project evidence · 2026-08 · local
  119. 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
  120. 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
  121. 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
  122. .../ELEGOO_UPDATE_DIR/printer.cfg lines 719-724 (m600), lines 253-291 (PAUSE retracts E-2 then E-20 and parks at X_min+5 / Y_max-5), lines 295-337 (RESUME reheats, purges project evidence · 2026-08 · local
  123. 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
  124. 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
  125. .../ELEGOO_UPDATE_DIR/printer.cfg (single [extruder], no [extruder1], no toolchanger); firmware/OpenNept4une/pictures/ZNP_K1_V1.1_PIN.png (E1-AXIS block populated on the github.com · 2026-08 · doc
  126. 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
  127. 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
  128. 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
  129. .../ELEGOO_UPDATE_DIR/printer.cfg lines 356-359; firmware/OpenNept4une/pictures/ZNP_K1_V1.1_PIN.png (FAN3/FAN1 PA8); docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.17 project evidence · 2026-08 · local
  130. 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
  131. 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
  132. 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
  133. .../ELEGOO_UPDATE_DIR/printer.cfg lines 352-359, 726-740; firmware/Neptune4-official/klipper/klippy/extras/fan.py line 111 (gcode.register_command("MKS_M106", self.cmd_MK project evidence · 2026-08 · local
  134. 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
  135. 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
  136. firmware/OpenNept4une/dtb/n4-n4pro-v1.1/rk3328-znp-v1x.dts line 8 (model = "Makerbase mks-pi", rockchip,rk3328-* compatibles, Mali-450 GPU); curl of https://raw.githubuse raw.githubusercontent.com · 2026-08 · doc
  137. 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
  138. evidence/tomshardware-review.md (spec table: "PSU 310W"); docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.1 ("Output Power : 24V"); evidence/diymachines-review.md ("Int project evidence · 2026-08 · local
  139. 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
  140. 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
  141. 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
  142. firmware/OpenNept4une/pictures/ZNP_K1_V1.1_PIN.png (read directly - all header labels above); https://github.com/OpenNeptune3D/OpenNept4une/issues/138 (E1 pins confirmed github.com · 2026-08 · doc
  143. 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
  144. 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
  145. GitHub API elegooofficial/Neptune4: created_at 2025-12-17T06:44:51Z, pushed_at 2026-07-29T12:31:34Z, size 4553, license: null; local shallow clone firmware/Neptune4-offic klipper.discourse.group · 2026-08 · doc
  146. 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
  147. https://github.com/OpenNeptune3D/OpenNept4une/wiki (credentials and serial baud rate); corroborated at by paths throughout the shipped package: /home/mks/klipper/, /home/ github.com · 2026-08 · doc
  148. 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
  149. 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
  150. 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
  151. firmware/OpenNept4une/README.md (feature list verbatim) @ commit 33f60559 (2026-03-10); firmware/OpenNept4une/printer-confs/n4pro/*; firmware/OpenNept4une/mcu-firmware/RE github.com · 2026-08 · doc
  152. 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
  153. .../ELEGOO_UPDATE_DIR/ (the update payload itself: printer.cfg, elegoo_conf.ini, extra_update.tar, ELEGOO_APP_factory.deb, wpa_supplicant-wlan0.conf); firmware/mairyj-... wiki.elegoo.com · 2026-08 · doc
  154. 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
  155. .../ELEGOO_UPDATE_DIR/printer.cfg lines 556-773 (all macros); M104 637-647, M109 649-660, M191 663-674, M190 676-688, M140 690-701, M141 703-712, m600 719-724, M106 726-7 project evidence · 2026-08 · local
  156. 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
  157. tar -tvf.../ELEGOO_UPDATE_DIR/extra_update.tar (21 members; root-owned /etc/fstab, /etc/init.d/taskset-client.sh, /boot/dtb/rockchip/rk3328-roc-cc.dtb); https://github.co itsalllost.com · 2026-08 · doc
  158. 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
  159. curl https://raw.githubusercontent.com/OpenNeptune3D/Armbian-ZNP-K1-build/main/config/boards/znp-k1.conf (BOARDFAMILY="rockchip64", BOOTCONFIG="roc-cc-rk3328_defconfig", itsalllost.com · 2026-08 · doc
  160. 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
  161. curl https://raw.githubusercontent.com/OpenNeptune3D/Armbian-ZNP-K1-build/main/userpatches/linux-rockchip64-current.config (CONFIG_TUN=y, CONFIG_WIREGUARD=m, CONFIG_NF_TA raw.githubusercontent.com · 2026-08 · doc
  162. 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
  163. tar -tvf.../extra_update.tar (member ownership mks/mks; /home/mks/... paths - proves the account, not the password); https://github.com/OpenNeptune3D/OpenNept4une/wiki (s chris-potter.co.uk · 2026-08 · doc
  164. 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
  165. 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
  166. 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
  167. 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
  168. 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
  169. 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
  170. 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
  171. 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
  172. 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
  173. docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.10 (full 6-bullet procedure verbatim); docs/Must_Read_NEPTUNE_4_Pro_20231020.pdf p.4 (same);.../ELEGOO_UPDATE_DIR/printe project evidence · 2026-08 · local
  174. 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
  175. .../ELEGOO_UPDATE_DIR/printer.cfg lines 103-106, 127-130, 623-626; docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.8 (no PID item in the screen inventory); firmware/Ope project evidence · 2026-08 · local
  176. 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
  177. .../ELEGOO_UPDATE_DIR/printer.cfg (no flow calibration macro in 774 lines); docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.8; firmware/mairyj-Neptune-4-Series/README.m project evidence · 2026-08 · local
  178. 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
  179. 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
  180. docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf p.11 (A/B/C chart with under-extrusion / ideal / poor-adhesion cases) and p.12 (live nozzle-height adjustment + warning) project evidence · 2026-08 · local
  181. 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
  182. .../ELEGOO_UPDATE_DIR/printer.cfg (774 lines read in full - no [skew_correction]); firmware/Neptune4-official/klipper/klippy/extras/skew_correction.py exists; docs/NEPTUN project evidence · 2026-08 · local
  183. 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
  184. 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
  185. firmware/mairyj-Neptune-4-Series/Neptune 4 Pro/Old version before 27 Oct 2023/backup origin file/plr.cfg (complete file: save_last_file, clear_last_file, [gcode_shell_com project evidence · 2026-08 · local
  186. 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
  187. firmware/mairyj-Neptune-4-Series/Neptune 4 Pro/Official Update/Neptune 4 Pro - Firmware 1.1.3.2 - official/Update log-4_4PRO.txt (verbatim 1.1.3.1 item 2 and 1.1.2.53 ite youtu.be · 2026-08 · doc
  188. 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
  189. .../ELEGOO_UPDATE_DIR/printer.cfg lines 250-347 ([pause_resume], PAUSE, RESUME, [filament_switch_sensor fila]) project evidence · 2026-08 · local
  190. 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
  191. 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
  192. evidence/3dprinterbee-review.md; evidence/tomshardware-review.md; evidence/techradar-review.md (fine flow control 2.5/5, bridging 5/5, overhangs 5/5); docs/NEPTUNE_4_PRO_ project evidence · 2026-08 · local
  193. 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
  194. https://us.elegoo.com/products/elegoo-neptune-4-pro-fdm-3d-printer (enclosure caveat, verbatim); https://us.elegoo.com/collections/neptune-4-series-accessories (enclosure github.com · 2026-08 · doc
  195. 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
  196. 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
  197. 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
  198. 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
  199. firmware/Neptune4-official/klipper/klippy/extras/verify_heater.py (read in full - 4406 bytes, unmodified upstream); firmware/Neptune4-official/klipper/klippy/extras/heate project evidence · 2026-08 · local
  200. 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
  201. 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
  202. 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
  203. .../ELEGOO_UPDATE_DIR/printer.cfg lines 97-114, 122-133, 148-170, 356-359, 381-392, 617-629, 637-712 project evidence · 2026-08 · local
  204. 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
  205. (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
  206. evidence/diymachines-review.md (63 dB @ 50 cm; 59.6 dB fans off); evidence/3dprinterbee-review.md (>60 dB, peaks 70 dB, ~35 dB without cooling); evidence/tomshardware-rev igorslab.de · 2026-08 · doc
  207. 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
  208. .../ELEGOO_UPDATE_DIR/elegoo_conf.ini [speed_mode] lines 41-63 (verbatim max_velocity_silent = 270, max_accel_silent = 8000, en_spreadcycle_silent = 0, fan_max_percent_si project evidence · 2026-08 · local
  209. 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
  210. 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
  211. 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
  212. evidence/3dprinterbee-review.md; docs/NEPTUNE_4_PRO_User_Manual_English_V1.5.pdf NOTES item 5 + Troubleshooting page; https://wiki.elegoo.com/neptune/neptune-4-pro (Commo forum.makerforums.info · 2026-08 · doc
  213. 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
  214. 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
  215. Attempted: curl https://www.reddit.com/r/{ElegooNeptune4,elegoo,3Dprinting}/about.json -> HTTP 403 for all three; https://github.com/OpenNeptune3D/OpenNept4une (Discord l reddit.com · 2026-08 · doc
  216. 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
  217. 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
  218. evidence/3dwithus-review.md; https://www.thephonograph.net/electronics-tech-reviews/elegoo-neptune-4-pro-review/; evidence/techgearlab-review.md (dated 23 December 2024, tomshardware.com · 2026-08 · doc
  219. 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
  220. evidence/techradar-review.md (full measurement table, "X error avg 0.23 mm, Y error avg 0.18 mm, X&Y avg 0.2 mm", accuracy score 3/5); evidence/techgearlab-review.md; doc project evidence · 2026-08 · local
  221. 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
  222. evidence/techradar-review.md; evidence/techgearlab-review.md; evidence/tomshardware-review.md; evidence/3dprinterbee-review.md project evidence · 2026-08 · local
  223. 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
  224. 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
  225. evidence/3dwithus-review.md; evidence/techradar-review.md; evidence/techgearlab-review.md; evidence/tomshardware-review.md project evidence · 2026-08 · local
  226. 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
  227. 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