Upgrading a CR-30 Belt Printer

I’ve been working on upgrades to a CR-30 with the goal of better / faster print quality and higher temps with access to more materials. For a first pass, I’m using parts I’m familiar with and have on hand:

E3Dv6 Hot End (or clone)
Hardened Steel Sharp Nozzle
40mm fans
SKR v1.3 / SKR Mini V2 / BigTreeTech RRF control board
USB / buck converter to power the Pi

The still-in-progress printable parts needed are in this Onshape document.

I’m also using a Pi-Zero-W as both a GCode sender and as a web-cam. It provides a live feed and also takes snapshots at each layer of a print and can generate a time-lapse when a print is done. This is using still-in-development code from the GridBot project.

This is the end-state:

Sample print quality after the upgrade:

And snapshots of work leading up to this:

I will update this as I make more progress

Quick update. I switched the control board back to the SKR v1.3 – I just like it better.

Here is the bracket I made for it. It’s in the linked Onshape document above

And it looks like this with the board installed

And with the updated case fan bracket and USB Buck Converter in place

All back together again with a new blue USB cable to the PI Zero W

1 Like

I replaced the hot end with one based on a Volcano, and … WOW. Heats up fast. Incredible prints.

I had to create a new fan mount variant which is also in the above linked CAD models.

parts for the upgrade:

hot end kit: https://www.amazon.com/dp/B0751BMYJB
50W heater: https://www.amazon.com/dp/B08H4QXSM5
thermistor: https://www.amazon.com/dp/B07Y4NYMSN
silicone tape for heat block (found in a drawer)


Upgrades continue. Yesterday, the X rail went on:

which meant a new bracket

parts came off

Y rails go on today. More details soon…

Y rails and new head complete

1 Like

Love your project.
I’m getting ready to upgrade my CR30 motherboard and X Y to closed loop sensors to the steppers. I was wondering about the what you had to do to get Marlin configured for the CR30 / advice about upgrading motherboard.
FYI - the reason for my upgrade is layer shifting sucks on 20+ hour prints. I upgraded my sapphire core XY and the layer shifting went away.

welcome @ecobra … the Marlin most people have switched to is here

Release Marlin - CR-30 · CR30-Users/Marlin-CR30 (github.com)

I haven’t experienced layer shifting with the stock board or the SKR. But I have noticed that layer banding is often caused by a combination of:

  1. uncalibrated bed PID
  2. over-constrained heated bed which then bulges in the middle
  3. running the bed really hot exacerbates (1) and (2)

As of now, I have one CR-30 running Marlin on an SKR v1.3 and one running Klipper on the stock Creality board. Both of these give me nozzle pressure management, which is key.

Possible easier fixes for layer banding are

  1. run PID calibration on the bed
  2. loosen 5 of 6 heated bed bolts (leave the leading center tight)

First thank you for your response. I will look into that your recommendations.
When I talk about layer shift I am referring to a cm shift probably due to a nozzle drip. PXL_20210531_141020195
When I added the closed loop to my other printers XY steppers the cause still happened, but the machine compensated and the print came out well with just a single bump / defect.
To put the closed loop parts in I need to bypass the stepper motor drivers, so I need to upgrade the motherboard and I just happen to have an SKR 1.4 laying around to do that.
Again thank you for the time and sharing of knowledge it is appreciated.

I have found that belt printing is much more sensitive to flow rates. Over-extrusion leads to dragging of the part, nozzle interference, and eventually a shift of print failure. It also just happens with some filaments with stringing, oozing, or other artifacts. Because the belt flexes, any perturbation of the part results in rocking and possible freeing of the part from the belt.

I initially upgraded my board to get Marlin’s linear advance. And this did help. But I put Klipper on my second CR-30, and it has been far better with nozzle pressure advance at eliminating the need for retractions, reducing print time, and improving print quality.

Hello again. I upgraded my motherboard to skr 1.4 and I’m wondering what code base you used and if you can link it.
I compiled the https://github.com/CR30-Users/Marlin-CR30/tree/2.0.x_cr30/Marlin code base. Everything in config.h seems to be wrong, stepper motors (except Z) all wrong direction, and probably some other stuff. I still have to get steps per mm (seems way off) and I haven’t got the ends stops working.
Once again, thanks for the good work. I plan on submitting the config.h and config_adv.h to the git when I get it finished. However it is possible I’m chasing the wrong rabbit.

Michael / Ecobra

I do have the conf*.h files on a computer in the lab. I won’t be able to get to it until Friday. But I can post them then. They’re for 1.3, which should be really close to 1.4

here are the config files to build it


Thanks. There were a couple issues I found in my files after comparing them to yours. Also thinking about doing the volcano upgrade, and debating kippler.

I have a working upgrade now. Yeah.
I have modified the hot end holder and want to publish the results giving you credit for the base models if that is OK? If not I can send you the updates and link them in my write ups?

Go ahead and publish. All of my work is open license. Thanks for the attribution.

Thanks stewart. I modified your onshape files in fusion 360 and solved my bed adhesion problems. Here is a really quick youtube video where I talk about it over octo-lapses

Oops - Video Link https://youtu.be/kPepSSTgKow

Short low effort video
So I was upgrading my cr-30 and couldn’t get belt adhesion afterwards. It occured to me that if I changed the angle of the print head I could solve the problem. It worked.

3d Models

Inspired by
Thomas Sanladerer Is a lowered belt printer BETTER?

While installing linear rails per
Upgrading a CR-30 Belt Printer per this set of instructions

Hey @ecobra,
I don’t see a link for the video.

Good morning and happy new year!

@stewart i’ve been watching your posts about the creality cr-30 and saw you did a great job with him! recently i bought one and my intention is make cosplay props and long parts but im a bit lost with wich improvements i must do to her to secure good impresions and good quality!

Could you do a resume after your tests wich will be the best parts or components to buy/ upgrade? any tips for someone whos realitvely new in the 3D impression world and more with the creality CR-30? thanks!

hi @Eguipegui and welcome! in my experience, there are three critical changes required to a stock CR-30.

  • replace bowden tube with capricorn and bowden couplers
  • loosen 1/4 turn 5 of the 6 heated bed bolts or add shims
  • upgrade X axis with a linear rail

once calibrated, your printer will then be reliable. these changes cover 95% of the common failure modes. other recommended upgrades (firmware or hardware) are for performance and should be done after these.

an explanation for each:

bowden tube and couplers

the CR-30 uses a very long bowden tube which means longer retractions are required for clean prints. this puts stress on the couplers and increases the likelihood of a hot end clog. the stock couplers are weak and fail often. the capricorn tubing has a smaller inner diameter. this means less retraction is required.

heated bed

the CR-30 heated bed installation suffers from a design flaw. it is constrained at 6 points along the edge. when the bed is heated above 60C, it starts to warp (expanding metal needs to go somewhere). if it is held at higher temps for any period of time the warp becomes permanent. because of gravity, the warp goes down creating a dip in the middle of the bed. this turns the belt into a drum floating over the bed. any amount of space, even 0.01mm, between the belt and bed means prints will not stick reliably.

loosening 5 bolts (leaving the center bolt closest to the end of the leading edge of the belt tight) provides some ability for the bed to expand without warping. the belt tension will hold the bed down.

a more permanent and reliable fix is to add 12mm aluminum shims under the center of the bed to physically prevent it from warping down. I have used old E3D heater blocks (which have one side at 12mm) held in place with kapton tape. if your bed is already warped (or suspected), then use a straight edge across the bare bed with a light behind it to confirm

linear X rail

the X axis suffers from torsional loading due to the angle of the head. this is a really bad place to use roller wheels to hold something in place. that loading pattern will, over time, destroy the wheels. the Y axis can get away with this because it’s a beam held in two locations which prevents uneven loading. the stock X wheels are also known to be installed poorly. if this happens or if they are degrading, prints will start to fail.

the linear rail is a more rigid motion system with all metal parts that have very tight tolerances. it will not fail over time and provides a much more reliable base to mount the head. this upgrade is mandatory if you plan to add direct drive at any point since that will increase the weight of the head and thus torsional loading on the X axis.