Introduction: EnderLoop

The EnderLoop is an Ender 3 conversion mod that turns it into a conveyor belt printer. For those who are wondering what conveyor belt printers are for and where they come from, here's a little context info. They've been around for awhile in the form of the PowerBelt Zero, White Knight, and BlackBelt printers. That said, they have been popularized as of late by the Creality 3DPrintMill (CR-30). They provide 3 main benefits:

  1. The infinite y axis means you can print very long items you normally wouldn't be able to.
  2. The ability to roll a belt and eject finished prints makes it possible to queue up any number of the same item over again without needing to clean the bed and set up another print.
  3. The 45 degree angle can help remove quite a bit of the support material that would normally need to be printed. The amount of support material needed is relative to the print plane, which means that the 45 degree plane won't remove all support (and some models will need more), but in general it helps quite a bit.

There's a good summary of these points available here.

While this mod is similar to the CR-30, it costs about 1/3 of the price (including the cost of an Ender 3) which increases the accessibility of belt printing, offers more mod flexibility since the core mechanics are those of the Ender 3 which already has a plethora of mods available online, and is available right now. Also, since the support extensions are 3d printed, you can cheaply and effectively add longer support than other belt printers available. The tradeoffs are that it is a bit slower than the CR-30 and requires some DIY know-how with printers. It is currently fully functional (including firmware and slicing configuration for BlackBelt Cura) and ready for anyone who is comfortable modding their printer. Also happy to answer any questions. Lastly, I've got this hosted on Thingiverse here and Github here.

Here's a great video with Adam at PowerBelt3D discussing the EnderLoop.

This supports around a 110x200xinfinity bed size.

Note

Models in the printer pictures should mirror what is in the latest source files. Any differences should be minimal and are usually just that I'm running a slightly older version of the model to save on plastic waste.

This is still a work in progress and you will most definitely find issues. Currently, I've identified a couple outstanding problems in my build:

  1. Adhesion. I'm just gonna say outright that this isn't terrible adhesion. It's just not as good as I like it. It really depends on the model height and surface area touching the belt. You can improve the adhesion slightly by "scuffing" the surface of the belt with sandpaper.
  2. Slight angle on some parts. I believe this has to do with esteps or cooling.

Most of the remaining issues are fairly minor and should either be small model updates or software tweaks.

If you experience any issues, they are most likely a result of bed leveling. I learned this the hard way so certainly check this first. Bed leveling a belt printer is trickier than with a "normal" printer and can cause some strange issues (adhesion, angled prints, head collisions, etc.)

Lastly, I'll note, and this is less of an issue and more of a limitation, but this will print slower than a normal printer due to the lead screw being used as the "de facto Y axis".

Step 1: Parts, Pt. 1

Purchased Parts

Belt

Currently there are 3 options (there may be a 4th option when Creality's CR-30 belt is officially released):

  1. Buy a custom belt. There are some sites that are willing to sell a custom belt. I believe BuildTak is willing to custom make a belt, however the price is fairly steep (based on my research on the WhiteKnight printer).
  2. DIY. I'll include a section here on how to make a belt yourself should you want to. Note that it's going to take some patience to get a clean surface and the performance (adhesion and ability of the roller to grip the belt) will be worse than option 3. The price point for this option is also going to be about the same as option 3.
  3. POWERBELT3D Belt. I've reached out to Adam at PowerBelt and he was willing to list a custom belt that he has been working on that is specifically designed for the EnderLoop on his store. This is what I use right now and has pretty good characteristics. A couple of notes from the PowerBelt folks on this:
    • For PLA, we recommend a bed temperature of 60-70C.
    • For PETG and TPU, they recommend a bed temperature of 70-80C. PETG tends to stick very well to the Polyester top layer, and might rip the material. They also recommend applying glue stick to the conveyor belt as a release agent to prevent this. If tearing still occurs, increasing the speed of outer contour that contacts the conveyor belt may help.

Timing Belt

You have a few options. My recommendation would be to purchase these. They are a little over 8mm wide. You'll note that this is wider than standard 2GT time belts (typically 6mm).This helps it get better traction. If you are looking to save a few bucks, you should also be able to use the extra timing belt in the Ender 3 kit you don't need (for the original y axis). I would recommend looking up videos on joining timing belts, but you should be able to cut each end in the middle of a tooth (keeping note of how long you want the loop),rough up the back of the belt (smooth side) with sand paper, and glueing them together with a piece of cloth or ribbon on the roughed up side for extra adhesion support. If you find that this isn't enough to hold the belt together, you can try to use braided fishing line to stitch the adhered ends together.

Belt Motor

The Y motor on the Ender 3 simply doesn't have enough torque to be able to turn the belt. I ended up purchasing this Nema 17 stepper motor that draws less than 2 Amps (this is the max that the drivers on the Ender 3, regardless of version, will support). That stepper motor I linked also coincidentally has an extra cable with it. You will either need this, another long stepper cable, or to make your own cable. This is to accommodate the longer distance to the original Z motor which mounts at the back of the printer now, instead of the middle.

Pulley

Since you need to install a new motor, you will also need a new pulley for the belt motor. I used this.

Springs

You will need better springs for the bed than the Ender 3 comes with. I ended up buying this assortment.

"Grippy" Paint

You will also need flex seal or another suitably "grippy" paint on coating to put on the axle.

Lubricant

You will need a lubricant for all of the roller ends. I always use Super Lube.

Steel Rods - Optional

I'm listing this here even though it is optional because I highly recommend this. These are for the rollers to ensure they don't flex inward. You can make this work without them, but the purely 3d printed one's can't continually handle the stress of sitting without spinning with the belt tensioned on them. With that in mind, you'll want "Tight-Tolerance Oil-Hardening O1 Tool Steel Rod, 0.3020" Diameter, 3 Feet Long".

Fasteners

  • T Nuts - I would recommend buying an assortment pack like this although you mainly need M3 sized parts (and the Ender 3 kit comes with a couple extra M4 T nuts in case you go that route).
  • M3 washers to use as spacers for the hotend. You shouldn't need more than 4.
  • Assorted M3/M4 screws, mostly M3 8mm. I would recommend buying an assortment to slot in. Most of it is fairly flexible in what you use. Most holes in the parts I designed are for M3 screws, but you can enlarge the holes in the models if you go with another screw size.
  • 2 M3 20mm screws and 2 M3 nuts for attaching the hot end lower on the print head mount plate.
  • 4 M5 screws for attaching the gantry to the base. I would recommend they be 40-50 mm long since they will be holding the gantry, but the length is fairly flexible.
  • 2 M5 screws and 2 M5 nuts for attaching the LCD screen to the mount. I would recommend around 30 mm long, but, again, that's fairly flexible.

Tools

I've tried to make this install as "tool-less" as possible to make it accessible. That said, I've determined that in order to make this as functional as possible, there are a couple tools you'll need (or you can go to your local metal/machine shop to have done for you).

  • Drill with titanium bits (or another bit that can drill steel)
  • Dremel with a diamond coated cutting bit (or another bit that can cut steel), or a hacksaw

Optional:

  • You may want to consider purchasing a few nylon washers to go above the springs, but below the heated bed. This will prevent damage to the heated bed from the metal spring. This is more of an Ender 3 design upgrade than an EnderLoop mod component, but I think it's worth mentioning, especially if you replace the default springs with stronger ones.
  • I sadly managed to break endstops while I was tinkering with design and assembly. If you find yourself in a similar predicament, these work as replacements.
  • I also unfortunately managed to fry my mainboard (specifically a driver) while I was tinkering and ended up replacing it with these. Those boards are fantastic because the drivers on them are INCREDIBLY quiet. The loudest part on the printer after installing one of these becomes the fans.
  • If your mainboard is V1.1.5, you will need either an Arduino or a USBTiny.
  • If you want to make a custom belt, you can get parts as follows. In order to keep this lower cost, the backing is steel shim, which I taped into a belt using kapton tape.I then coated the hole belt in kapton tape. Your other options are PET tape or PEI sheets with an adhesive coating between the sheet and the steel shim.Steel shim link: https://www.mcmaster.com/steel-shim-stock/shim-stock-6/Instructions on sizing this are further down in the assembly information.

Step 2: Parts, Pt. 2

Printed Parts

Required

  • 2 - AngledSupport
  • 2 - BedStandV2
  • 2 - BeltSlide
  • 1 - EndSensorHolder
  • 2 - GantryBraceBottom
  • 1 - GantryBraceHolderLeft
  • 1 - GantryBraceHolderRight
  • 2 - GantryBraceTop
  • 1 - LcdHolder
  • 1 - LeftBeltClip
  • 1 - ModifiedMotorHolder
  • 1 - PartCoolerVent
  • 1 - RightBeltClip
  • 2 - Updated45ZHolder
  • 2 - UpdatedAxle or UpdatedAxleCrowned or UpdatedAxleSteelRod
  • 4 - UpdatedYIdler
  • 2 - YExtension
  • 2 - YExtensionClamp
  • 11 - YExtensionSupport

Optional

  • 1 - Scraper
  • Extension rollers
    • 2 or 3 - UpdatedAxle
    • 4 or 6 - UpdatedYIdler
    • 2 - Yextension
    • 8 - YExtensionSupport

Print settings

Everything was printed somewhere between a 20-30% infill except for the axles which were printed at 60% infill and the RightBeltClip which was printed at 80% infill. You also may find the part tolerances to be too tight or too loose depending on how your printer is calibrated. You can either modify the models slightly to increase/decrease the size or use the horizontal expansion setting in Cura adjust the part prints.

Step 3: Removing Parts

Assembly is fairly straight forward and most of it should make sense off of the pictures.

To start, you will need to strip down a few parts that are on the Ender 3 already.
Most of the parts you will be taking off are on the bed. You won't need the timing belt, motor, or aluminum extrusion directly under the bed. I've attached a picture to give you an idea of most of the parts you won't need.

Step 4: Installing Bed Stand

You will need to keep the metal plate, screws, and tightening wheels right under the bed. This metal plate is what you will attach to the BedStand model and you should be able to attach it in the same way the wheels were originally attached (same nuts and bolts).

Depending on how tight this model is to your aluminum extrusion, you can use T nuts and screws to secure the BedStand more tightly. As far as replacing the springs that come with the Ender 3, I would recommend experimenting with a few different spring tensions. I used two different varieties of spring since one side of my printer needed to be tightened down more than the other. I would also recommend putting a nylon washer on top of each spring (just under the heated bed) to prevent the spring from scraping the heated bed.

Step 5: Installing Gantry

The gantry is mounted at a 45 degree angle. This is accomplished with the Updated45ZHolder and the AngledSupport files. Slide the AngledSupport on first to the aluminum extrusion base and then slide the gantry extrusion into it. Lastly, slide the ModifiedMotorHolder onto the end of the gantry extrusion and screw the Updated45ZHolder into the gantry extrusion (these screws should be the ones that come with the printer)

and the base extrusion (these will be the longer M5 screws mentioned on the parts list). I only used two screws on the base extrusion since that seemed sufficiently sturdy.

Step 6: Hotend Setup

The hot end needs to be lowered on the print head. This is where the drill with a titanium bit comes in. You will be drilling a hole to accommodate the M3 20mm screws that attaches the hot end to the print head plate. I've attached a picture of this, but basically the holes should be drilled as low as possible without reaching the point on the steel where it starts to curve. It should also be vertically aligned with the original screw holes. Once you've done this, you can mount the hot end using the M3 20mm screws and M3 nuts using 4 M3 washers (2 per screw) as spacers between the hot end and the steel print head plate. Note, these screws need to extend past the back of the steel print head plate exactly the right amount so you can install the washer. If it goes to far, the screws will grind on the aluminum extrusion when it slides left to right and you will run into problems.

Most likely the silicon sock that comes with the Ender 3 will have material that covers the brass nozzle on the hot end. You'll want to trim the silicon that covers the brass nozzle or it will hit the bed or your in progress print due to the 45 degree print angle. You'll also need to remove the print fan vent piece from the side of the print head and replace it with the PartCoolerVent. The print head is mounted 90 degrees from how a standard Ender 3 is constructed. To handle this, you need to unscrew the wheels on the print head and mount the LeftBeltClip and RightBeltClip under those screws. The X axis timing belt slides into the slots on those two parts. Note that you'll want to install the timing belt on the LeftBeltClip before you resecure the wheels. Once that is in place, you should be able to install the print head on the aluminum extrusion and install the timing belt around the motor (like you normally would). Lastly, you'll need to install the EndSensorHolder on the side of the aluminum extrusion that the hot end is on. Slide it as far left as you can without the print head hitting the metal support that attaches to the extrusion. This is installed using a T nut. You will need to remove the limit switch on the X axis (it's at the end of this rod under a plastic cover where the timing belt runs). This limit switch can then be screwed onto the EndSensorHolder.

Step 7: Installing Gantry Supports

Next you will add the gantry support pieces. This will involve attaching the GantryBraceHolderLeft on the left aluminum extrusion on the base and the GantryBraceHolderRight on the right aluminum extrusion on the base. This provides a socket hole on top to install the GantryBraceBottom into each of them. On top of the GantryBraceBottom you will use 8 (4 on each) to attach the GantryBraceTop's. These will then screw in to the top of the gantry using the outermost screw hole (you'll need to remove the screw that was there already) and a couple extra M5 screws you should have lying around from stripping parts off of the Ender 3.

Step 8: Base Extension, Motor Mount, and Rollers

The next step is to extend the base. You will need to install two YExtension pieces at the front of the base (towards you) using two YExtensionClamp's and 4 YExtensionSupport's. I would recommend sliding the ModifiedMotorHolder onto the left YExtension before clamping the YExtension in place.

These will be held in place using T nuts. You can then mount the ModifiedMotorHolder using T nuts on the left YExtension. Note, for all of the roller instructions that follow, you will need to apply a lubricant to the rollers where they contact the idlers. You have 3 options for the rollers. UpdatedAxle - This is just a standard 3d printed roller.UpdatedAxleCrowned - This is a 3d printed roller with crowning in the middle to keep the belt inline.UpdatedAxleSteelRod - This is a 3d printed roller that you insert a steel rod into the middle of for support.I would recommend option 3. Should you go this route, the only additional work you need to do is: Cut the 3 ft steel rod into two, roughly 11in pieces (slightly longer is fine, but I wouldn't go shorter than that).Insert the steel rod pieces into two UpdatedAxleSteelRod prints. If it won't go through, I'd run a drill bit of a slightly larger diameter through the inside of the model to loosen the tolerance.If the steel rod sticks a bit, that's fine. I used a hammer to finish the job. Having it tight is perfectly fine (and actually makes it a bit simpler to install). If it isn't tight, you'll want to apply an adhesive to keep it in place so it doesn't slide out.No matter which of the roller options you choose, you will install one of the rollers using two UpdatedYIdler's and T nuts at the back of the printer (just behind the bed). The next roller you'll be installing will be the one that the motor drives. The roller model itself won't be able to grip the belt as it stands. You need to coat this roller, including the teeth, in a thin coating of something "grippy". I found FlexSeal paint worked well. Then you will need to mount this roller using two UpdatedYIdler's and T nuts at the front of the printer (between the ModifiedMotorHolder and the bed). You then install two BeltSlide's. One goes on the back side of the print bed (on that metal plate under the bed, kind of between the tightening wheels) and one on the front side (between the other two tightening wheels).

You will want to install the belt motor into the ModifiedMotorHolder and attach a pulley to the motor axle.
The timing belt will then go around the teeth on the axle and the pulley. Then you can install the LcdHolder on the right YExtension using T nuts and some screws (don't recall the size on these, had a few laying around).

Step 9: Belt Installation

The belt (regardless of which option you chose) can then be fed under the axle, over the two BeltSlide's (inside the small teeth that hold it), under the other axle, and back over the bed.

DIY Belt Sizing

You will cut the steel shim based on the width between the two guard bumps on the rollers and the length a little longer than necessary to go around the rollers, over the bed and over the belt slides.


Note that the steel shim is super sharp when cut, but you should be able to file it down.

DIY Belt Coating

You will want to tape it tight and straight (if either side is longer than the other, prints won't work well). Then run Kapton tape lengthwise over the belt to cover it for better print adhesion.
Less deformities in the tape is better as it will increase adhesion and lower model warp.

PowerBelt Belt Installation

From the folks at PowerBelt: https://youtu.be/ShYZX8OavIs

I will also note here that it can be helpful to lightly scuff the surface of the belt with sandpaper to increase the adhesion a bit.

Step 10: Optional Extension

Lastly, if you want an extension with rollers for longer prints, you can print out additional YExtension's, YExtensionSupport's (4 for each extension, go on the bottom half), and UpdatedYIdler's/UpdatedAxle's (as many as you'd like really, 2 UpdatedYIdler's per UpdatedAxle).

Step 11: Wiring

As far as wiring goes, there are a few things to keep in mind. Look at the stepper motor cable wire order in the connectors (the prebuilt connectors that come with the printer).

You'll note the middle two wires are inverted. Make sure you keep a close eye on whether a cable is supposed to have those wires
inverted or not. The motor I purchased to drive the belt did not want those wires inverted, but all the Ender 3 motors do.
One other thing to keep in mind is that all belt printers treat what we would normally consider the Y direction as Z. To
accomodate this, you will need to plug the belt motor into the Y slot on the mainboard and the gantry motor into the Y slot on the mainboard.
You will also need to plug the gantry end stop switch into the Y slot on the mainboard. You don't need a Z end stop switch (since there is no zero on a belt).
Everything else should be wired the same.

Step 12: Firmware

You will note that there are a few combinations of mainboards/drivers that ender 3's can come with:

Motherboards:
  • V1.1.5
  • V4.2.2
  • V4.2.7
Drivers:
  • HR4988
  • A4988
  • TMC2208
  • TMC2225

The precompiled firmware is meant for V4.2.7 and TMC2225 drivers (should also work with TMC2208 drivers). If you are using any other board/driver combination,
you will need to edit the firmware I provided.
Best I can tell, it seems that V1.1.5 comes with A4988, V4.2.7 comes with TMC2208 or TMC2225, and V4.2.2 can come with any
of the drivers listed.
V4.2.7 and V4.2.2 are simple enough to program. Simply place a compiled binary on a microsd card and insert into the printer.
When you turn it on it will flash the printer. If it complains about mismatched EEPROM, just ignore it and update the
EEPROM in the menu on the printer (lots of examples on the internet). If you have a V1.1.5, you will need to flash the firmware using
and Arduino or a USBTiny (https://www.amazon.com/gp/product/B07S9BX98K/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1).
Not gonna go into to many details here as there's plenty of information on flashing the firmware available online.

Also worth mentioning is that the included firmware is a zip file. Thingiverse won't allow this as an upload type so I've simply added the .thing extension on the end. Just delete the extension when you want to extract the zip.

Step 13: Slicer

You will need to install BlackBelt Cura to do belt printing. Once installed, find the install directory (C:\Program Files\BlackBelt Cura 3.6.0\resources on Windows) and copy/paste the Config folders I included here. This will prompt to overwrite a file, say yes. The config I included overwrites the BlackBelt default one.

This should be fine since most people who can afford a BlackBelt probably aren't making this ;)

Also worth mentioning is that the included Cura file is a zip file. Thingiverse won't allow this as an upload type so I've simply added the .thing extension on the end. Just delete the extension when you want to extract the zip.

Step 14: Results

I've included some test print pics to demonstrate the quality of what I'm getting off of the EnderLoop. In the pictures with two benchies, the black one is off of the belt printer whereas the white one is from a CR-6 SE as a comparison point.

Step 15: Sources

CNC Contest

Runner Up in the
CNC Contest