Using raspberry pi for 3d printer

Top 3D Printing Projects With Your Raspberry Pi

Published on February 18, 2021 by Amelia H.

A Raspberry Pi is a credit card sized computer that can be bought for as a little as $30. The device was invented in an endeavor to encourage people to learn how to program computers. A Raspberry Pi can run on an SD card like those used by cameras and can be charged using a USB phone charger. By combining the accessibility and freedom of manufacturing with 3D printing and programming with Raspberry Pi, the maker community has come up with several innovative projects that you can try out at home! From ventilators, to tablets and telescopes, we’ve compiled a list of some of our favorite 3D printing x Raspberry Pi projects.

Covid-19 Ventilator

In response to the prospective, and later confirmed, shortage of ventilators in countries across the world stemming from the pandemic, MakAir developed a mass-producible open-source Covid-19 ARDS ventilator. The ventilator itself can be 3D printed with either an SLS, SLA, or FDM 3D printer. MakAir recommend using an SLS 3D printer such as the HP Multi Jet Fusion. The ventilator’s control unit comprises a Raspberry Pi 4 computer, plugged to a Raspberry Pi Touch Display. You can find the full instructions HERE.

ExoMy, the Mars Rover for Amateurs

Wouldn’t it be amazing if there was a robot meant for space that could be built with a simple 3D printer? Well that’s exactly what Maximilian Ehrhardt and Miro Voellmy from the Planetary Robotics Laboratory of the European Space Agency wanted to create. Named ExoMy, the Martian rover can be 3D printed for only $250. It is composed of 3D printable parts, servomotors, screws as well as a Raspberry Pi 4 and a v2 camera module. Thanks to the affordability and accessibility of 3D printing technology and Raspberry Pi, this project makes space robotics more widely available.

The Wave Speaker

The speaker, named The Wave because of its shape, was first designed as part of an engineering and design course at the Technical University of Denmark. The course offers students the opportunity to develop and design new prototypes, such as this speaker with its unusual geometry, using additive manufacturing. Printed in 3D, The Wave is powered by a Raspberry PI and connects WIFI, allowing music to be played on the speaker directly from the user’s phone. For those who wish to use additive manufacturing to create their own speaker you can find the instructions on Thingiverse!

PiKon, the 3D printed telescope

This telescope is a fusion of Raspberry Pi and Icon. The PiKon is the result of a collaboration between the University of Sheffield and Alternative Photonics. Designed for the Festival of the Mind, PiKon aims to demonstrate what citizens are able to do with new, low-cost technologies (3D printing and a Raspberry Pi). Apart from the primary and secondary mirrors, all the components of the telescope were 3D printed. The telescope prototype is connected to a Raspberry Pi with a 3D printed adapter. The Raspberry Pi is equipped with an infrared camera, making it possible to photograph the night sky, but also to record the shots. If you are passionate about astrophotography and new technologies, do not hesitate to find all the information necessary to build your own PiKon HERE.

A 3D Printed Laptop

If you have a Raspberry Pi and a 3D printer, you can create your own laptop with this Thingiverse file. As you can imagine, this is not an easy project and basic knowledge in electronics is needed. You’ll also need screwdrivers, wire cutters and a soldering iron in order to build the laptop. After you get all the tools, you will need to follow the instructions to assemble the laptop step by step. To achieve this, the author specifies that he used the Prusa Steel 3D printer to create the parts, with a resolution of 0.2 and a filling of 20%.

A 3D Printed Tablet

Similarly, our next project is complex but equally impressive. In order to build this tablet, you will of course need a 3D printer and a Raspberry Pi as main elements. The project requires a few other parts which the author details on the website. If you want to get started with this printing project, keep in mind that the commitment is fairly long term. Nonetheless, we encourage you to try to create your own tablet and share the result with us! You can find the website with all the assembly instructions, as well as a video explaining all the steps you need to follow HERE.

Dual Redundant CubeSat Flight Computer

Our next model is a dual redundant CubeSat flight computer. Redundancy increases the reliability of hardware in space so the idea is that if one system breaks down or no longer responds, another can take over and continue its task. Student Alex Pirie has been working on this project since 2014, and decided to turn to the Raspberry Pi for its low cost and compact size. You can find more information HERE.

Video Glasses

With this project you can turn any pair of glasses into a wearable mounted computer powered by Raspberry Pi. You’ll need a few things to get you started: NTSC/PAL video glasses; a Raspberry Pi; miniature wireless usb keyboard with touchpad; 3d printer; flat pliers; 30awg wire wrap; a heat shrink pack; screwdriver set; and a composite video cable. For the 3D printing aspect, there are just eight parts that can be printed and assembled in about two hours. The final part acts as a snap-fit enclosure that houses the components inside the NTSC/PAL video glasses. You can download the STL files and instructions HERE.

Build your own 3D Scanner

This project is a little different in that it does not necessarily need to be made with a 3D printer (though it can be!) but it will definitely come in handy for any 3D printing projects. In this step-by-step guide, users can learn how to make their own 3D scanner, with the updated versions even large enough to scan an entire adult person (up to 2m tall). To get started you’ll just need Raspberry Pis, PI cameras, SD cards, Led Strips and powerful power supplies, though the mounts, tripods and other parts could be 3D printed. There is assembly required and some coding (the owner provides python script that can be downloaded), but once you’re done you can make your own 3D scans of your loved ones which you can then 3D print! If you’re interested, the guide and the files can be found HERE.

DIY desktop laser cutter and engraver

According to the page on Thingiverse, FABOOL Laser Mini is an open-source, ready-to-assemble desktop laser cutter and engraver. You will need a hex wrench and spanner, but assembly itself will only take about two hours. The end product has a work area of 300x230mm. Raspberry Pi is one of the compatible software, though others are also supported, including Windows, Mac OS X, and Linux. This updated version has improved usability, a stylish design and about ¼ of the previous assembly time. You can find the files HERE.

What do you think of these 3D printing and Raspberry Pi projects? Let us know in a comment below or on our Linkedin, Facebook and Twitter pages! Sign up for our free weekly Newsletter here, the latest 3D printing news straight to your inbox!

How to Build Your Own 3D Printed Raspberry Pi Robot (Updated)

Skip to main content

Tom's Hardware is supported by its audience. When you purchase through links on our site, we may earn an affiliate commission. Here’s why you can trust us.

(Image credit: Tom's Hardware)

Update 7th August 2022: We've updated this article to include how to program the Explora in Python on page 2.

Original Tutorial Published June 4, 2022:

Building your own robot is one of the most satisfying things you can do. It combines mechanical, electrical, and programming skills together in a way few projects do.

I’ve been building robots for a couple of years now and love to expand my knowledge and skills by using different controller boards, motors, wheels, and sensors to detect the world around the robot.

Raspberry Pi robots are particularly impressive. The Raspberry Pi provides the robot with the full power of Linux and a plethora of Python libraries.  With all of this power, it means we can add advanced machine learning, computer vision, and Internet connectivity into the mix. All this at an affordable price point and tiny form factor too.

Building Raspberry Pi robots from kits, such as  Pimoroni’s Trilobot, or from a custom design such as Explora, is fun and helps develop skills such as programming in Python, mechanical design, and electronics. People love playing with robots and teaching them to perform tasks and move around the environment unaided.

Explora uses the Pimoroni Explorer pHAT (we included the Explorer HAT Pro in our best Raspberry Pi HATs guide) to control the motors and has a handy Python library to make this simple. Explora is programmed in Python and uses sensors to avoid obstacles and follow your handExplora can also be remotely controlled over Wi-Fi.

Explora can detect objects in front of it using an HC-SR04 ultrasonic range finder module. These modules come in either a 5v version or a 3.3v version (HCSR04+ or HC-SR04P). The Explorer pHAT is 5v tolerant, but it's best to get the HC-SR04+ or HC-SR04-P version to be on the safe side. Using the 5v version on a Raspberry Pi can damage the board.

Explora was designed using AutoDesk Fusion 360 . Each piece is a discrete component to enable easier  3D printing. Fusion 360 makes it really easy to export the models into STL files, ready for slicing and then 3D printing. To slice the robot parts (creating the instructions for a 3D printer to print the part) from Fusion 360 I use Cura, and then upload it to OctoPrint to manage the print jobs. The 3D printed parts are designed to be quick and easy to print, and the whole thing is easy to assemble using a couple of screws and wire up.

My personal choice of 3D printer is the Creality Ender 3 Pro and Ender 3 V2.

The electronics for the project are relatively straightforward and involve some soldering. You will need to solder wires to each motor and then to some Male DuPont cables (jumper jerky), one set per motor. You’ll also need something to hold the motors while you solder the wires to the tiny motor connectors which can be a bit tricky if you’ve not done this before. Some “helpful hands” or modeling clay is useful to keep the wires in place.

What You Will Need

  • A 3D printer and filament
  • 8 x M3 10mm screws and nuts
  • 4 x N20 Motors
  • 1 x Pimoroni Explorer Hat
  • 1 x Raspberry Pi Zero 2 W / Raspberry Pi Zero W
  • USB Powerbank battery pack
  • 400mm of red wire - solid core is preferable over the braided wire
  • 400mm of black wire - solid core is preferable over the braided wire
  • 8 x M2. 5 Stand-offs (with male screw)
  • 4 x M2.5 Stand-offs (without male screw)
  • 8 x M2.5 Screws
  • 4 x Moon buggy wheels
  • 4 x Male to female Dupont cables (200mm)
  • Some velcro straps for the battery pack
  • SD Card for the Raspberry Pi Zero
  • PIR Obstacle sensor


  • Soldering iron
  • Solder and some flux
  • Screwdriver
  • Wire cutters
  • Wire strippers
  • Helping hands - for use with soldering
  • A computer with an SD card reader slot

3D Printed Files

  • 1x Chassis
  • 4x Motor holders
  • 1x Camera Holder
  • 1x Camera back
  • 1x Top section

Building Explora

(Image credit: Tom's Hardware)

The print times for each of Explora’s parts depends on your specific printer and quality settings. I found the files took the following amount of time to print:

#PartApprox Time to Print
1. Chassis5 hours 16 minutes
2.Top Section2 hours 22 minutes
3.Motor Holders - all 4 at once3 hours 44 minutes
4.Camera holder & Camera holder back at once2 hours 30 minutes

I prefer to use PLA+ for my prints and usually have some white or yellow filament already in each printer, ready to go.

To Prepare Explora’s 3D Printed Parts

(Image credit: Tom's Hardware)

1. Download the 3D printable STL files.

2. Slice the parts using Cura - We like to use Cura, but you are free to use an alternative. and don't forget to enable supports for the motor holders

3. Transfer the G-Code file from Cura to your 3D Printer. Save the G-Code file to an SD card (if that's how your 3D printer accepts files) alternatively you can use software such as OctoPrint that runs on a Raspberry Pi and presents a Web-based interface for managing 3D Print jobs. If you’re using OctoPrint you can drag the G-Code file over the left-hand side of the page and it will begin to upload the file, ready for printing.

(Image credit: Tom's Hardware)

4. Load the G-code and print - We used Octoprint to manage our print jobs

Wiring up Explora

(Image credit: Tom's Hardware)

Soldering is an essential maker skill. Learning to solder opens up the entire world of electronics and this project could be your first steps on an exciting journey. If your motors come without any wires attached you’ll need to prepare your own wires and solder these onto the tiny motors. Soldering small parts can be tricky; you will need a steady hand and something to hold the motors while you hold the solder in one hand and the soldering iron in the other.

  • Prepare the wires for soldering. Cut four strips of red wire 100mm long each and another four strips of black wire. We should have a pair of black and red wires for each motor.
  • Strip wires. Strip about 4mm of wire from each end, exposing the copper wire. A good pair of wire strippers is an essential part of a maker's toolbox.
  • Add Flux. Apply some flux to one end of the wire that will be soldered. Flux helps the solder run around the part correctly. Even if your solder comes with a flux core, a little extra flux will make soldering much easier.
  • Tin the wires by adding a small amount of solder to the wires with your soldering iron. Tinning will help the wires solder to the small motor terminals
  • Solder the red wire onto the motor terminal - you’ll notice a small + sign above the terminal that is the positive terminal. Take your time, as this can be tricky if you’ve not done it before.
  • Push the wire through the hole in the terminal first to make a good mechanical connection and will help hold the wire in place as you solder, then solder the wire to the terminal.
  • Repeat the last step for the black wire but this time solder the black wire to the Negative terminal on the motor.
  • Twist red and black wires for strength. This will help strengthen the connection if you accidentally tug on the wires.

(Image credit: Tom's Hardware)

9. Solder the 40 pin header and 20 pin header to the Explorer pHat

(Image credit: Tom's Hardware)


The assembly part of the build won’t take long as it only involves screwing the four motor holders into the chassis using the M2.5 screw and nuts. Then we screw the standoffs into the chassis and Raspberry Pi Zero 2 W, and finally, we attach the Camera holders and top section.

1. Push each motor into a 3D printed motor holder. The motor holders ensure that the motor remains in place on Explora’s chassis. They also offer mechanical rigidity so that the motors do not move position in use.

2. Put a nut into each hexagonal pocket on the motor holder, then screw it from the top side of the chassis through to the motor holder into the nut. Don’t over-tighten as you’ll end up splitting the chassis. This will create a substantial connection between the motor holder and the chassis.

(Image credit: Tom's Hardware)

3. Add stand-offs to the chassis by screwing four M2.5 screws into the bottom of the chassis, and screw on a stand-off barrel onto the exposed screw thread until it becomes tight against the chassis.

4. Add four stand-offs to the Raspberry Pi Zero, then attach the Explorer pHat.

(Image credit: Tom's Hardware)

5. Screw the Raspberry Pi Zero into the Chassis stand-offs.

6. Push the Camera Holder into the Chassis. You may need to file off some material if it's a tight fit.

7. Push the ultrasonic rangefinder into the Camera Holder.

8. Push the female end of the DuPont wires onto the Rangefinder.

9. Push the male end of the DuPont wires onto Explorer pHATs 5v, GND, Output 1 to Trigger, Input 1 to Echo connections. 

10. Push the Camera back into the Chassis.

(Image credit: Tom's Hardware)

11. Add the last four stand-offs onto the Raspberry Pi Zero

12. Push the Top section over the two camera holders and screw the last 4 M2.5 screws from the top section into the standoffs

13. Using a velcro strap, secure the battery in place. 

(Image credit: Tom's Hardware)

14. Push the 4 wheels onto the ends of the motors. The motor axles are D-shaped, be sure to match the alignment of the axle to the wheel before firmly pushing on.

Preparing the Raspberry Pi

The Raspberry Pi needs a suitable OS to run the Python code to control the motors and optionally capture images. When the Raspberry Pi camera first launched a software library called PiCamera was provided to make it simple to capture stills and video. With the most recent release of Raspberry Pi OS ‘Bullseye’, this old library has been replaced with a library called LibCamera, which is not backward compatible with PiCamera. On the 32-bit release of Bullseye you can choose a legacy camera option from raspi-config, however, this option is not available on the 64bit release.

1. Using the official Raspberry Pi Imager tool, flash the latest 32-bit OS to a micro SD card. We use the 32-bit version of Raspberry Pi OS because the PiCamera library is currently not compatible with the 64-bit version of Raspberry Pi OS. 

(Image credit: Tom's Hardware)

2. Put the micro SD card into the SD card reader slot on your computer.

(Image credit: Tom's Hardware)

3. Select the micro SD card from the Raspberry Pi imager Storage menu.

(Image credit: Tom's Hardware)

4. Click the Advanced (cog) button, and add your Wi-Fi SSID and password details to enable the Raspberry Pi to connect to the wifi automatically.

(Image credit: Tom's Hardware)

5. Click on Enable SSH and create a username and password. SSH enables a remote to the Raspberry Pi using a terminal without the need for a monitor, keyboard, or mouse.

6. Click Write to begin flashing the image to the micro SD card.

(Image credit: Tom's Hardware)

7. Insert the micro SD card into the Raspberry Pi and then power up the Raspberry Pi via the power bank.

Connecting to the Pi

1.  Find out the IP address of your Raspberry Pi - you can usually do this from your router (or wherever your router gets its IP addresses from, or by typing:

ssh [email protected]

- where `pi` is the username you created earlier in step 5 above.

2. Launch Terminal - if you’re on Windows, you’ll need to use some terminal software such as Putty ( Mac and Linux computers have terminal build-in. 

(Image credit: Tom's Hardware)

3. SSH to the Raspberry Pi - Type `ssh [email protected]>` into the terminal to connect to the Pi. Linux / Mac users can use the following to SSH into the Pi. If you know the IP address you cal also type `[email protected]<ipaddress>`, where <ipaddress> is the IP address of the Raspberry Pi.

ssh [email protected]

(Image credit: Tom's Hardware)

From the Raspberry Pi terminal, clone the Explora software repository. The software is on Github, and we can use the git clone command to download the latest version to our Raspberry Pi:

git clone

(Image credit: Tom's Hardware)

4. Install the Explorer Library via Pimoroni’s online install script.

curl | bash

4. From the Raspberry Pi terminal, clone the Explora software repository. The software is on Github, and we can use the git clone command to download the latest version to our Raspberry Pi:

curl | bash

You should now have a fully assembled Explora robot on your desk, ready to receive your first Explora Python program. You can expand the capabilities of Explora by adding a LIDAR laser scanner and Raspberry Pi Camera such as the ones in the picture below.

Next, we create some programs for Explora in Python to move the robot around and detect objects.

  • 1

Current page: Building Explora Robot

Next Page Programming Explora Robot


Raspberry Pi

Tom's Hardware is part of Future US Inc, an international media group and leading digital publisher. Visit our corporate site .

© Future US, Inc. Full 7th Floor, 130 West 42nd Street, New York, NY 10036.

How to Control a Raspberry Pi

3D Printer

For the uninitiated, 3D printing can seem like a daunting hobby. However, once you understand how things work, 3D printing can be fun and enjoyable. For beginners, it might be tempting to simply buy a plug-and-play 3D printer to use with Windows 10. Some examples include the Monoprice Select Mini Pro ($250) or the Snapmaker 3-in-1 3D printer ($800), which offers laser engraving and CNC milling capabilities in addition to 3D printing. Both printers are good entry-level choices, but they take up less space when 3D printing, and you'll quickly find yourself wanting to buy a larger printer when you need to print large parts.

If you're interested in finding a 3D printer for beginners, I recommend the Creality 3D Ender 3. It's a good size 3D printer that delivers consistently high print quality. In addition, the Ender 3 is a self-replicating printer, which means that the printer can print its own updated and replaceable parts. What's more, the printer comes as a DIY kit, which in my opinion is the best way to learn about 3D printing.

I received a Creality 3D Ender 3 as a gift from my wedding receptionist. I didn't know what I was going to print, but I had general ideas. I scoured the internet to find the best mid-range 3D printer and came up with the Ender 3. It takes some learning, so if you think you'll buy it and print perfect 3D prints in no time, you're in for a rude awakening. This YouTube video gives a detailed overview of the Ender 3 as well as some basic 3D prints and printer upgrades. The Ender 3 is priced between $200 and $250 and is a great value for the money, although some assembly is required.

Since I'm using Ender 3, I've run into some problems starting and stopping 3D printing when I'm not in front of the printer. The problem with most 3D printers is that 3D printing companies have not created an efficient interface for interacting with your 3D printer via a computer. To 3D print something, you have to go through a rather complicated process. Here's what you do when you 3D print items using just the printer.

  1. Create or load an object from Thingiverse
  2. Edit the element so that it prints successfully on your printer (temperature settings, scale volume, etc.)
  3. Transfer the appropriate file from your computer to the microSD card.
  4. Remove the microSD card from the computer and insert the microSD card into the printer.
  5. Start printing using the printer control menu

This process is frustrating because if there is a problem with the printer settings for the item you want to print, or the temperature settings are off, or something else goes wrong, you will have to manually stop printing and start the process again. Everything important is on this microSD card. This turned out to be the most frustrating thing about my 3D printer and it drove me crazy until I found OctoPrint. After that, everything changed.

OctoPrint is an open source web interface for your 3D printer. OctoPrint lets you drag and drop files onto the 3D printer, change the printer's temperature settings as desired, and start and stop print jobs. It is the best and most intuitive. To use OctoPrint, all you need is a Raspberry Pi and you will be able to access your 3D printer via a Wi-Fi connection. Here's what you need to do to get OctoPrint running: Raspberry Pi 3B or 3B+, at least 8GB microSD card and OctoPi, a Raspbian-based microSD card image for Raspberry Pi that includes OctoPrint and all necessary dependencies. run it. More information is available on the OctoPrint download page.

Although OctoPrint can be installed on Windows, OctoPrint does not run as stable on Windows, which may cause unexpected errors and crashes. The recent news that you can install Windows 10 on ARM on Raspberry Pi is great, but Windows 10 on ARM is not the best OS for Raspberry Pi in my opinion. You can install Windows IoT Core or Windows 10 on ARM just as easily, but the Raspberry Pi works best with Raspbian, a Linux-based operating system built specifically for the Raspberry Pi. I'm using a Raspberry Pi 3B and OctoPrint works well on Raspbian without any issues.

With OctoPrint, you need to download this OctoPrint image file and follow the instructions on the download page to extract and flash the disk image file to a microSD card, set up the SSID and Wi-Fi password, and then boot the Pi from the microSD card. Once you recognize your Raspberry Pi on your Wi-Fi network, you can connect it to a 3D printer and manage the 3D printer settings and print projects from any device, and depending on the OctoPrint settings, even control the 3D printer remotely. Personally, I don't use the mobile access feature because I have fire safety issues when running my 3D printer unattended.

OctoPrint is the best interface for 3D printing in my opinion. Octoprint provides a simple interface that allows me to control almost every aspect of my 3D printer through a web browser. I wish I could say that you can use OctoPrint with Microsoft Edge, but OctoPrint works much better with Google Chrome. OctoPrint allows me to monitor the temperature, see the remaining print time, and stop printing to adjust the printer's temperature and speed if necessary. Overall, I am very pleased with the quality of my 3D prints. Here is an example of the quality of my 3D printing.

Creality 3D Ender 3 Pug

The 3D print (Creality 3D Ender 3 Pug) shown above was a larger project that I was able to print after successively printing smaller parts. There was a lot of trial and error in the beginning to find the best temperature and other printer settings to get consistent prints. After I got more stable prints like the one above, I started printing bigger and bigger projects.


Raspberry Pi is a powerful single board computer that allows me to add other add-ons, including a webcam to view my 3D prints in real time in OctoPrint. In addition, OctoPrint allows me to add various plugins to enhance my 3D printer through the OctoPrint browser interface. Overall, using OctoPrint with a Raspberry Pi to control my 3D printer through a Windows 10 computer is very convenient. You won't print things perfectly right from the start, but once you figure out what works well for your 3D printer, you'll find that 3D printing is a rewarding hobby. On Thingiverse you can find more ideas of what you can create.

Record source:

Smart printer. Improving Octoprint / Sudo Null IT News

While developing an open project for a 4-extruder Z-Bolt printer, we encountered the problem of choosing a screen to control the printer. Of the available screens, only the Duet Wifi solution can control more than 2 extruders. The solution, to put it mildly, is not a budget one, and the interface is not for everybody. So we decided to look for an alternative with preference and courtesans. This story is about him…

On the Internet, there is a lot of information about the use of Octoprint. A little more than half a year ago, we became users of this solution, immediately appreciating its advantages. The ability to manage the printer through a web face is really hard to overestimate. Octoprint has a lot of plugins, and the main thing for us is that Octoprint handles well with more than 2 extruders. But there was one more issue to solve.

Many fans of Octoprint confidently assert that they no longer need the screen from the word “absolutely”, that this is an absolutely superfluous part of the printer, which only interferes with them.

However, I am convinced that there are other users of OctoPrint. Everyone has their own habits and requirements for the daily use of a 3D printer, and there are operations that are more convenient to perform with a screen:

  • Filament replacement
  • Table level calibration
  • Starting to print a file that has already been printed before
  • Printer preheating on
  • Ability to see print status

Now the default screen in Z-Bolt printers is MKS TFT. You can put TFT24, TFT32 or TFT35. These are good screens, but they can't integrate with Octoprint. If Octoprint has started printing, the screen will not know anything about it. They use different file repositories, etc. And the MKS TFT screens don't want to work with 3 or more heads 3D printers.

My goal was to find/make/configure a screen for Octoprint capable of controlling more than 2 extruders.

After some googling, I came across the TouchUI plugin.

The first impression was: this is the solution!!!

I immediately installed the plugin and opened Octoprint from my phone. The TouchUI interface was dumb :/. Sometimes the buttons were pressed normally, sometimes they slowed down, and sometimes they didn’t press at all the first time. From the connected screen, TouchUI behaved just as badly as from the phone.

Another solution was found in parallel.

The description was encouraging, unlike TouchUI, this is an independent application that runs without a browser, which means it requires much less computing resources.

Installation and configuration did not cause problems. The interface really worked much more predictably and more responsively.

But even here, not everything turned out smoothly. The application regularly crashed when printing started. There was an issue on github for this error, created almost a year ago and actively discussed, but not closed.

The main problem turned out to be that the author of the application, apparently, has lost interest in it and is no longer developing it at the moment.

Since, in my opinion, the application is written quite well and has potential, it was decided to make a “hard-fork” and take on the project thoroughly.

Here's what we got:

  • Optimal screens for project
  • selected
  • Made “hard-fork” from Octoprint-TFT
  • Revised view of the hardware and software architecture of the printer
  • Created custom theme for Octoprint interface

But first things first…

Screen selections

We started with the TFT 3. 5 screen, which, to put it mildly, did not stand up to scrutiny. No viewing angles, the picture is faded. Therefore, it was decided to choose a better solution.

The main criteria were:

  • IPS matrix
  • size 4 - 5"
  • capacitive screen (preferred)
  • reasonable price

As a result, we settled on two options:

1. The option is simpler. 4'' IPS Resistive Touchscreen

2. Richer option. 4.3” IPS Capacitive Touchscreen

Both screens have a resolution of 800x400. Both have a great picture, color reproduction and viewing angle. Their main difference is the capacitive touchscreen. You get used to it (like everything good) very quickly and it is much more pleasant to use it than resistive ones. However, a resistive touchscreen is also viable.

It's Hard-Fork, baby!

The application has been seriously improved. And almost ceased to resemble his parent. Therefore (and also because the creator of Octoprint-TFT officially froze the development of his offspring), it was decided to make a hard-fork and call the new project Octoscreen.

  • First of all, the screen freeze problem that plagued Octoprint-TFT was completely eliminated.
  • - Significantly changed design and layout:

  • The screen has learned to understand printer states (waiting/printing):

  • Added the function of quick preheating/heating off by pressing the icon of the extruder or table, while the screen highlights the status:

  • Manual table calibration screen added:

  • Item “Menu” moved to a separate screen:

  • Added WiFi management function:

  • The application itself now supports up to 4 extruders, which is exactly what it was created for:

You can download the application and find a brief installation guide from our GitHub.

There is also a detailed instruction for screen 3.5, for which special thanks to our colleague Denis (@negativ72rus).

Rethinking printer hardware architecture or changing shoes on the go

Initially, we planned to use Marlin in our multi-extruder printer, but in the end the choice fell on Klipper. There are several reasons:

1. One of the main reasons for us as developers is its flexibility. Marlin and his "pasta" code make it a real challenge to make improvements to it, and even more so to maintain them further.

Klipper is the exact opposite of Marlin in this respect. Firstly, all Klipper configuration is taken out of the program code. The code itself is well structured. But most importantly, Klipper is modular!!! You can add your own logic to the firmware without making changes to its core, and thus greatly simplify the further support of your code.

2. All firmware settings can be done directly through the OctoPrint web interface.

Learn more