Why Having a Basic 3D Printer is a Great Way to Learn About STEM
A brief note:
I was basically finished with this article before the COVID-19 crisis hit, which means that several of the prices cited have risen due to supply chain disruptions, however I think that the general purpose of this article is now more true then ever. With the school building closed, and a huge amount of free time, 3D printing is not only a fun hobby to get into but a highly educational one, besides you can put your new 3D printer to use right away as the Danbury Hackerspace is looking for 3D printed face shields and ear savers to donate to medical workers (contact Mr.Reynolds for more information).
A 3D printer is a relatively affordable and very practical way to learn about an extremely wide range of STEM topics. However, despite the fact that Darien students learn how to use a 3D printer at school, first in 7th grade computers, and then again if they take tech-ed classes at DHS, they don’t tend to learn the more interesting part, how it works. A 3D printer is a robot. It is a robot that moves around an extruder assembly that manages to maintain a precise temperature, with great precision. In order for a 3D printer to work well, all of these things have to work together. It is a marvel of engineering that you can own and tinker with for less then $200. Having hands on experience with building and programming a 3D printer is way more valuable than just printing on one, and the best way to get hands on experience is to have a printer that you can maintain and manage yourself. Let’s take a look at some of the STEM topics that a 3D printer can teach you, and then look at my recommendations for what machine to buy under $200.
At the heart of every printer built on the RepRap platform (which basically every affordable printer is) is an Arduino. Arduino is a hugely powerful community driven microcontroller development platform, and almost every 3D printer has an Arduino Mega as it’s brain. This Arduino runs an open source and easily modifiable firmware known as Marlin.
Designed to encourage ‘hacking,’ Marlin is very well documented and relatively easy to modify. If you want to change any software feature on your machine, or upgrade the hardware with something like auto-leveling or filament runout detection, you will soon find yourself referring to the tons of documentation and support online, opening up the Arduino IDE, flashing bootloaders, and modifying code, learning about one of the most useful and versatile microcontroller platforms around.
The Arduino communicates with stepper driver circuits. Stepper drivers are, in their most basic form, just mosfets (high power transistors) that turn on and off coils in the stepper motor in the right order. Stepper motors and drivers allow for precise and easily drivable movements, and as such have a wide array of applications outside of the 3D printer. Understanding how they work can be very helpful to building any sort of robotic or automated device. I have seen stepper motors used in laser cutters and CNCs, as well as claw machines. I have also read that they are sometimes used in standard printers and the autofocus motor in your camera.
PID is the complex mathematical process that allows the 3D printer to perfectly regulate its temperature. PID Control is used in a wide range of computer applications. PID does balance in any sort of balancing robot, and it maintains temperature in soldering irons and some ovens. Even though most 3D printer owners, including myself, have never had to tinker with the PID settings of their printer, just knowing they exist can help open your eyes to some of the possible ways in which it can be used in other applications.
CAD, or computer aided design, is a standard part of any engineering, it allows for the creation of complex 3D objects to be produced by
automated manufacturing techniques. 3D printing is most people’s first introduction to these techniques, due to its affordability and versatility, which introduces them to many CAD skills that can be applied to a wide range of STEM fields for designing almost anything, from complex mechanical parts to circuit boards.
After creating CAD, it must be converted into something that the 3D printer can understand. Gcode serves that purpose, storing the CAD file as a series of coordinates, giving straight forward instructions to the Arduino in an (almost) human readable format. It is interesting because it is one of the clearest examples of how a computer processes vast amounts of instructions quickly, in a
world where more and more of the technical back end is being hidden away, GCODE is an exception that gives the user a clear and understandable idea of the exact instructions that the computer will carry out.
I have had experience with many different 3D printers at this point, from the Cube v3 at the middle school, to my FLSUN i3, to Makerbots both at the high school, and the STEM camp I taught last summer, as well as Cetus, Creality, XYZ. I have messed around with all of them, but none have worked nearly as reliably, as my current go-to printer, the Anycubic i3 Mega. The i3 Mega is very affordable, it normally costs right around $200, but it goes on sale somewhat regularly for as low as $170ish and
has been rock solid as far as reliability, both for my own use and the use of a local makerspace. However the Creality Ender-3 can often be had slightly cheaper and, for educational purposes (and also for the purposes of upgrading), has the advantage of being a kit, however I have had some minor reliability issues with the one at our local makerspace with the rubber rollers wearing down and becoming loose. The FLSUN i3 was painfully unreliable, but it taught me a lot about 3D printers, and if you want to dive head first into the deep end with your first 3D printer, then that might be a choice but don’t expect it to be a practical ‘daily driver’.