u915

Daniel Cano Merchán - Hacking & Tech

Ender3 upgrades, log from a long journey

2021-06-02 #Hacking #3dprinting

Ender3 upgrades writeup. My upgrades on the Ender3 from basic printables upgrades to custom firmware and my little story


I am still a noob on 3d printing. So this post is about how a noob wasted a lot of hours and money on 3D printing.

The origin and my background

I did not have any experience with 3D printing and modeling, probably my best was my experience with DIY tools and computers.

My first 3D printer was a cheap DIY Anet A8 I remember that cost me 82 EUR on Gearbest because was a offer. I spend days trying to figure out how to mount the printer, only a youtube video from the community saved me, because there was not a clear manual on that moment. When I remember about the leveling, I remember it really hard. I still have some small PLA prints but sadly the printer did not last too much due to wild reasons.

My second 3D printer was a Anycubic i3 Mega 250EUR from Amazon. Was a great upgrade from the Anet A8: Tactil panel, cristal bed, robust frame, dual Z without wheels, better extruder, and hotend upgrade. Also required a minimal setup to start printing. This was my real 3d printing experience and learned new things and was a real contact with Cura. It was working fine for months until one day I let the printer working and when I came home after work the printer was dead and the circuits burned. Maybe because my low experience on 3d printing or maybe because something bad happend. It was irrecoverable for me on that moment and because I modified a little the printer probably the warranty was broken..

Today I still use the parts from both printers to repair or upgrade things.

Doubts and lost faith

After a period of doubt feeling that I messed up and 3D printing was not for me. I started again with another cheap 3d printer.

But my decision was a little weird. I bought on paper a worse 3D printer than the Anycubic i3 Mega. Or a leats that was the first feeling. Another old school and ugly LCD panel like the AnetA8, only one Z axis with wheels and pulleys , a non cristal template bed, was another DIY kit, really noisy, 24v, poor cable management..

But was cheap, simple, customizable and the reviews were good. So if I fail again was a cheap printer… that was my thought.

My choice was a vanilla Ender 3 from Aliexpress for 176 EUR.

The cat and the dog

After spending a few hours mounting the DIY Kit all was looking fine so I started to print things. If you have a Ender 3 you know that the printer has the “hello world” templates on the SD Card a Chinese Cat and a Dog.

I still have them !

alt text

Not bad at all for the first print I am still amazed today.

Really quick review

There are a lot of Ender 3 reviews out there so I will resume my overrall experience in only a few words.

The printer works fine with great quality but you need to know what you do and you need also great dosis of patience.

Wasted time

Yeah I am serious right now. The printer works fine with great quality but I am one of those that like tinkering the printer, that is why I used on this post the tag Hacking.

For me this is hardware hacking and I really enjoyed the experience of modifying and tinkering the printer now It is not a Ender 3 is another printer. I can not remember how many times I totally unmount the printer and mount again searching what was failing. I was awake a lot of nights working on the printer.

I tested a lot of upgrades some of them works for me others are just failed experiments. I wasted a lot of hours working on the 3D printer only to print a little better or sometimes to print worse…or maybe to not print at all.

I have to say that was great to have the 3D printer during the COVID pandemic lockdown, probably I still have a more or less good mental health because I was focused on the printer keeping my mind busy and doing “productive” things.

Was a nice hobby to have on a moment like that, the pandemic lockdown was a little better with the Ender 3 burning PLA all the day with countless upgrades to do.

Wasted… money

I do not regreat to have spend every Euro that I spend on the printer. Of course I wasted more money than the printer costs. I assume that… With the money I paid new upgrades, testing new things and of course you need to pay the parts, replacements and materials to keep printing.

The final results

So after all my journey was just to learn new things and I think the best way to learn things is to fail and start again. I failed a lot.

All of this was just for fun, so when something was wrong just started again with a different point of view.

Now I am happy on how the printer just do what I want to do.

It is a strange feeling, when you feel the work is done and your machine is OK and do not need more upgrades.

Probably this feeling is a circle and will start again but so far I just stopped the upgrades and I am enjoying the results of a lot of probe and error.

Upgrades

Finally after all these are the “final” upgrades on my Ender 3:

Printed parts

Rail cover

Usefull rails to cover and better clean up the rails from the filament

https://www.thingiverse.com/thing:3109630

alt text

Cable chain

I have to admit it I just printed this on the beginning not just to fix the cable management, it is cool too.

Now I replaced a part of the chain, because after a lot of hours it started to make noise when moving.

https://www.thingiverse.com/thing:2920060

alt text

Drawer ender3

Really useful to store parts or whatever you need.

https://www.thingiverse.com/thing:2989218

alt text

Back electronic case

Extra space to mount electronics on the back. Here there are the Raspberry Pi and the relay to control the PSU with Octoprint.

https://www.thingiverse.com/thing:3688967

alt text

Back case electronic 60mm fan

Case with mount for a 60mm fan

https://www.thingiverse.com/thing:3936700

Power supply fan 120mm fan case

Case to mount a 120mm fan on the power supply, the stock fan is really noisy.

https://www.thingiverse.com/thing:3672346

alt text

Guide Z axis with bearer

There are a lot of controversy with this, I know that it is not recommended on some sites but on my experience helps and my prints are better. I am happy with that, just let me enjoy.

https://www.thingiverse.com/thing:3033151

alt text

Z axis space

To fix the gap between the Z stepmotor and the frame. To prevent binding.

https://www.thingiverse.com/thing:2925230

Cable LCD clip

Cable management for the LCD panel cable. To fix the LCD cable to the frame.

https://www.thingiverse.com/thing:2960375

Back case cover LCD

To protect the LCD panel screen.

https://www.thingiverse.com/thing:2858209

alt text

Motherboard cover with a 40mm fan

Printed case with the space needed to mount a 40mm noctua fan on the motherboard

https://www.thingiverse.com/thing:4565295

alt text

Side spool mount

I thing this is a great upgrade, the filament just move better and the vibrations are not bad, also is easier to change the filament.

https://www.thingiverse.com/thing:3544593

alt text

LM2596 case

To just store the LM2596 buck converter needed for the Noctua fans (they work at 12V and the Ender works with 24v)

https://www.thingiverse.com/thing:3164882

Fang duct 40x40x20mm

This is the fang duct with better results in my experiencie with the Dual Noctua fans and BLTouch. Good cooling and quality, I have read that Noctua fans are not viable for 3D printing but I did not have any problem so far. Note that I use the 40x40x20mm fans that have better air presure than 40x10x10mm Noctua fans.

https://www.thingiverse.com/thing:4460693

alt text

Machine spirit X-Axis cover

Because you obviously need it, you can not print properly without the holy guide of Mars.

https://www.thingiverse.com/thing:3260782

alt text

Non-printed parts

Honest list about how much money I spend on the 3D printer upgrades in all the time. Note that I bought all the upgrades in years, the replacements like hotend, new PLA and other parts are not included on this list.

  • Noctua Fans (fang duct), 2 NF-A4x20 FLX 12V 14.90 EUR per unit. 29.80 EUR
  • Noctua Fan (back case for the Paspberry Pi), NF-A6x20 FLX 5V. 14.90 EUR
  • Buck converters (24v to 12v), LM2596, pack of 5. 11.99 EUR
  • BLTouch V3.1 , 51.99 EUR
  • Creality 3D silent motherboard, V4.2.7, 39.99 EUR
  • Creality cristal bed, 19.90 EUR
  • Block of concrete and rubber, 3.45 EUR
  • Raspberry Pi 4 model B, 84.99 EUR
  • Relay 8.90 EUR
  • New polycarbonate wheels with bearers, 8.99 EUR
  • New pulleys, GT2 2m x 6mm , 9.99 EUR
  • Double gear extruder, 19,80 EUR
  • Better springs, 7.99 EUR
  • Corsair 12V silent fans. Spare parts from a old PC that I had. No cost. I underpowered it with the buck coverter to 7V works fine with a balance of air flow and noise
  • Bearer from a old skate table, no cost.

Total aprox: 312,68 EUR

Key features and upgrades

Noise is very important for me, because I use the 3D printer on my “office” where I work. So the silent board+noctua fans are a great invest and do not understimate the block of concrete, adds great stability and reduce a lot the noise for near 3 EUR is a must. The noise is near 41db fully working, only you can hear the fans.

BLTouch, for firts layer helper and calibration on my experience you have to adapt sourself to it and practice because on the beginning I printed worse first layers than the manual calibration and that was frustrating, but once you have dominated the process is a pleasure to just send the gcode and do not touch and calibrate the printer for a long time. You still have to level the bed but in combination with the better springs you rarely have to calibrate the bed. The small desviation is compensated with the BLTouch but can not make magic, you still need to know what to do. I combine this with the firmware feature tune->z probe z offset to make a perfect first layer when it is printing the first layer.

alt text

Raspberry Pi and Octoprint, gives you remote control. It is a great value to control the 3D printer with your web browser also I use the IPhone app Octopod: https://apps.apple.com/es/app/octopod-for-octoprint/id1412557625

There are also a lot of apps for Android too. But seriously it is great to remote control the Ender, but in addition there are other features that makes it great. The PSU is controlled by Octoprint with a plugin, PSU Control. You can add security control like power off the printer when max/min temperature is reached or just set a idle timeout when it is not working. Another great value it is the firmware updater, I just upload new firmware with the plugin and it is updated in a easy way. Of course in my case with the Creality board you need to enable the flash firts I did this with an arduino board:

Ender 3 8 bit firmware flash board Creality video:

https://www.youtube.com/watch?v=sVf9WUc3mZY

Cristal bed, adhesion, great first layer and also a stable and perfect linear surface to print. I use sometimes hair spay (Nelly) to just stick the first print, a miracle for me. Holy spray.

Cloggs the dual gear extruder was a great choice, you have to tune the steps but after that 0 cloggs I still use the white filament guide without any issues. Also I reduced the flow to 85%

Firmware

I am not a guru of Marlin, I did a custom version of Marlin 1.1.9, based on this awesome guide and materials:

https://www.danbp.org/p/en/node/136

Some key points On Configuration.h

My default PID on the bed was strange, sometimes the bed temperature was +-2º of the temperature desired, so I finally set new values making a calibration, with PID autotune:


#define DEFAULT_bedKp 405.62
#define DEFAULT_bedKi 71.74
#define DEFAULT_bedKd 573.34

TMC2208 Drivers, silent board Creality

#define X_DRIVER_TYPE  TMC2208_STANDALONE 
#define Y_DRIVER_TYPE  TMC2208_STANDALONE 
#define Z_DRIVER_TYPE  TMC2208_STANDALONE 

Also because I used a new extruder, I modified the steps to 137.52:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 137.52 }

S_CURVE_ACCELERATION, to have smoother direction changes and reduce vibrations:

#define S_CURVE_ACCELERATION

BL touch enabled:

#define BLTOUCH 
#if ENABLED(BLTOUCH)
  #define SERVO0_PIN 27 //Important!! Set "#define BEEPER_PIN -1" in all the SANGUINOLOLU_11.h to prevent triggering the BL Touch probe during the menu use - Customized DBP
#endif

Bilinear enabled:

#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)

  // Set the number of grid points per dimension.
  #define GRID_MAX_POINTS_X 5 
  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

  #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
    #if ENABLED(ABL_BILINEAR_SUBDIVISION)
      // Number of subdivisions between probe points
      #define BILINEAR_SUBDIVISIONS 3
    #endif

  #endif

Configuration_adv.h

#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02  // (mm) Distance from real junction edge
#endif

Cura profile, Bruce Lee approved

I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.

-Bruce Lee

alt text

After a lot of trial and error this is my best cura profile based on a 0.16mm layer to print in the matority of the cases.

It is optimized for the Geeetech filament that works well for me and it is cheap.

The strategy is to print the walls and borders slow and the infill at high speed, to prevent ghosting. I use a low temperature without any issues and I have 0 stringing, probably there are downsides but so far nothing.

These are some key points:

  • Layer height 0.16mm
  • Flow 85%
  • Printing PLA at 185º
  • Bed temperature 50º sometimes disabled after the firts layer
  • Retraction enabled
  • Retract at layer change
  • Retraction distance: 4.7 mm
  • Retraction speed: 25 mm/s
  • Z-hop when retracted
  • Z hop height 0.04
  • Print speed 60 mm/s
  • Infill speed 100 mm/s
  • Wall speed 30mm/s
  • Outer and inner wall speed 20 mm/s
  • Support speed 20 mm/s
  • Travel speed 180 mm/s
  • Enable acceleration control true
  • Print acceleration 500
  • Wall acceleration 250
  • Enable jerk control true
  • Print jerk 20
  • Outwall jerk 8

https://github.com/u915/CuraEnder3profiles/blob/main/ender3.curaprofile

Prints

Finally some of the last prints to show how the printer works:

alt text

alt text

alt text

alt text

alt text

alt text

alt text


Thanks for reading!