Cable Drive System – Rostock 3D Printer BI

During our research when designing the Rostock 3D Printer BI Edition, we found that some people had experimented with using cable drives instead of the traditional belt drives. After careful analysis, we were confident that a cable drive could accomplish the same function as a belt drive and that it would also be simpler to implement. We went through several rounds of testing and redesigning until we were fully satisfied with our current cable drive system. Today we are unveiling our final design for the cable drive system (which will ship with the first batch of Rostock BIs).

To begin, let’s take an overall look at the system and its components. At the bottom, we have a cable drive pulley, in the middle, we have a carriage assembly with cable tensioner, and at the top, we have an idler pulley module with bearings and a stop switch. The carriage assembly glides smoothly along 5/16 inch steel rods using LM8UU bearings.


Rostock 3D Printer Drive Pulley

One of the most important features that we wanted to incorporate into the cable drive pulley was the ability to keep the wire from crossing over itself. The main reason why we wanted the wire to spool perfectly around the pulley was to ensure that binding of the wire would not affect the print quality. We initially tested “ribbed” pulleys that were intended to guide the wire around an infinite screw. However, we found that these systems produced long pulleys that moved the wire laterally and created other types of problems.

Another objective we had was to keep the pulley relatively close to the stepper motor face. By doing so, we limited the lateral movement of the wire across the pulley and maintained a relatively constant wire distance between the top and bottom pulleys.


The result is a minimalistic drive pulley held in place by a retaining screw. We placed a dividing wall in the middle of the pulley to keep the spooling and unspooling segments separate. Another interesting feature of the drive pulley is a guide tunnel going from one end to the other.


This guide tunnel allowed us to use a single wire for the assembly and secure the wire on the pulley without the need for screws (other designs used additional screws to secure the wire onto the pulley). The strategic location of the guide tunnel promotes a more linear winding of the cable, which translates into a linear carriage motion.

Carrier and Tensioner

The cable used in the Rostock 3D Printer BI Edition is a high quality braided non-stretch fishing line. A non-stretch cable is important in order to guarantee that the cable doesn’t lose its tension. The cable tension is adjusted by turning an M4 screw equipped with a washer. The washer will  ensure that the wire is secured to the carrier. Another useful benefit of using a washer is that it allows you to fine tune the position of the wire around the tensioning screw and also fine tune the winding pattern of the cable.


The carriage assembly is held in place on the rods by linear bearings which provide a very smooth motion. Finally, on the inside part of the carrier we positioned an M3 screw to hit the “endstop”. The height of that screw must be 0.5 mm for each turn. This is critical for the proper calibration of the towers and print head.

Idler Pulley

The idler pulley, located on the topmost part of the assembly, is comprised of two 608 bearings and a 3D printed pulley. It is mounted on a part that supports both rods and the top plate and the wire is simply looped over the 3D printed pulley. This arrangement provides support for the cable and a very smooth drive. We used two bearings to allow for a greater surface area when adjusting the final position of the pulley. We plan to  use only one 608 bearing for  subsequent versions of the system.

The cable drive system that we have designed is simple and reliable. The production of this system is very straightforward when compared to the belt and metal pulley. Since we use a non-stretch wire, there is also minimal lash in the system which means accurate and easy calibration. 


Stop Switch (Mechanical Endstop)

The stop switch is located on the inside part of the idler pulley module and, as its name suggests, is used to stop the carriage assembly. It is not necessarily part of the cable drive system itself, but we decided to dedicate a few lines to it in this article. The endstop used is a mechanical switch mounted to a PCB breakout board. It is widely used in many 3D printer designs and performs very nicely. We evaluated the possibility of using Hall sensor based switches but saw no real benefits for this application where we simply needed to mark an initial position in the software. In a nutshell, when the screw located on the carriage assembly hits the switch, a signal is sent to the software, the stepper stops and the position is marked as “parked”.


If you would like to print your own, all SketchUp models, .STL files and additional instructions are available on Boots Industries Thingiverse.

POTs Calibration – RAMPS 1.4

The first batch of the Rostock 3D Printer BI Edition is driven by the Arduino Mega 2560 and the RAMPS 1.4 electronic package. This package is installed upside down under the top plate of the Rostock BI inside a protective PLA case.


When you remove the protective PLA case and take a look at the RAMPS board you will find four A4988 Pololu Stepper Drivers equipped with heatsinks.


The potentiometers (POTs) found on each stepper driver are used to adjust the power delivered to their respective stepper motors. The initial adjustment of each POT is done at BI Labs (except for the DIY 3D printer), but you may find that over time they might require fine tuning. There is a small margin of adjustment for each POT that is optimal for your Rostock 3D printer. In this article, we will cover the steps required to properly adjust the POTs.

If a POT is set too high then the associated stepper driver will tend to overheat and go into over-temperature thermal shutdown (to prevent damage to its components). The first sign of overheating is erratic stepper motor behavior. Typically, this can be recognized by the sounds of the stepper motor suddenly losing power (thermal shutdown). If no load or movement is required of the motor, it is hard to detect whether it is over-powered as the driver is barely producing any heat. To help you better understand, we’ve included a short video that shows the different behaviors of an improperly powered stepper motor.

We talked about the over-powered state that can lead to erratic stepper motor control and thermal shutdown. Conversely, if the POT is set too low, the stepper motor can enter an underpowered state. This can be recognized by a lack of holding torque and a stepper motor that is skipping steps because the necessary movement  requires a higher power demand than the POT setting allows for.

Both situations are remedied by fine tuning the POT adjustment so that the stepper can provide enough power without overheating. To adjust the POT screw we recommend using a non-conductive flat screwdriver (#0).


If you turn the POT adjustment screw clockwise you will:

  1. Increase the power delivered to the stepper; and
  2. Increase the heat generated by the stepper driver.

Turning the POT counter-clockwise will have the opposite effect.


It’s important to note that some POTs do not have a physical stop at the minimum and maximum power setting. In the absence of a physical stop, you must be aware that there is a dead zone of rotation where the POT screw will be ineffective. In other words, making a full revolution will bring you back to the same setting but only a certain percentage of the revolution is effectively controlling the power output.

Note: The image below depicts the “dead-zone” as 180 degrees. A dead-zone is not always present but if it is, your inputs will have no effect in it.


The best way to calibrate a POT is to launch a print and adjust the POTs until you are satisfied with the power delivery. The ideal point is reached when your POT is set slightly higher than the minimal setting required to accomplish the task. The three tower stepper motors won’t require as much power as the extruder stepper motor.

Finally, we should point out that the fan enclosed in the PLA protective case plays a key role in keeping your POTs at a low temperature. As such, make sure to re-install the case when you are done.