Hardware / 3D printing
Ender 3 V2 Rebuild
A cheap printer I took apart down to the base plate and rebuilt: squared by hand, rewired, converted to direct drive and running a Klipper configuration I wrote myself.
- Role
- Solo project
- Timeline
- Dec 2021 - ongoing
- Stack
- Klipper · Marlin · Orbiter v2 · BLTouch · Orca Slicer
- Status
- Running · about 1,250 h printed
Almost everything I print is a part for another project.
I bought the printer in December 2021. Nearly everything that comes off it is a bracket, mount or housing I designed in CAD for something else. I wanted a printer I could start and walk away from, and getting there meant working on the machine itself.
It's also the printer I use for the weekly CAD, 3D-printing and robotics courses I lead, so I had to understand why it behaved the way it did.
After a year of barely using it, I started printing seriously again towards the end of 2022. Something was off: each layer stuck out a little differently from the one below it, so the walls were uneven all the way up the part.
I assumed the frame was the problem. Uneven layers look like a geometry issue, and I had assembled the printer from a kit myself, so a crooked frame seemed likely.
In mid-2023 I took the whole printer apart, down to the base plate. Then I rebuilt it with a caliper and an engineer's square and checked every right angle as I went.
Several parts changed on the way back together. Solid spacers replaced the bed springs, so the bed no longer drifts out of level between prints. The glass plate became a PEI sheet, and I cut heatbed insulation to size and fitted it underneath. I also moved the original extruder stepper to the Y axis, because its datasheet listed more torque than the motor that was there.
The frame turned out to be fine. The real problem was flow. I had swapped the extruder twice, first the plastic Bowden extruder for an aluminium one, then the whole setup for an Orbiter v2 direct drive, and never properly recalibrated the extrusion. The printer was pushing out an inconsistent amount of filament, and that's what showed up on every layer.
So the teardown didn't find the problem. It did fix a few things I hadn't known were wrong, and I learned to recalibrate after changing hardware before looking for bigger causes. Checking the flow would have taken an evening. The teardown took a summer.
I built my slicer profiles around the same time. Most of the values in my Orca Slicer profiles came from trial and error, with a temperature tower and flow calibration as a starting point.
The wiring worried me more. The stock cables had tinned ends (dipped in solder) clamped into screw terminals. Solder slowly gives way under constant pressure, so the joint loosens, the resistance goes up and the terminal heats up. I saw this happen myself when a loose connection sparked.
I redid the screw terminals with crimped ferrules and checked the grounding while everything was open. I also replaced a dead thermistor, soldering its connector onto new wires, and a broken part-cooling fan. For the loose cables I designed and printed a holder, mounted where the original Bowden extruder used to sit.
The printer lives in the living room because there was no other space, so it had to be quiet. I removed the mainboard fan completely. Klipper needs a Raspberry Pi anyway, so I replaced it with a 5 V fan running off the Pi's 3.3 V rail. Undervolted like that, it spins slowly enough that I can't hear it. The power supply fan became a 120 mm Noctua, and I reprinted the power supply enclosure on the printer before fitting it.
Quieter fans move less air, so I added some airflow back without fans. I removed the doubled metal plate in front of the power supply so it could breathe, and raised the printer on printed risers to open up the space underneath.
I started on mriscoc's Professional Firmware, a Marlin fork for this printer, and switched to Klipper around 2022. I couldn't find a ready-made Ender 3 V2 configuration back then, so I wrote my own from the Klipper documentation and fixed it by trial and error until the printer behaved. By then I had swapped the mainboard for a Creality 4.2.7. Bed levelling uses a BLTouch with adaptive meshing, which only probes the area the print will cover.
I've also started a set of macros to automate parts of a print, but they aren't finished yet.
Most guides tell you to turn on input shaping and pressure advance. I tried both and kept neither. I print slowly enough that input shaping had almost nothing to correct, and my pressure advance test prints looked the same as the ones without it.
Finding out which settings make no difference on my printer was about as useful as finding the ones that do.
The printer has been running since December 2021. Parts I design usually fit the first time, the walls are visibly cleaner than before the rebuild, and failed prints are rare. What limits speed now is the original hotend, which can only melt filament so fast.
Most of my printing now happens on a Prusa MK4S because it's faster. That printer also arrived with a dimensional problem, so I took it apart and fixed it. Without the Ender, I wouldn't have been confident doing that on a printer I hadn't built myself.