Getting started with the Ender 5 Pro 3D printer

Connectivity Thanks to Rasp Pi

I was not alone with my wish. I soon discovered that there is an operating system for the Raspberry Pi that offers network connectivity for 3D printers: OctoPi. This operating system and an application package, based on Raspbian, make the 3D printer connected to the Raspberry Pi available via a web interface. You could also use OctoPi to control a webcam that monitors the printing process and makes the system visible outside the local network.

But that was not my intention at first. Instead, I wanted to send jobs from my desktop PC to the 3D printer, which is now in a quiet place where it doesn't bother me. I found a Raspberry Pi 3 model B, which had been lying around unused in a drawer for some time, and connected it to the printer. Installing OctoPi and the OctoPrint user interface onto the printer was easy with the Etcher SD flasher app and a step-by-step wizard. The tool copied all the required files to an SD card, which I then slotted into the Rasp Pi (Figure 4).

Figure 4: The OctoPrint server runs on an old Raspberry Pi 3. © Oliver Nickel

Then I logged onto the device locally and connected the Rasp Pi to the local WLAN. I did this in the Raspbian configuration menu, which can be called in the shell. Alternatively, a text file in the operating system image can be customized. Instead of logging on locally with a monitor and keyboard, you can also use an SSH connection, provided you have entered the WLAN information correctly in the text file.

After successfully completing the setup, I was able to login to my new OctoPrint print server by entering the local IP address in my web browser, and from there I was able to set up my printer. By the way, the Ender 5 Pro was immediately detected after I connected it to the Rasp Pi. I took the print space, the nozzle width, and other parameters from the printer's online data sheet.

The web interface displayed information about my printer, including how hot the bed and extruder were at the time (Figure 5). From an OctoPrint plugin repository [4], you can download and install various add-ons. For example, you could add a slicer into the web interface (see the box entitled "What Is a Slicer?"). However, the slicer available through the repository is an old and no longer supported version of Ultimaker Cura, a free and actually very good 3D printing program available for Linux, Windows, and macOS. I decided to download the application directly to my desktop computer.

Figure 5: The web interface shows data for the printer – the temperature in this case. © Oliver Nickel

What Is a Slicer?

3D printers add print material in layers. A slicer is a program that converts a three-dimensional graphic image into instructions for a 3D printer. In other words, the software "slices" the image into layers and sends the layer-by-layer information to the printer.

Ultimaker Cura Provides a Remedy

Because the Ender 5 Pro uses a modification of the Marlin firmware, it can only print files in G-code format. This code contains coordinates and information about different layers of a 3D model. The printer needs this information to know where the printhead has to apply new filament.

I downloaded the latest version of Ultimaker Cura. Cura offers a slicer that converts STL files, probably the most common format for 3D printing, into G-code and divides the model into different layers (Figure 6).

Figure 6: The Ultimaker Cura serves as a slicer. © Oliver Nickel

However, in order for Cura to find an OctoPrint-enabled 3D printer on a TCP port and transfer G-code files over the local network, it first needs another add-on, which you can obtain directly from the Cura marketplace. OctoPrint Connection [5] allows a previously created printer profile to be connected to the print server in the software settings.

Cura also offers a prebuilt Ender 5 profile, which sets up the printing chamber and extruder parameters as per the Pro version in advance. This saves annoying manual typing of the printer data. I took a chance and bought the Cura profile, because I had already had enough trouble in the previous steps.

Cura was able to transfer a test model at the first attempt, and my printer started to output a terrain piece for tabletop games. Now all I had to do was wait for nine hours – a complete success.


I have approached 3D printing as a hobby in a very euphoric way. Some tests and the many great models that are exhibited on platforms like Reddit had awakened my desire to get started. However, I quickly realized that 3D printers are also a lot of work.

It's little wonder that the hype surrounding this hobby that started in the early 2010s has quickly become a niche market again. The fiddling with things that should be obvious, and should not take too much time, adds a large dollop of frustration to the mix. In the case of the Ender 5 Pro, I noticed this especially with its printing bed that requires manual calibration. And I would not have imagined beforehand that the extruder of a completely new printer might be clogged (Figure 7).

Figure 7: The Ender 5 Pro printhead was initially clogged. © Oliver Nickel

On the other hand, 3D printing as a hobby offers massive opportunities to develop new skills. I am now into 3D modeling, and my adventures with 3D printing have given my dusty Raspberry Pi a reason to exist again. Trying out and installing components and software is great fun, especially when the results finally pay off.

The 3D printing community is very vibrant. On many forums, you are likely to find quick help for your problems. I am looking forward to converting my printer, which seemed improvised and crude when I first bolted it together, into a useful tool for my handicrafting endeavors.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Printing Proper

    One last step remains in our 3D-printing voyage: actually printing something. This issue, we'll tackle how to print and monitor your print at the same time.

  • Tutorials – 3D Printing

    Having covered several ways to design your 3D object, let's cover how we prepare your design for printing.

  • 3D Printing: Idea to Object

    How do you get from an idea to a finished printed object? We'll take you through the steps with a glamorous example: a pair of 3D-printed earrings.

  • Xubuntu Dell Notebook

    Combining a Dell notebook with Xubuntu and an M.2 SSD makes for a reasonably priced, high-performance system for all your 3D printing projects.

  • Tutorials – OpenSCAD

    OpenSCAD lets you use simple scripts to build 3D bodies from primitive shapes that you can then send to your 3D printer. It also lets you create custom shapes for pieces and objects. In this article, we look at two ways to do just that.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More