Improving an Ender 3

Why not another challenge?

Recently, I stumbled upon this printer on my university campus; I struck up a conversation with it's owner which quickly led to me lending my assistance in getting it running the best it ever would. 

A brief overview of the issues:

A quick glance at this machine would've left one not thinking that anything was afoot. It was clean, neatly arranged on a table, and it was obviously treated well. However, looks are quick to deceive even a keen eye. For starters, the movement of the X and X axes were stiffer than they really ought to have been; a problem which plagued the Z axis as well. Upon close inspection, not only were bolts too tight and too loose in all the wrong places, but everything was just not squared by a couple tenths of a millimeter. So, the entire printer was disassembled and it's refurbishment and improvement was commenced. 

The first thing that needed to be addressed was the wiring: it was an incredible mess and also surprising that it hadn't caught on itself yet. A quick test print showed that the printer was capable of making some quality prints, but a lot of TLC was still needed to get it to happen time and time again.

The first major modification was insulating the bed so that there was less thermal pollution coming from the machine, and the build plate would heat faster while being more efficient. A notable decrease in time was noted following this addition.

Anything that could be shielded from the heat of components also received some attention as well. 

The controller board that originally comes with the Ender 3 is not an explicitly bad piece of hardware, but there are much better (and quieter) options on the market that are easily able to take its place. In this case, the BTT SKR Mini E3 V3.0 was chosen for its use of the TMC2209 silent drivers and because of its relatively easy replacement of the original hardware. A custom Marlin 2.0.x firmware was compiled for it to enable features which this printer never came with, and to ensure maximum safety and reliability. 

The GitHub fork of the Marlin branch for this firmware is available here: https://github.com/cwcontur/SKR-MINI-E3-V3-CR-BL-Touch

Bed leveling was one of the biggest challenges of this whole project. Not a print could be done without the bed needing the be leveled first and according to users on a variety of online forums, many others had this exact same experience. In my opinion, that was an unacceptable compromise to using this printer. So, I set off tracking down all the bed leveling issues, fixing them one by one as they were discovered. The original springs that come with this machine were one of the major culprits. Not only were they maxed out most of the time just to reach the stock Z height, but they also were prone to warping from heating cycles of the bed. In addition, the factory firmware that uses a bed-leveling probe does not extrapolate enough data to properly compensate for the issues; at least, in this case, it did not. So, when compiling the new firmware, the number of data points was increase, and interpolation was activated to better determine the imperfections of the build surface. In the end, as two of the pictures above show, the results speak for themselves. 

Mesh was added to keep debris away from the electronics. In addition, new, quieter fans were wired and installed. 

Lastly, two 24 volt to 12 volt converters were calibrated and installed so that the quieter fans could be installed while maintaining proper PWM control. The housing is a custom model and the added wiring is all a custom design. 

Why not a second one?

After doing the first Ender 3, I found myself having the challenge of doing everything once again.

Further modifications

Beyond just generally improving the printer itself, I wanted to take things a step further and use the printer to make parts for itself to improve the QOL when using it. So, I modeled and printed brackets to hold my filament dryer on the printer; additionally, I modeled and installed a brass brush holder so that the printer can automatically clean the nozzle at the start of each print.