
Course description
This course provides an introduction to distributed additive manufacturing (AM) using open-source Fused Deposit Modeling (FDM) 3D printing. We will be developing prototypes based on original objects, improvements on projects already existing extending on performance, design or function.
We will provide an overview of open-source hardware and technological development in theory and in practice.
The course is built around a selection of progressively more challenging exercises use to teach students OpenSCAD so they can solve just about any 3D printing design challenges.
Classes
The classes will take place in Room C -1.6 (basement) of the Civil Engineering — ISEL building at the lab Oficina Digital.
Required Course Material
- Textbook
- J.M. Pearce, The Open-Source Lab (Elsevier,2014). Other reading will be handouts in class, on-line reading, and emailed pdfs. A physical copy of the book is available at the lab. Also see schedule.
- Free and opensource software
- You'll need to install these software OpenSCAD, FreeCAD, LULZbot CURA, Meshlab, slic3r
- Material
- You will need to bring a laptop for every class.
- Buy
- 1.75mm diameter PLA roll (any color, no solid additives: wood, metal, etc, ...) which can, for example, be purchased online or at the physical stores Mauser. Purchased can be done individually or in group.
Course content
- Rapid prototyping and 3D printing machines
- Software tools: CAD, CAM tools, slicer, g-code and calibration
- 3D design with OpenSCAD and parametric design
- Distributed digital fabrication and 3D printing
- Projects: from digital modeling to 3D printing
Course Schedule
- Class #1 (211004)
- What is a RepRap? Presentation, constructions, projects, evaluation and tasks. Open an account on youmagine, check the videos Replicating Rapid Prototyper, The RepRap project: an open source/open hardware movement for 3D-printing.
- Class #2 (211004)
- 1st project

- Rules
- Create an account on Youmagine, Use OpenSCAD to design the stand better than this. Derivative works of any other design are permitted, but not the use of "randomly found code on the internet" ;)
- Class #3 (211011)
- RepRap project, brief history: different type of printers. Cartesian vs parallel robot. Evolution.
- Class #4 (211011)
- Designing and building a better phone stand. It's harder than it seems.
- Class #5 (211018)
- Limits on what can you print. Tips and tricks for a reasonable design. Checking 1st design project.
- Class #6 (211018)
- Working witha 3D printer: the basics.
- Class #7 (211019)
- What's in a 3dprinter sclicer profile? Parameters!?
- Class #8 (211025)
- Print Quality Troubleshooting Guide.
- Class #9 (211025)
- New project: Upcycling Common Glass Objects.
- Class #10 (211101)
- Up with the 2nd project.
- Class #11 (211102)
- Up with the 2nd project.
- Class #11 (211108)
- 2nd project.
- Class #12 (211108)
- 2nd project.
- Class #13 (211115)
- Finishing up: 2nd project.
- Class #14 (211122)
- Finishing up: 2nd project. Introducing the 3rd project. Some refs.:
- https://3dwithus.com/vase-mode-designs-and-settings
- https://www.youmagine.com/designs/the-furry-vase
- https://www.youmagine.com/designs/drooloop-flowers-customizable
- https://www.youmagine.com/designs/ideas-for-a-pencil-vase
OpenSCAD example.

// Example m=5; n=9; h=10; rvase=30; lvase=80; d=10; theta=.25*360/(n-1); translate([0,0,lvase/2]) rotate([0,0,theta]) cylinder(h=lvase,r=rvase,center=true); for(j=[0:m-2]){ for(i=[0:n-2]){ rotate([0,0,i*360/(n-1)+pow(-1,j)*theta]) translate([rvase-3,0,(d+h)*j+d]) rotate([90,0,0])sphere(d,$fn=5); }}
Print it with "spiral mode". Dimensions should be: height 80mm and
base_radius 30mm.

- Class #15 (211129)
- 2nd project ended. Finishing up 3rd project.
- Class #16 (211130)
- 4rd and final project.
Small list of projects
Lamps
- https://lxz.pt/
- https://www.thingiverse.com/thing:19104
- https://all3dp.com/1/3d-printed-lamp-lampshades-3d-printed-light/
Screws, engineering, drones
- https://www.youfab.info/2016/winners/ready-to-crawl
- https://newatlas.com/miniature-subwavelength-bass-booster/52354/
- https://cults3d.com/en/3d-model/gadget/xl-rcm-10-0-pixxy-pocket-drone-fpv-quad
- https://www.jjrobots.com/blimpduino-2
Audio
- https://www.thingiverse.com/tchartersazevedo/collections/audio
- https://www.instructables.com/id/A-Dodecahedron-Speaker-for-Desktop-Printers/
- https://www.thingiverse.com/thing:24308
- https://homebrewheadphones.com/design/detailed-design/
- https://ultimaker.com/learn/print-3d-printed-diy-headphones
- https://www.print.plus/download
- https://www.thingiverse.com/thing:3851805 (https://www.youtube.com/watch?v=4_4tu4rAtgI)
Robot and machines
- https://www.instructables.com/id/Doter-Huge-Arduino-Based-Dot-Matrix-Printer/
- polorgraph ;)
- https://www.thingiverse.com/thing:3096135
- https://www.thingiverse.com/thing:2700673
- https://www.thingiverse.com/thing:2538449
- https://www.thingiverse.com/thing:3521286
- https://www.thingiverse.com/search?q=laser+engraver&dwh=685da051b3f1711
- https://www.thingiverse.com/thing:2912591
- actuador linear: https://www.thingiverse.com/thing:14280
- InMoov
- Mechanics of thang010146
- Hackaday
- A Series of Working Models on the Art and Science of Mechanics, Newark, NJ: The Newark Museum, 1930.
- Kenneth L. Gosner, "Mechanical Models: a Collection of the Newark Museum,” The Museum (Newark, NJ), Vol. 6, No. 3, Summer 1954, pp. 1-24.
Paste 3D printing
- https://www.thingiverse.com/thing:468539
- https://www.thingiverse.com/search?q=paste+extruder&dwh=685da0523d429e2
- bomba peristáltica: https://www.thingiverse.com/thing:971367
- https://www.thingiverse.com/thing:2770629/
- https://www.thingiverse.com/thing:482873
- https://3dprint.nih.gov/discover/3dpx-008366
Cientific stuff
- https://mdelmans.github.io/uCube/
- http://elenamitro.com/my-product/wind-charger/
- https://www.appropedia.org/3D_printable_science_equipment
Musical instruments
Furniture
- https://3dprint.com/86947/sack-modular-furniture/
- https://distributeddesign.eu/talent/1085/
- https://www.thingiverse.com/thing:932732
Plants
- Aquaponics: https://www.thingiverse.com/3dponics/designs
- Self-Watering Planter: https://www.thingiverse.com/thing:1625573
- https://www.myminifactory.com/object/3d-print-modular-aquaponics-setup-54841
- https://www.thingiverse.com/thing:2403922
Prosthetic Devices
- http://enablingthefuture.org/
- https://hub.e-nable.org/s/e-nable-devices/wiki/overview/list-categories
Polycylinder: OpenSCAD
// // Mendel90 // // GNU GPL v2 // nop.head@gmail.com // hydraraptor.blogspot.com // // See http://hydraraptor.blogspot.com/2011/02/polyholes.html // function sides(r)=max(round(4*r),3); function corrected_radius(r,n=0)=0.1+r/cos(180/(n ? n : sides(r))); function corrected_diameter(d)=0.2+d/cos(180/sides(d/2)); module poly_circle(r,center=false){ n=sides(r); circle(r=corrected_radius(r,n),$fn=n,center=center);} module poly_cylinder(h,r,center=false){ n=sides(r); cylinder(h=h,r=corrected_radius(r,n),$fn=n,center=center);} module poly_d_cylinder(r,center=false){ n=sides(r); r=corrected_radius(r,n); cylinder(h=h,r=r,$fn=n,center=center); translate([0,-r,0]) cube([r,2*r,h]);} module poly_sphere(r,center=false){ n=sides(r); sphere(r=corrected_radius(r,n),$fn=n,center=center);}
Open Source Appropriate Technology
- 3-D Printing of Open Source Appropriate Technologies for Self-Directed Sustainable Development, Open source 3-D printing of OSAT, How 3D Printers Are Boosting Off-The-Grid, Underdeveloped Communities, Recyclebot, Civilization starter kit - Marcin Jakubowski, The Case for Open Source Appropriate Technology,
Other stuff
- Joshua Pearce, “Open-Source Lab, How to Build Your Own Hardware and Reduce Research Costs”, ISBN: 9780124104860, Elsevier
- First International Workshop on "Low-cost 3D Printing for Science, Education and Sustainable Development
- Post processing for FDM printed parts, Low-Cost Injection Molding Using 3D Printing, MyMiniFactory's Design Handbook,A third industrial revolution, Open-source metal 3-D printer
Created: 10-09-2019 [11:19]
Last updated: 16-02-2026 [16:02]
For attribution, please cite this page as:
Charters, T., "Design and 3D Printing Course": https://nexp.pt/di3d2122.html (16-02-2026 [16:02])
(cc-by-sa) Tiago Charters - tiagocharters@nexp.pt