3d printers

How to Use an Old Android Phone as an OctoPrint Server for 3D Printers

OctoPrint is an open source application providing a web interface to control and monitor all aspects of your 3D printer. You can install OctoPrint on a Raspberry Pi with a camera module to monitor your prints and create great time-lapse videos. What if you don’t have a Raspberry Pi?

Here we will tell you how to install and configure OctoPrint on your old smartphone. You can use any old Android device to install the unofficial version of OctoPrint Server, automatically create time-lapse videos of prints and monitor prints remotely


Steps to configure and run OctoPrint Server on Android

To control your 3D printer using OctoPrint on an Android smartphone, you need to install the Octo4a Android App. This is an unofficial application developed by FeelFreeLinux on GitHub.

With the Octo4a app on your Android smartphone, you can install OctoPrint on your Android device and use it as a host. It works like OctoPrint on a Raspberry Pi. It also supports SSH, allowing you to connect to SSH to manage, update, and customize your OctoPrint installation on Android. The steps are as follows:

Step 1: Gather the necessary items

You will need an Android smartphone running Android 4.3 or later. No matter his age. If it lights up, you can use it for this project. Also, the app doesn’t seem stable with newer versions of Android, like Android 12.

In our testing, the app crashed when using the Galaxy S20+ running Android 12.

You will also need a USB hub or OTG adapter with pass-through power. This is important because OctoPrint consumes a lot of power when monitoring and recording time-lapse videos.

Find a small tripod or any accessory that can hold your smartphone in place to record time-lapse videos from a certain angle. You can also design and print a 3D case or stand to hold your smartphone.

Step 2: Download and install the Octo4a Android app

The Octo4a Android app is not available on the Play Store. However, you can download the Octo4a.apk from the GitHub project page and upload it.

To load the app, you can use ADB commands or just download the app, tap Install > Settings to trust the source, then press Install Again.

Wait for the installation to complete.

Step 2: Install and configure OctoPrint on an Android smartphone

Once you have installed the Octo4a app, you can open it, grant the required permissions and tap Continue. This will start downloading and installing dependencies and required files. Depending on your Android device and internet speed, this may take up to 30 minutes.

Once your phone is done installing, you can tap on it to start the OctoPrint server on your Android device. Also go to Settings and enable the camera to stream the video for real-time monitoring and create time-lapse.

You can also choose the camera resolution and frame rate (FPS). Depending on your device, you can set the FPS to 30 FPS. Keeping the frame rate lower will save battery power and prevent heavy process usage or possible overheating of the device.

Go back to House and press Start OctoPrint Server. It may take a minute to start. Once started, you will see an IP address.

Open the web browser on your PC and visit the IP address given in the application, such as 192.168.xx.xxx:5000.

Now follow the wizard to configure the OctoPrint Server. In this wizard, you will create an account with a password and modify the details of the 3D printer, such as bed size, nozzle width, etc.

Once setup is complete, you are ready to connect your Android device running the OctoPrint Server to your 3D printer for remote control and monitoring.

Step 3: Connect the 3D printer to the Android smartphone

To connect your 3D printer to the Android device, you will need an OTG cable or adapter. You can buy a cheap OTG cable or hub with a power relay from Amazon or a local retailer. This will allow you to run your device 24/7 without worrying about the battery.

Connect the USB cable coming from the printer to your smartphone using the OTG adapter. Then connect the smartphone charger to the other end of the OTG cable or to the input power port. If your Android phone has a USB-C port, you can purchase a USB dongle with multiple ports to connect the printer and power.

On your Android phone, allow the app to access the USB serial port.

The 3D printer must be connected to the Octo4A application.

On the browser web interface, click Relate. Wait for the server to automatically find and connect to your 3D printer.

Once connected, you can try to move the axis or click on the House icon under the Control tab to perform an automatic origin search. This will help ensure that OctoPrint is connected and can control the printer.

You can upload GCode to the SD card connected to your 3D printer, select GCode already on the SD card and click Print to start 3D printing.

Under the timelapse option, you can change the settings to automatically record basic timelapse videos when printing starts.

Additionally, you can go to Settings > Plugin Manager and install it octolapse plugin to create stunning timelapse videos. Videos are stored in your Android device and can be downloaded when finished.

Likewise, there are several other plugins that you can install on your OctoPrint server hosted on Android device to add more features and functionality.

Monitor 3D prints remotely with OctoPrint

Setting up the OctoPrint Server on an Android device is much easier and hassle-free compared to Raspberry Pi. Also, you don’t need to purchase any additional camera module as it is already built into the device. The smartphone camera is also better than the one you get for Raspberry Pi and hence can help you create high quality time lapse videos.

For now, you can control and monitor your 3D printer on the local server. However, you can install the SimplyPrint Cloud plugin with a free basic plan to monitor up to two 3D printers connected to the OctoPrint Server remotely over the Internet.