Stepper Motor Driver v2a

One of the side effects of using 80/20 for the structure of a 3d printer is that it weighs significantly more than the reprap design using rods and plastic joints. I became concerned that a 600ma Stepper may not drive that much weight or overcome the friction of the linear motion bearings. I started designing the ‘super driver’ which was capable of driving up to a 2.5 amp Stepper which would easily handle those issues.

After Fabr’s appearance on Hackaday, Zach from the RepRap research foundation contacted me about collaborating; we were going down parallel paths. I deeply admire the foundation’s work, and Zach’s contributions seriously rock. Needless to say I was very enthusiastic about this collaboration.

Zach was interested to see if we could use the ‘super driver’ as the next generation stepper driver board for the RepRap, and offered suggestions for unifying the projects.

The first iteration of this collaboration has been checked into the RepRap source forge project (and the fabr subversion project will be retired). It is looking pretty sweet!

Here’s the start of the new board:

Notable Differences:

  • License changed to GPL
  • Name change (no more super driver)
  • Uses the RepRap standard IDC header for communication
  • Uses the RepRap standard power supply connector (vertical instead of horizontal)
  • Min/Max end stops route through the motor controller using Headphone Jacks (to be implemented)
  • Uses the new RepRap .156″ headers for the motor connector (similar to the ones I was using, but non-removable and less expensive)
  • Stepper mode (full/eighth) is a jumper instead of software settable
  • Opto-isolated (to be implemented)
  • SR is jumper configurable (needs the diodes to be completed)

More on 80/20

Fabr is built using the 80/20 T-Slot fractional building system. ‘New Stock’ items were purchased from the 80/20 Garage Sale on eBay. The service was excellent. Just make sure when you purchase that you wait for the invoice as they combine shipping.

The Fabr frame is a 1″ profile ‘1010’, 12 total, each 14″ in length. I paid $2.75 each, for a total of $33.

I used 8 three-way nylon connectors to complete the cube – each was $2.85, for a total of $22.80.

(Similar to these 2-way connectors; couldn’t find a 3 way image at the time of writing)

$60 or so is very reasonable for the superstructure of the printer. I’d certainly use this system again.

The ‘linear bearings’ are ‘h’ shaped extrusions with a sandwich 3 ultra-high molecular weight shims between it and the t-slot extrusion.

I assumed that these bearings would glide smoothly over the t-slot. After assembly, I discovered that the bearings were very tight which required more than an acceptable amount of force to overcome the friction.

Disappointment set in. 

I attempted some minor changes to the bearing pads in order to reduce the size. Sanding nor scraping were successful (too much fuzz was generated causing more friction). However, removing a single pad reduced the friction to acceptable levels, but the loose fit could result in a loss of precision.

The bearings themselves were very expensive compared to the other components – $34 each x 3 = $102.

I also purchased an additional extrusion for the X-Axis, connectors and t-nuts.

The total with shipping was $192.90.

If I had to do it again, I would use the 80/20 super structure, but would investigate other options before buying the bearings. It seems that from time to time, the garage sale offers a ‘build your own bearing’ which may affect the final cost, but ymmv.

(naked bearing pictured here is $8. There is also ‘overstock’ UHMW material in the bearing profile for $7 at this time.)


I’ve been playing around with the idea of using an ACME lead screw with a traveler which not only engages with the screw, but also uses the screw as a guide rail (2 birds one stone). This would need to be fixed at both sides using a bearing block. (sorry, just idea at this point).

Fabr is a RepRap

I became intrigued by the concept of ‘renewable manufacturing’ – owning the life-cycle of everyday things. This idealism was captured by the RepRap project; who’s tag line is ‘Wealth without money’.

In the early phases of the construction of Fabr, I ran into the classic RepStrapping problem – how do you build a device intended to be built using a 3D Printer without a 3D printer? I had attempted to use the printing services at the TechShop in Menlo Park, but was unsuccessful. After that failure, I decided to designed and build Fabr using commonly available materials and few custom parts.

Over the last year, the RepRap organization has made changes independently which amusingly coincide with some Fabr design decisions, and Fabr has changed to be more like the RepRap in order to better leverage the software and firmware from the RepRap team.

In essence, Fabr is a RepRap.

Since my last post, I’ve been working on the following parts of the project:

  • The TextMate plugin was nearly rewritten in order to remove the Processing toolchain, and require the AVR MacPack from Objective Development.
  • Using the new Mill & Lathe, I’ve improved some of the articulation points
  • Implemented a multi-screw Y axis to compensate for unacceptable racking. I wish I could say that 80/20 is an asset, but the linear motion bearings are woefully inadequate and excruciatingly expensive. 
  • I smoked my motor shield while debugging a stepper problem, and switched to using 4 EasyDrivers from SparkFun.
  • Started building a ‘Super Driver’ which can drive steppers to 2.5A, as well as software configurable Full Step or Microstepping.
  • Ported the RepRap gcode interpreter to the TextMate toolchain and adapted it for the EasyDrivers (Need to unify this work with the trunk, and submit my updates to the RepRap team).
  • Implemented a Ruby gcode uploader; hopefully to be used in the Sketchup exporter.
  • Acquired materials and Building RepRap Opto Endstops for home positioning
  • Acquired materials and Building the Temperature controller for the extruder