Simplifying 3D Printing with OpenSCAD

By Colin Dow
    What do you get with a Packt Subscription?

  • Instant access to this title and 7,500+ eBooks & Videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Chapter 1: Getting Started with 3D Printing

About this book

OpenSCAD is an open-source 3D design platform that helps you bring your designs to life. This book will show you how to make the best use of OpenSCAD to design and build objects using 3D printers.

This OpenSCAD book starts by taking you through the 3D printing technology, the software used for designing your objects, and an analysis of the G-code produced by the 3D printer slicer software. Complete with step-by-step explanations of essential concepts and real-world examples such as designing and printing a 3D name badge, model rocket, and laptop stand, the book helps you learn about 3D printers and how to set up a printing job. You'll design your objects using the OpenSCAD program that provides a robust and free 3D compiler at your fingertips. As you set up a 3D printer for a print job, you'll gain a solid understanding of how to configure the parameters to build well-defined designs.

By the end of this 3D printing book, you'll be ready to start designing and printing your own 3D printed products using OpenSCAD.

Publication date:
March 2022


Chapter 1: Getting Started with 3D Printing

One of the best-value 3D printers on the market today is the Creality Ender 3 V2 3D printer, offering a decently sized print bed with a sturdy aluminum frame. So popular is the Ender 3 V2 and other Ender 3 series printers that you can also find many upgrades and modifications to add; many of these may be 3D printed using the printer itself.

The history of 3D printers can be traced back to the 1980s. Early printers involved the use of lasers making patterns in liquids and powders. In 2005, the open source RepRap project was started and the era of 3D printers with spools of hard plastic filament was realized. Today, 3D printing is available for the general public, and is relatively affordable with machines such as the Ender 3 V2.

We are going to start our journey by having an overview of this printer before we level the bed – by far the most important step to get a good 3D print.

We will finish the chapter off with a discussion of the types of materials that we may print with the Ender 3 V2.

In this chapter, we will cover the following topics:

  • Understanding the Creality Ender 3
  • Leveling the print bed
  • Materials available for 3D printing

Technical requirements

In this chapter, we get acquainted with 3D printers. To complete the hands-on portions, we will require the following:


Understanding the Creality Ender 3

Founded in 2014, Creality is a Chinese-based 3D printer manufacturer. Their products include the CR-10, CR-6, and Ender series Fused Deposition Modeling (FDM) printers. The Ender 3 series of 3D printers is arguably among the most iconic 3D printers not only for Creality but for the maker community at large. Some may view the Ender 3 series as entry level, but they are much more than that. The dependability, ease of use, and upgrade options available for the Ender 3 series printers make them a favorite with everyone from beginners to those with years of experience with 3D printing.

What Is Fused Deposit Modeling?

FDM is a technique of 3D printing where plastic filament stored on a roll is melted and deposited in place by a moving head. FDM may be referred to as Fused Filament Fabrication (FFF). FFF is the name used prior to the patent expiration of FDM in 2009.

In the following sections, we will learn about the Ender 3 series of 3D printers with a focus on the Ender 3 V2. Although the concepts covered do apply to other 3D printers, having an Ender 3 will make this section a little easier to navigate.

Ender 3 models

The first Ender 3 was released in 2018 and its design was open sourced a few months after. The following are versions of the Ender 3 printer, starting with the basic version.

Ender 3

Sporting a 220 mm by 220 mm by 250 mm build area, the Ender 3 is the least expensive of the series and is considered the entry-level version. Aluminum extrusions provide the printer with a solid frame and both the print head and heated bed slide along their respective axes on v-slot wheels. The standard Ender 3 comes with a BuildTak-like sticker applied to the bed to provide adhesion for the first layer. We will discuss first-layer adhesion more in the upcoming Leveling the print bed section.

What Is BuildTak?

BuildTak is a proprietary product made by the company of the same name, a manufacturer of surfaces for use in 3D printing. The textured pre-cut sheets offer better adhesion than traditional methods such as painter's tape or glue sticks.

Ender 3 Pro

The Ender 3 Pro is an upgraded version of the Ender 3, though it has the same build area as the Ender 3 (220 mm by 220 mm by 250 mm) and is made with the same aluminum extrusions for the frame. The cooling fan for the main electronics board has been moved to vent underneath the printer to prevent bits of filament jamming the fan. The power supply has been upgraded and a removable magnetic flexible build plate has been added. This allows us to easily remove the build plate and "flex" off the printed part, as we can see in Figure 1.1:

Figure 1.1 – Magnetic flexible build plate

Figure 1.1 – Magnetic flexible build plate

Although having a removable flexible build plate certainly has its advantages, the magnetic layer of the build plate is limited to temperatures of around 80 degrees Celsius. This somewhat limits the types of materials that can be printed with this machine. We will discuss the different types of materials in the upcoming Materials available for 3D printing section.

The biggest upgrade of the Ender 3 Pro is the wider aluminum extrusion for the y axis. This upgrade provides more stability to the y axis, resulting in better prints.

Ender 3 Max

The Ender 3 Max offers a 300 mm by 300 mm by 340 mm build area and a glass bed upgrade. The glass bed allows for printing with materials that require a high bed temperature for adhesion. The H-shaped base on the Ender 3 Max provides the extra stability required for a printer of this size.

Ender 3 V2

Coming with a new 109-mm (4.3-inch) HD color screen the Ender 3 V2 is an upgrade to the Ender 3 and Ender 3 Pro. Keeping the same build area as the Ender 3 and Ender 3 Pro (220 mm by 220 mm by 250 mm), the Ender 3 V2 adds belt tighteners to the x and y axes. A small tool drawer has been added to the bottom of the machine for storing things like print nozzles, pliers, and scrapers.

In Figure 1.2, we can see the printer with its major parts identified:

Figure 1.2 – The Ender 3 V2

Figure 1.2 – The Ender 3 V2

We will be using the Ender 3 V2 throughout the rest of the book as our demonstration machine. The projects and descriptions using this printer that follow can not only be applied to other Ender 3 series printers but to almost all modern FDM printers on the market today.

Ender 3 S1

The Ender 3 S1 is the latest version of the Ender 3 series. Unlike the previous versions of the Ender 3, the Ender 3 S1 comes with a direct drive extruder and built in auto bed levelling. The build area is slightly higher (220 mm by 220 mm by 270 mm) than the Ender 3 and Ender 3 V2. We will be exploring direct drive extruders in the upcoming section, Direct drive conversion kit where we look at upgrades for Ender 3 series 3D printers.

Understanding the parts of the Ender 3

Using Figure 1.2 as a reference, let's take a closer look at the parts of an Ender 3 V2. The following are the major components of an Ender 3 V2 3D printer.

Spool holder

Starting from the top of the machine we have the spool holder. This is where we hang the spool of filament we are printing with. Spool holders can be as simple as we see in Figure 1.2
or may be upgraded to include bearings for smoother operation. The position of the spool holder on the Ender 3 series of 3D printers has been criticized by some as the angle in which the filament enters the extruder is rather sharp. Customized upgrades such as a side spool mount ( may be added.

Extruder motor

The extruder motor pushes the filament through the filament tube, on its way to the extruder hot end where it is melted.

Figure 1.3 – Extruder motor

Figure 1.3 – Extruder motor

As we can see in Figure 1.3, the white filament on the right passes through the extruder, which is driven by a stepper motor (the black and silver part on the bottom). Figure 1.3 is dominated by a big blue knob on the top of the extruder, used to help load the filament by hand. Turning the blue knob counterclockwise loads the filament while turning it clockwise pulls the filament out of the machine. The blue knob also acts as a visual guide that the printer is extruding during printing.

Extruder hot end

The extruder hot end is the part on the 3D printer where the filament is melted. It contains a heater block and a heat sink, which is enhanced by the use of a fan. If we were to remove the extruder hot end's case we would see that the extruder hot end looks like Figure 1.4:

Figure 1.4 – Extruder hot end without casing

Figure 1.4 – Extruder hot end without casing

The filament tube enters the extruder hot end through the coupler at the top and is pushed through to the nozzle. The filament is heated using a heating cartridge connected to the heater block (not shown in Figure 1.4). A thermistor is also connected to the heater block and is used to monitor the temperature (not shown in Figure 1.4).

In Figure 1.5, we see a close-up of the extruder hot end. Note the indication of the two fans, one for cooling the heat sink (hot end fan) and the other for cooling the part (part-cooling fan) as it is printed, as shown here:

Figure 1.5 – Extruder hot end

Figure 1.5 – Extruder hot end

The part-cooling fan speed is set during the creation of the print job and can also be adjusted manually using the display screen and control knob during printing. The amount of power and thus the strength of the part-cooling fan is variable and may be changed during a print job. This is not the case for the hot end fan as it is always on full power once the Ender 3 V2 is turned on.

Filament tube

Separating the extruder motor from the extruder hot end on our Ender 3 V2 is the filament tube. Our printing material is pushed along the tube by the extruder motor to the extruder hot end, where it is melted and deposited on the bed to form our print. Designs that use a filament tube to separate the extruder motor and extruder hot end are known as Bowden-style extrusion systems. The Ender 3 series of 3D printers utilizes this design.

What is PTFE?

Filament tubes are often called PTFE tubes as they are made from polytetrafluoroethylene (PTFE). PTFE was used in the 1950s to create the first non-stick cooking pans under the trade name Tefal. By being both non-stick and resistant to high temperatures, PTFE is ideal for use in 3D printer extrusion systems.

x axis and y axis tensioner

x axis and y axis tensioners are featured on the Ender 3 V2. They are the blue knobs at the end of their respective axes. Keeping the belts tight assists in creating better prints as the belts stretch over time.

Display screen and control knob

The biggest noticeable difference between the Ender 3 V2 and the other Ender 3 models is the screen. As we can see in Figure 1.6, the 109-mm (4.3-inch) color screen displays four menu options when we turn on the machine:

Figure 1.6 – Ender 3 V2 display screen

Figure 1.6 – Ender 3 V2 display screen

On display is the current temperature of the nozzle and bed, and the values that they are set to; as we can see, both the nozzle and bed are set to 0 degrees Celsius and are currently measuring 23 and 22 degrees for the hot end and the bed respectively. We may also see the value of the feed rate and the Z-axis offset.

The feed rate is a way of adjusting the speed of all four axes of the 3D printer (x, y, z, and extruder) together. It is adjusted during a print job to either speed up a print job or slow it down. The z-axis offset is used during printing to adjust the height of the print head relative to the bed. We may want to lower the z-axis offset if the filament is not sticking to the bed or raise it if the print head is scraping the build surface.

Feed Rate versus Flow Rate

Feed rate and flow rate are often confused with one another. The feed rate is controlled from the 3D printer's control panel and adjusts the speed in which the print job runs. Flow Rate controls the amount of material flowing from the nozzle and can either be set in the slicer before creating the 3D print job or adjusted during printing. We will discuss slicer programs in Chapter 2, What Are Slicer Programs?

Menu options are selected using the control knob. Turning the knob in one direction or another moves the selected menu option around. In Figure 1.6, the Print menu option is currently highlighted. Clicking on the knob selects the option. Please note that even though the screen may look like a touch screen, it is not.

Glass bed

Starting with the Ender 3 V2, a tempered glass bed was introduced. The tempered glass bed offers a flatter surface on which to print, compared to other bed materials. A coating added to the tempered glass bed further increases the adhesion of the filament to the bed.

Leveling wheels

Our Ender 3 V2 has four leveling wheels located underneath the four corners of the bed. As the name implies, these are used to level out the bed of our printer. We will use these wheels in the Leveling the print bed section.

USB port and microSD card slot

The USB port and microSD slot are located on the bottom left side of the machine. We use the microSD slot to load a microSD card containing our print jobs. We can also connect the printer to a computer using the USB.

Using a Standard SD Card

Some of us may find working with microSD cards a little troublesome due to their small size. A microSD-to-SD card extension adapter is a popular Ender 3 upgrade.

Upgrading the Ender 3

Due to the popularity of the Ender 3 series printers, many upgrades and additions exist. The following is a list of upgrades and additions that are available, but note that this is in no way a complete list.

Dual-gear extruder

A dual-gear extruder is a popular upgrade with the Ender 3 series printers. Adding dual gears to the extruder motor assembly adds extra grip, as we can see in Figure 1.7:

Figure 1.7 – Dual-gear extruder kit

Figure 1.7 – Dual-gear extruder kit

Having the filament guided by two grips is only possible if the two sides of the rolling channel guiding the filament are synchronized or geared to each other. This extra gripping of the filament reduces skipping as the filament moves through the extruder.

As we can see in Figure 1.7, the spindle that is attached to the motor is geared at the bottom. When assembled, this lines up with the spindle that attaches to the arm of the extruder motor assembly. We can see that the gripping area of the motor spindle is above the geared area. When in place, this lines up with a similar grip on the arm spindle. The two spindles work in sync to pull the filament from the roll toward the extruder hot end.

Dual-gear extruder kits are relatively inexpensive and will assist in eliminating filament slippage. Please note that we must change the extruder motor steps per mm setting after installing a dual-gear extruder.


Typically, 3D printers come with a standard brass nozzle with a 0.4-mm hole; however, nozzles with different diameters may be purchased rather inexpensively. Nozzle hole diameters come in a variety of sizes, including 0.2 mm, 0.3 mm, 0.4 mm, 0.5 mm, 0.6 mm, 0.8 mm, and 1.0 mm.

Smaller hole diameters increase the printing time but produce more detailed prints. Larger nozzle holes reduce the printing time but at the cost of quality.

3D printer nozzles are typically made of brass. Brass offers excellent heat transfer for the price. Brass nozzles do tend to wear quickly however and are not well suited to materials that are a little rougher in texture such as wood and carbon fiber. For such materials, stainless steel and hardened steel nozzles are desired. In Figure 1.8, we can see from left to right a 0.4-mm brass nozzle, a 0.4-mm stainless steel nozzle, and a 0.6-mm hardened steel nozzle:

Figure 1.8 – Various 3D printer nozzles

Figure 1.8 – Various 3D printer nozzles

As we see in in Figure 1.8 nozzles may have different thread sizes. For our Ender 3 V2, we need to use nozzles with M6 threading.

Direct drive conversion kit

Like many 3D printers on the market, the Ender 3 V2 comes equipped with a Bowden tube style extrusion system. To understand what exactly this is, let's look at the left-hand diagram in Figure 1.9:

Figure 1.9 – Bowden tube extrusion versus direct drive extrusion

Figure 1.9 – Bowden tube extrusion versus direct drive extrusion

With Bowden tube extrusion, the filament is pushed through the PTFE tube (Filament Tube) into the heater block through the heat sink, where it is melted and deposited onto our printer bed. By contrast, as we can see in the right-hand diagram, a direct drive extrusion system pulls the filament toward the heater block through the heat sink to the nozzle.

With Bowden tube extrusion, the extruder motor is mounted separately from the other parts. With direct drive extrusion, the extruder motor is mounted with the heat sink and heater block.

Direct drive extrusion kits for the Ender 3 series printers are not particularly expensive and may be installed with relative ease. We will be using the stock Bowden tube extrusion setup for the projects in the book.

Is Direct Drive Better Than Bowden?

The debate as to which system (direct drive vs. Bowden) is better can be a heated one in the maker community. In a Bowden tube extrusion system, the print head (including the heat sink, heater block, and nozzle) moves more quickly than in a direct drive extrusion system due to its lighter weight (as the extruder motor is separate). However, direct drive extrusion systems tend to work better with flexible materials than Bowden tube extrusion systems as it is easier to pull a flexible filament into the heater block than it is to push it through a tube.

OctoPrint with a Raspberry Pi

Another popular 3D printer upgrade is OctoPrint. Using a Raspberry Pi connected to our 3D printer, we can use OctoPrint to run and monitor print jobs remotely. This includes hooking up a USB camera for video monitoring.

We can upgrade our OctoPrint setup with items such as OctoDash to provide a touchscreen interface to OctoPrint. With OctoDash, the 3D printer can be controlled right at the printer itself. Other additions to OctoPrint include the Enclosure plugin, which uses additional sensors to monitor the enclosure the printer may be in.

The Spaghetti Detective plugin and service for OctoPrint provides AI monitoring for our prints. An alert is sent when the Spaghetti Detective service determines that a print has failed.

Alternatives to OctoPrint include AstroPrint and Repetier-Server.

Tent enclosure

Arguably one of the best additions we can make to our 3D printer setup is an enclosure such as a tent. Tent enclosures are constructed like a tent used for camping and usually have more than enough room to fit our Ender 3 V2.

Enclosures allow a consistent temperature, resulting in better print quality. Enclosures are perfect for 3D printers that are used in garages. Adding a wireless dehumidifier inside the enclosure will help keep the humidity down and will assist in printing with filaments that are susceptible to retaining moisture. Tent enclosures also offer a layer of protection as they are generally fireproof.

In Figure 1.5, we can see an Ender 3 V2 inside a tent enclosure.

All-metal hot end

If we were to take the hot end of our stock Ender 3 V2 apart, we would see that the PTFE tube extends all the way to the nozzle. This is illustrated in the left-hand diagram in Figure 1.10:

Figure 1.10 – A PTFE-tube-to-nozzle setup versus an all-metal hot end

Figure 1.10 – A PTFE-tube-to-nozzle setup versus an all-metal hot end

This type of setup works well for materials with lower melting points such as PLA as temperatures above 230 degrees Celsius or so will start to melt the PTFE tube, causing blockages.

For higher-temperature materials such as ABS, an all-metal hot end is desired. As illustrated on the right in Figure 1.10, with an all-metal hot end the PTFE tube ends at the heat break, where the filament continues through to the heater block without the PTFE tube.

Bi-metal heat break

An upgrade for the all-metal hot end is a bi-metal heat break. The bi-metal heat break is made up of two separate metals, a stainless-steel inner tube, and a brass outer tube. We can see a picture of a bi-metal heat break in Figure 1.11:

Figure 1.11 – Bi-metal heat break

Figure 1.11 – Bi-metal heat break

Due to the poor temperature transfer from the thin inner stainless-steel tube to the outer brass, the bi-metal heat break keeps higher temperatures from creeping up the extruder hot end to the heat sink. This allows for faster extrusions and the ability to print with higher-temperature materials.

PEI build plate

PEI (or polyetherimide) build plates offer an excellent alternative to existing build plates. They are relatively maintenance-free, only requiring cleaning with isopropyl alcohol. Their flexibility makes it easy to "flex" a part off the build plate.

PEI build plates have great adhesion properties for 3D printer filament. Some PEI build plates for the Ender 3 series are two-sided, with a smooth side and textured side (for creating prints with a textured bottom layer).

Auto bed leveling sensor

Bed leveling for a stock Ender 3 series printer involves adjusting the leveling wheels under the print bed. Another option is to automate the process with an auto bed leveling sensor such as a BL Touch. In this book, we will be leveling our bed manually and will not be installing an auto leveling system.

Capricorn tubing

One upgrade for our PTFE filament tube is to use Capricorn PTFE tubing. Capricorn started out in 2016 with the goal of producing the best Bowden-style tubing. Capricorn tubing generally comes in blue and has a higher temperature rating than typical PTFE tubes.

DIY upgrades

Due to the popularity of the Ender 3 series printers, there are many DIY upgrades available to 3D print. In fact, the small tool drawer that exists on the Ender 3 V2 was adapted from DIY Ender 3 drawers found online. Websites such as and offer many 3D files of Ender 3 upgrades that we can download and print ourselves.

Now that we are more familiar with the Ender 3, let's perform the most necessary task for ensuring that our print jobs are successful – leveling the bed.


Leveling the print bed

Arguably the most important thing we can do to ensure high-quality 3D prints is to properly level the print bed. In this section, we will manually level our print bed by moving the extruder hot end to each corner and adjusting the bed using the leveling wheels.

Before we level the bed on our 3D printer, we should take note of the importance of having a perfectly flat build surface sitting on top of the bed. Having an uneven build surface makes the adhesion of the first layer difficult. Choosing the right build plate material will make the task of leveling out the bed much easier.

Glass is an extremely popular build surface due to its flatness. Borosilicate glass is often used for build surfaces due to its thermal properties as it can withstand great temperature variations without cracking.

Leveling the corners of the bed

Leveling the corners on the bed is the easiest way to level the print bed with relation to the nozzle. To ensure that this works, the surface of the build plate material (the glass plate for the Ender 3 V2) must be perfectly flat.

To begin the process, we will use the control panel again. We will first set the print head (extruder hot end) to the home position and then move it around the build plate. The following instructions are for the Ender 3 V2, while other Ender 3 printers or 3D printers with Marlin firmware will work similarly:

  1. Prepare a small rectangular piece of paper about 10 cm by 5 cm.
  2. Scroll to the Prepare menu and click on it. For other Ender 3 models, click on the control knob, navigate to the Prepare menu, and click on it.
  3. Navigate to the Auto Home menu option and click on it. Observe that the print head moves to the home position.
  4. Scroll to the Move menu option and click the control knob to select it.
  5. Scroll down to the Z menu option, click the control knob to select it, and dial in the value 20 by turning the dial clockwise. Click to set it. Observe that the print head moves up 20 mm.
  6. Scroll to the X menu option and click to select.
  7. Set the value to 20mm and click to set it. Observe that the print head moves 20 mm in the X direction.
  8. Scroll to the Y menu option and click to select.
  9. Set the value to 20mm and click to set it. Observe that the print head moves 20 mm in the Y direction.
  10. Slide the piece of paper under the print head:
Figure 1.12 – Bed leveling

Figure 1.12 – Bed leveling

  1. Scroll down to the Z menu option, click the control knob to select it, and dial in the value 0 by turning the dial clockwise. Click on the control knob to set this. Observe that the print head moves down and touches the piece of paper.
  2. Using the leveling wheel closest to the point on the bed, turn the wheel to either lower or raise the bed so that the paper can move freely under the print head with 
a slight tug. The paper should not rip, nor move freely without a little bit of resistance (Figure 1.12). Use the graphic in Figure 1.13 to determine how to move the bed either up or down:
Figure 1.13 – Adjusting the bed position

Figure 1.13 – Adjusting the bed position

  1. Repeat steps 6 to 12 with an x value of 180 and y value of 20.
  2. Repeat steps 6 to 12 with an x value of 180 and y value of 180.
  3. Repeat steps 6 to 12 with an x value of 20 and y value of 180.
  4. Set the z axis to 20mm.
  5. Select Auto Home to home the printer.

We have just leveled the bed by manually leveling the corners.

Mesh bed leveling

Our print bed should be leveled and ready to print after leveling the corners. However, in cases where it dips or rises between the corners, we have a few options we could apply to address this, as follows:

  • Replace the build surface with a new one.
  • Print using rafts (we will investigate this in Chapter 3, Printing Our First Object).
  • Install mesh bed leveling on our Ender 3 V2.

Buying a new build surface like a new glass bed or PEI plate is an easy option to take as our build plates do get worn with use. There are many build surfaces for the Ender 3 to choose from.

However, if that option is not available, we can do what used to be common prior to glass beds, which is to print our parts on rafts. Basically, rafts are flat surfaces that are printed onto our bed before printing our part (a raft for the part, so to speak). Rafts fell out of favor when glass beds became popular, as rafts can sometimes be difficult to remove from the part and they waste precious material that will only be thrown out.

The third option we can explore (for the Ender 3 V2 only) is mesh bed leveling:

Figure 1.14 – Mesh bed leveling

Figure 1.14 – Mesh bed leveling

As we can see in Figure 1.14, mesh bed leveling involves taking measurements at many points on the bed. These values are then used to calculate where to set the z axis on the print head as it moves around the bed.

To get mesh bed leveling on our Ender 3 V2 we must update the firmware. The firmware is the program that runs on the controller board of our 3D printer. The firmware may be updated in a couple of ways:

  • By loading pre-compiled firmware onto a microSD card and installing it on our Ender 3 V2
  • By loading and compiling the firmware source code using a program such as Arduino IDE

    A Few Good Reasons to Update the Firmware

    Upgrading the firmware on our Ender 3 V2 will give us extra features in addition to mesh bed leveling. Scrolling text for long filenames is added, as well as the ability to load files from subfolders and not just the root. A new main menu option called Level pushes Info to the last option under the Control menu. Also, a white border has been added when selecting menu options, making the main menu easier to see.

We will use the first option to install mesh bed leveling on our Ender 3 V2.

Updating the firmware

We can find a list of Ender 3 V2 firmware with mesh bed leveling at the following GitHub repository:

To know which version of the firmware to download, we need to find out which board is installed in our Ender 3 V2 (please note that this is an upgrade for the Ender 3 V2 and isn't available with previous Ender 3 printers). To do this, complete the following steps:

  1. Remove the cover of the main controller board by removing one screw from the top and three screws from the bottom.
  2. Place the Ender 3 V2 on its side and observe the board number. See Figure 1.15 to find this:
Figure 1.15 – Finding the board number on our Ender 3 V2

Figure 1.15 – Finding the board number on our Ender 3 V2

  1. For our Ender 3 V2 we can see that the board number is V4.2.2. Download the appropriate .bin file from the website listed at the beginning of this section. For our printer, we will download the E3V2-ManualMesh-5x5-v4.2.2.bin file.
  2. Be sure to download the correct E3V2-ManualMesh-5X5 file for the board version. We will be calibrating a 5x5 mesh. Load the .bin file onto a formatted microSD card.
  3. Ensure that the Ender 3 V2 is turned off. Load the microSD card into the printer. Turn on the Ender 3 V2 and observe that the firmware has been updated. The Info menu option should be replaced by the Level menu option. There should be x, y, and z values for the print head displayed at the bottom of the display screen.

We are now ready to level the bed using mesh bed leveling.

Running mesh bed leveling

With the firmware installed, mesh bed leveling involves taking z-axis measurements at 25 points on the bed. At the end of the process, the mesh is saved and used when we 3D print.

To level our bed with mesh bed leveling, do the following:

  1. From the main menu navigate to the Level menu option and click the control knob.
  2. Observe that the print head moves to the home position before moving to the first mesh point.
  3. Slide a 10cm by 5cm piece of paper under the print head. The paper should slide under the print head with a slight tug.
  4. If the paper does not slide under the print head with a little resistance, then we must raise or lower the print head. Using the Microstep Up and Microstep Down options, adjust the print head accordingly by pressing and holding the control knob. Please note that up and down are opposite of what they were when we were leveling the print bed with the leveling wheels.
  5. Scroll up and click on the Next menu option when satisfied with the level. Observe that the print head moves to the next position.
  6. On the last measurement point there will be a menu option called Save Mesh. Scroll up to this menu option and click the control knob to save the mesh. Observe a double beeping sound indicating that the mesh has been saved.
  7. Ensure that the Leveling Active check box from the Level menu is checked.

We have now successfully leveled our print bed using mesh bed leveling.

Automatic mesh bed leveling

Some of us may have noticed a file called E3V2-BLTouch-5x5-v4.2.7.bin when we were downloading the firmware. BL Touch is an after-market sensor that we can add to our Ender 3 V2 series printer. We would use firmware such as this if we had an automated leveling sensor such as BL Touch installed on our printer.

How Often Do We Need To Level The Bed?

The bed of our 3D printer should not need leveling very often if we take care not to apply too much pressure to the bed when removing prints. The most common mistake many make is not letting the bed cool down to room temperature before removing the printed part. In most cases, the printed part will just slide off the glass bed once it has returned to room temperature.

Now that we have leveled our print bed, let's take a look at some of the material available for use in 3D printing.


Materials available for 3D printing

It used to be that there were essentially only two materials available for 3D printing, Poly-Lactic Acid (PLA) and Acrylonitrile Butadiene Styrene (ABS). This has changed considerably over the last few years. The result has not only given us new materials with which to 3D print; it has changed what we can make with our 3D printers.

Materials used for FDM 3D printing come in the form of a rolled plastic filament of either 1.75 mm or 2.85 mm in diameter. A spool made of plastic, cardboard, or metal is used to hold the filament. Spoolless filament for installing on a reusable spool is also available.

Let's look at the materials we can use for 3D printing, starting with PLA and ABS.

Poly-Lactic Acid (PLA)

PLA is the most used material for 3D printing. It is made from sugar cane or corn starch and is biodegradable, making it an eco-friendly option. Compared to many other filament materials, PLA is extremely easy to work with.

Although not requiring a heated bed (many early 3D printers did not have heated beds), PLA does benefit greatly from heat applied to the bed due to its low melting temperature, which increases its stickiness.

Figure 1.16 shows a part for a small desktop monitor table printed in red PLA:

Figure 1.16 – A part printed on the Ender 3 V2

Figure 1.16 – A part printed on the Ender 3 V2

Early PLA was quite brittle, making it unsuitable for many applications, but in recent years PLA has got a lot better, especially in terms of its strength.

When printed at around 200 degrees Celsius at the hot end and 60 degrees Celsius on the bed, PLA provides an excellent finish (temperature may vary with manufacturer).

PLA can be glued with epoxy, providing opportunities to break up larger objects into smaller parts.

Acrylonitrile Butadiene Styrene (ABS)

ABS is another common material for 3D printing and is a popular plastic for making toys. LEGO blocks, for example, are made from ABS.

In Figure 1.17 we see the cat figurine printed in ABS using the G-code file that comes with the Ender 3 V2:

Figure 1.17 – Cat figurine printed with ABS

Figure 1.17 – Cat figurine printed with ABS

ABS prints with a certain smell that many find unpleasant and thus printing in a separate room is encouraged.

ABS produces prints that are more durable than PLA and with a higher melting temperature. This makes it more ideal in situations where a part may be subjected to higher temperatures. Having ABS stick to the print bed can be challenging. A heated bed is necessary to produce prints that do not warp upward at the edges and stay flat on the bed throughout the print job. ABS should be printed with a nozzle temperature of around 240 degrees Celsius and a bed temperature of 90 degrees Celsius.

An enclosure is encouraged with ABS printing to avoid cooling cracks on the part during printing.

ABS prints can be smoothed with acetone to hide the layer lines. As we can see in Figure 1.17, layer lines around the top of the print are noticeable. Subjecting our print to an acetone vapor bath will melt the lines together, resulting in a smooth professional-looking 3D print.

An alternative to ABS is ASA, which has similar properties but with UV protection. This makes ASA well suited for outdoor applications.

Glycolyzed Polyester (PETG)

PETG is a modified version of PET (or polyethylene terephthalate), a plastic used extensively in the production of water bottles and food containers since the 1990s. Adding glycol to PET to reduce its brittleness turns it into PETG.

PETG filament prints almost as easily as PLA and provides the strength of ABS with a lower melting temperature. It is known for its impact resistance, light transmission (when transparent filaments are used), and its food-contact safety approval. In Figure 1.18, we see two parts that make up a clamp for a CNC router:

Figure 1.18 – CNC router part made with two different materials

Figure 1.18 – CNC router part made with two different materials

The part on the right was printed with black PETG. PETG parts tend to be shinier and less brittle than PLA. PETG works well for functional parts. It is exceedingly difficult to glue PETG parts together so other construction techniques, such as incorporating nuts and bolts, must be used.

PETG and Glass Beds

PETG should not be printed directly to a glass bed as it sticks a little too well. Removing it from a glass bed can result in chips to the glass and possibly an expensive repair.

High-Impact Polystyrene (HIPS)

HIPS has similar properties to ABS but is lighter in weight. HIPS dissolves easily in d-limonene, making it an ideal dissolvable support material for ABS and other materials. A 3D printer with a dual extrusion system (see Figure 1.19) is required when using a different material such as HIPS as a support material, as shown here:

Figure 1.19 – Dual extruder 3D printer

Figure 1.19 – Dual extruder 3D printer

Dual Extruder 3D Printers

Dual extruder 3D printers (not to be confused with dual-gear extruders) use two extruders that move together along the y and z axes but opposite to each other on the x axis. For dissolvable support prints, one extruder extrudes the support material, such as HIPS or PVA, and the other extruder delivers the material with which we want to print. Dual extruder 3D printers are also referred to as IDEX 3D printers.

Printing with HIPS requires a heated bed and should be done in a separate room due to the fumes. When not used as a support material, parts made with HIPS tend to be lightweight and rigid and may be easily sanded and painted.

Polyvinyl Alcohol (PVA)

PVA is to PLA what HIPS is to ABS, a dissolvable support material. In the case of PVA, however, it is dissolvable in warm water. PVA is very hygroscopic (meaning it absorbs moisture) and must be as dry as possible when printed with.

PVA requires a heated bed set to a temperature of around 60 degrees Celsius. PVA is printed with a nozzle temperature between 190 – 210 degrees Celsius. When used with dual extruder 3D printers, the extruder loaded with PVA should have its heater block turned off when not in use so as to avoid jamming.

Carbon fiber

Carbon fiber is used to lace other filament types, such as PLA, ABS, nylon, and PETG, to make them stronger. Prints made with a carbon fiber-laced filament can be made lighter due to this additional strength. It should be noted, however, that carbon fiber is abrasive to the nozzle on our extruder and thus a hardened steel nozzle is recommended when printing with carbon fiber-laced filaments. In Figure 1.20, we can see an arm for a quadcopter 3D printed with a carbon fiber-laced PETG filament:

Figure 1.20 – Quadcopter arm

Figure 1.20 – Quadcopter arm

This part weighs just 8.5 grams and cannot be bent by hand.


Nylon is one of the toughest plastics available. It is used in many products, such as zip ties. 3D printing with nylon can be challenging as it is a hygroscopic material and must be printed dry. Nylon prints are tough but slightly flexible. Figure 1.21 shows a 3D-printed nylon replacement buckle for a hockey helmet:

Figure 1.21 – 3D-printed buckle

Figure 1.21 – 3D-printed buckle

The buckle flexes enough to be pushed over the metal button on the helmet.

Dry Boxes

Many materials used in 3D printing are very hygroscopic, meaning they absorb moisture from the air. This causes issues when printing as their diameters swell and jam up the extruder. A solution to this issue is to print from a dry box. A dry box is an airtight storage container with a small hole where filament is passed through and fed to the extruder on a 3D printer. Dry boxes may be purchased or easily made from existing airtight containers. There are also many DIY designs for dry boxes at places such as

Flexible materials

Flexible filament can be used to print things such as phone cases and gaskets. In Figure 1.18, the part on the left was printed with a flexible material called NinjaFlex.

The term Thermoplastic Elastomer (TPE) is used to describe the blend of elastic and thermoplastic (soft rubber and hard plastic) that makes up the flexible material we 3D print with. Thermoplastic Polyurethane (TPU) is a common type of TPE that is more on the rigid side.

To better understand flexible filament and its uses, it is good to understand the Shore hardness scale. Comprising measurement devices (called durometers) calibrated at different strengths, there are three main scales: Shore OO, Shore A, and Shore D. In Figure 1.22, we can see the hardness of common non-metallic items:

Figure 1.22 – Shore hardness scale

Figure 1.22 – Shore hardness scale

From Figure 1.22, we can see that a shopping cart wheel has a Shore hardness of 95A or 50D. The NinjaFlex used in Figure 1.18 has a hardness of 85A, meaning it is harder than a pencil eraser but softer than a shopping cart wheel.

Bowden tube extrusion systems tend to struggle at printing with flexible materials. Generally, a direct drive extrusion system is used to 3D print with flexible materials.

Other materials

Other materials available for 3D printing include wood-laced filaments, polycarbonate filaments, metal filaments, PolyEtherEtherKetone (PEEK) filaments, and so on. Many of the high-performance filaments require industrial 3D printers with heated chambers and could not be printed with an Ender 3 series printer.

As we can see, there are many materials available for use with 3D printing, and they are getting better and stronger all the time. In this book, we will work mainly with PLA and ABS.



In this chapter, we discussed the Ender 3 series range of 3D printers, with a particular focus on the Ender 3 V2. We looked at the major components of the Ender 3 V2 and described some of the upgrades and additions we can add to it.

In the hands-on section of this chapter, we leveled the bed on our Ender 3 V2, by far the most important step toward quality 3D prints from a 3D printer. We explored upgrading the firmware on our Ender 3 V2 to get access to the mesh bed leveling functionality, as well as some other upgrades included in the new firmware.

We closed off the chapter by looking at the various materials we can 3D print with, including a look at the Shore hardness scale in order to understand flexible materials in a bit more depth.

In the next chapter, we will look at the software used to create print jobs for our 3D printer on our way to bringing our 3D design ideas to life.

About the Author

  • Colin Dow

    Colin Dow has been 3D printing since 2013 starting with the laser cut wooden frame version of the Ultimaker 3D printer. He has gone through a dozen or so 3D printers over the years from MakerBots, PrintrBots, early Prusa i3s, delta printers, and liquid resin printers. Colin has been working with OpenSCAD since 2014 using it with 3D printers to design and manufacture model rocketry parts for his model rocketry business. Through his aerospace workshops he has introduced many students to 3D printing including in-class demonstrations of 3D printing. Over the last few years Colin has been designing and building automated drones for his drone startup using 3D printers and OpenSCAD.

    Browse publications by this author
Simplifying 3D Printing with OpenSCAD
Unlock this book and the full library FREE for 7 days
Start now