Skip to content
Building 3D Printers from E-Waste
Python HTML Other
Branch: master
Clone or download
Pull request Compare This branch is 8 commits ahead, 6 commits behind Maaphoo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Retr3d Logo Retr3d (ˈriːˌtred) is a framework dedicated to affordable 3D printing equipment for developing economies that can be locally sourced, locally maintained and locally improved.

We believe that 3D printing can be as transformative in developing countries as the mobile phone. As with the mobile phone, which has already changed the way people across the Africa communicate, introducing 3D printing at the community level offers the potential to localize manufacturing. Which is why we are making it possible to build Retr3d machines from the thousands of tonnes of e-waste which would otherwise end up as landfill.


Retr3d uses python and FreeCAD to 3D model printable parts for the construction of more 3D printers. Through dimensions of procured e-waste are turned into customized 3D models. Retr3d's software depends on FreeCAD's python scripting API. FreeCAD can be found here.

Installation: Quick Version

Head over to our latest release and download your appropriate file. Next, extract it. Hazzah! You're all done, now head over to Getting Started to get on your way.


All of the customizable options can be configured here. After generating your configuration file make sure to replace the original " file with the newly generated one.

Getting Started

To begin creating a printer from the default options, open FreeCAD. Next, select from the menu. Select "Macro > Macros ..."
Next, select the folder where is stored.
Click the "..." Button Finally, select for the available options. After that, hit to create a printer. Click
If everything was installed correctly, you should now have something that looks like this: printer
Remember, it might take a while for your printer to be modelled. Please be patient.


To facilitate an efficient work flow, Retr3d can interface with Plater to arrange parts in an extremely efficient manner. Make sure to put the appropriate version of plater in the "plater" folder. (Eg. plater.exe,, or plater)


Slic3r Integration

Retr3d can also interface with Slic3r to slice parts automatically. After installing the dependencies, make sure to put the appropriate version of Slic3r in the "Slic3r" folder. (Eg. slic3r.exe,, or slic3r)


AttributeError: 'module' object has no attribute 'getDocument'

This error is generated when running "" directly from the command line. To fix, follow the instructions under "Getting Started" to run "" as a FreeCAD macro.

raise Exception("getFace() error: No such face exists.")

Due to the way FreeCAD assigns faces in it's version 0.15, some users may have to downgrade to an earlier version. FreeCAD 0.14 Revision 2935 has been confirmed to work on a multitude of operating systems. Also, FreeCAD Version 0.16 Revision 5239 has also been confirmed to work.

To downgrade on Debian Linux:

sudo apt-get install freecad=0.13.2935-dfsg-1.1build1
You can’t perform that action at this time.