Genealogy / Archeology of the Prusa i3 X Motor End

From RepRap
Revision as of 16:23, 17 December 2014 by AndrewBCN (talk | contribs)
Jump to: navigation, search

In this page I will illustrate (to the best of my knowledge) how the original design for the Prusa i3 X Motor End printed part has been used (and has evolved) through some Prusa i3 variants. I have researched the evolution of this particular printed part - the X-axis motor end for the Prusa i3 - because I wanted the best possible design for my P3Steel.

I was surprised to find that in some cases the GPLV3 license under which the original design by Josef Prusa was released, was not exactly respected. This has the unfortunate effect of halting further development - or at the very least making it much more difficult - of a particular "evolutionary branch" i.e. we reach a development dead-end.

Enough preliminaries and let's see what is going on:

1st Gen: Josef Prusa's original design

As freely available from his GitHub repository:

Josef Prusa's original Prusa i3 vanilla X motor end.

File header:

// PRUSA iteration3
// X end motor
// GNU GPL v3
// Josef Průša <[email protected]> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org

2nd Gen: Misan's mods

Misan (a well-known Spanish developer) added a few improvements to many of Josef's original printed part designs and made his OpenSCAD sources freely available, mainly on Thingiverse:

Misan's improved Prusa i3 X motor end.

The main difference here is that the stepper holes are moved by a (parametric) configurable distance so that there is no interference between the stepper body and other parts of the printer.

File header:

Here is the header file from Misan's source:

// PRUSA iteration3
// X end motor
// GNU GPL v3
// Josef Průša <[email protected]> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org

As we can see, Misan kept the original header intact and did not even add a description of his contributions!

2nd Gen Improved: Misan's mods improved

This is just Misan's source code with a few added cutouts (less than 5 lines of source code) and an added Z endstop adjustment screw (another half dozen lines or so), by yours truly:

Misan's version of the X motor end with a few added cutouts.

Unreleased design, I just wrote this in less than one hour to show how easy it is to modify the original source code. I have basic knowledge of OpenSCAD so I am pretty sure that somebody more knowledgeable could have done better in less time.

3rd Gen, J. Rodrigo (Mecan0) branch

J. Rodrigo (Mecan0) is another respected Spanish developer who created his own variant of the Prusa i3, which he called PowerCode. His OpenSCAD source code is freely available in his repository on GitHub. Here is his version of the X motor end:

PowerCode X motor end.

Notice that the part itself is not very different from my improved Misan design.

File header:

Here is the header file from Mecan0's source:

// Created from Code_Xend_Motor.stl
// https://github.com/Mecan0/Code
// By J.Rodigo (www.jra.so)
// Licence Creative commons atribution & share alike.

Ouch! The original license was changed and all mentions of previous authors have been removed. Now, it is true that Mr. Rodrigo practically rewrote the entire code for the part (with all comments in Spanish), and that he mentions the names of other developers (but not Josef Prusa) in one of the ReadMe files in his repository, but imho that is not nearly enough to comply with the GPLV3, which is the original license for Josef Prusa's source code.