OctoPrint is software that you can run on a variety of different devices, from phones to Raspberry Pis and even PCs. It’s designed to automate and remove the time-consuming process of using SD cards in the 3D printing process and provide a remotely accessible platform where different plug-ins can be installed to further augment the capabilities of your setup.

OctoPrint is very popular owing to its open-source nature, meaning that there are plenty of plug-ins or add-ons available. These can range from remote streaming using a webcam to visualizing bed-leveling meshes or even AI-driven failure detection.

While OctoPrint typically runs on a Raspberry Pi, with recent price hikes due to the chip shortage, some makers have started running OctoPrint on old Android phones.

While there are quite a few apps available that can host OctoPrint, we’ll dive into one of the most popular: Octo4a. We’ll cover its features, how to set it up, and a few alternatives.

Back to Contents

Octo4a: How to Use OctoPrint on Android

Why Octo4a?

Easy installation of OctoPrint on your mobile
Easy installation of OctoPrint on your mobile (Source: feelfreelinux via GitHub)

First and foremost, Octo4a is essentially OctoPrint, but carefully designed to run on a phone instead of a Raspberry Pi. It offers nearly identical features, allowing you to install any plug-in you can on OctoPrint.

OctoPrint is very handy, but there are downsides to running it on a Raspberry Pi in terms of cost and time. First, you need to purchase a Raspberry Pi capable of hosting it, usually a 3B or above. Then, buy a compatible webcam or a Raspberry Pi Camera Module. Finally, you’ll also need to print yourself a mount for the camera and a case for the Pi.

This is where Octo4a can bring some real benefits:

  • Installation only requires a powered USB-C (or Micro-USB) adapter, the Octo4a app, and a mount for your phone. This makes it very quick and easy to set up, with no added complexity of having to format SDs and configure Wi-Fi SSDS via terminal or file modification. For many, not having to touch Linux can be a big motivator to go down this route.
  • You can connect the printer via USB On-the-Go (OTG), which means your phone gets charged while also acting as the master to control your 3D printer. You can get added benefits if your USB OTG adapter has Ethernet support, as you can always rely on a solid connection to your network.
  • There’s built-in camera support, so no more faffing around with making special camera mounts and getting sub-par quality – most phones have significantly better resolution than webcams.
  • You can use the Octolapse plug-in and easily perform high-quality time-lapses without any difficulty.
  • Since there’s compatibility with nearly all OctoPrint plug-ins, you can install and configure it the way you want.
  • To further customize your OctoPrint instance, you can use the SSH support (just beware the ports differ from standard SSH ports).
  • Last but not least, experimental Klipper support is available. While unable to support flashing the microcontroller, it can work once the target board is flashed with Klipper as normal.
An enclosure won't be an issue for Octo4a
An enclosure won't be an issue for Octo4a (Source: EP3 via Printables)

In essence, Octo4a works exactly the same way as ordinary OctoPrint. Once you download the app, you can let it run continuously. It will allow you to view from your camera and host the normal OctoPrint web server from your mobile. This will let you load prints to your printer, monitor their status, and even manage alerts for when your prints will be complete via a web interface.

If you’re unsure how this works compared to OctoPrint, you’ll be pleasantly surprised to hear it’s almost identical. The only tangible differences are that you’re using Android (as opposed to Raspbian) to run the OctoPrint website, you don’t need to set up an additional camera, and instead of USB-A to USB-B, you’ll use USB OTG via a special adapter. The operation of OctoPrint is close enough that you shouldn’t notice any difference. You can still set up a website URL for your OctoPrint and remotely connect to it as you would otherwise.

Back to Contents

Advertisement
Advertisement
Advertisement
Octo4a: How to Use OctoPrint on Android

What You Need to Set Up & Use Octo4a

An excuse to add some color to your printing setup
An excuse to add some color to your printing setup (Source: SanderG via Printables)

The Octo4a app contains a smaller version of the OctoPi OS that runs within the app. You can’t find it on the Google Play Store because it’s software that downloads additional plug-ins, and as such, it’s banned by the Play Store. You can only download it from the Releases page on Octo4a’s GitHub page.

To run Octo4a, you’ll need:

  • An old mobile phone.
    • For best results, a mobile with Quad-core (2×2.15 GHz Kryo & 2×1.6 GHz Kryo) or better specs. Most respectable phones that cost around $400 in 2017 are likely to suffice. While you need at least 700 MB worth of storage available, it’s best to have at least 1 GB spare. It must also support USB-OTG, which usually means USB-C as a minimum.
  • A powering cable that also allows you to transmit data.
    • If you want a fast and reliable OctoPrint web server, one with an Ethernet connection could be the way to go, as Android OTG supports Ethernet and data transfer.
  • A mobile phone mount.
  • About 15 minutes to set up your phone.

Despite the minimum hardware requirement (from experimental testing), there are still difficulties with certain phones depending upon the firmware and other factors. This can mean that your old Android phone is still not compatible.

In this scenario, you may find it keeps downloading and launching as corrupted. If this is the case, then consider trying an older release or using a Raspberry Pi instead.

Back to Contents

Advertisement
Advertisement
Advertisement
Octo4a: How to Use OctoPrint on Android

How to Set Up Octo4a

First things first
First things first (Source: SnoxWasHere via Reddit)

Here’s how you can set up Octo4a:

  1. Enable APK (Android Package Kit) install (or allow installation from Unknown Sources) from third parties. If you’re not sure how to do it, follow this guide.
  2. Visit the Octo4a site and download the software. It’s best to download the latest release from the official GitHub Releases page.
  3. Open the downloaded APK on your phone and install it. Make sure to accept any permissions it asks for.
  4. Select to install the OctoPrint package, which is an option from within the Octo4a/OctoPrint for Android app. It will automatically scan to see if you already have it downloaded, and if not, it will download and install all dependencies. It will install a contained version of the OctoPrint Linux OS.
  5. Disable battery optimizations, which will be prompted by the app. You can go to “Settings > Apps & Notifications” and allow the app to always run in the background.
  6. In the app, go to the Settings tab at the bottom and select “Enable camera server”, which may prompt you to allow camera permissions on your phone. Select “Allow Always”.
Once you're set up, tweak some of the settings
Once you're set up, tweak some of the settings (Source: Sam Rhodes via All3DP)
  1. Optimize your camera settings in the Settings tab by checking that the “Camera source” is the back camera (usually the highest megapixel option) and selecting the camera resolution you’d like. If you’re using an Ethernet connection, you can likely handle full resolution. Otherwise, we’d recommend “1024×768” or similar. In “Camera FPS limit”, you may wish to limit the frames per second (FPS) to 15 or lower if your phone appears to be struggling. You may also opt to permanently enable the flash, which can be handy if your enclosure doesn’t have lighting.
  2. In the same Settings tab, at the very top, you can select “Install plugin extras”, which will preload OctoPrint with a lot of handy features.
  3. Enable “Start on boot” in the same Settings tab. You may also choose to set up an OpenSSH server. Just ensure you protect it with a password and note that the default port is 8022 instead of port 22.
  4. You can choose to enable “Remote Web terminal”. This is handy if you want to remotely access the underlying shell without a separate SSH client. It allows you to manually install additional extensions.
  5. From your phone’s notifications, tap to launch or visit the OctoPrint website.
  6. Configure your user account. This follows the same setup as OctoPrint.
  7. Connect your mobile device to the printer via the adapter mentioned above.
  8. Place your phone on a stand.
  9. Enjoy remote printing!

Back to Contents

Advertisement
Advertisement
Advertisement
Octo4a: How to Use OctoPrint on Android

Complements

OctoRemote can be a handy tool to add to your setup
OctoRemote can be a handy tool to add to your setup (Source: Google Play Store)

There aren’t any direct alternatives to this app that are stable enough to use reliably, but here are a few complementary solutions that can work alongside it.

OctoRemote

OctoRemote is slightly different from Octo4a. It allows you to do pretty much the same stuff you can on OctoPrint, but you still need a Raspberry Pi or device to run OctoPrint on – this is simply an interface for viewing your OctoPrint on a mobile.

This could be a good choice over Octo4a when you need to monitor multiple OctoPrint printers in one place via mobile. This is because with Octo4a you would require one phone per machine running OctoPrint.

OctoRemote’s features include starting, pausing, and canceling a print, receiving push notifications when prints are finished, uploading G-code to print, and slicing your prints within OctoPrint. Additionally, you can monitor the 3D printer’s temperature, livestream views, and printing characteristics alongside the remaining estimated time. It also allows monitoring multiple 3D printers and controlling them, as mentioned above.

OctoApp

OctoApp “talks” to your OctoPrint to receive information and control your printer. OctoApp also has a companion plug-in for your OctoPrint instance, which improves the app’s abilities and supports smartwatches. In a nutshell, OctoApp allows remote access to your OctoPrint instance via an intuitive app.

Its features include automatic scanning of networks to find all OctoPrint instances, remotely setting off prints and modifying temperatures and machine parameters, viewing status updates including time remaining on prints, and downloading and saving time-lapses. You can also get live updates via notifications, view live G-code progress, and cancel objects mid-way through prints. You can also power your machine remotely, turn the lights in your enclosures on or off, and install OctoPrint plug-ins.

Differences Between Octo4a & Alternatives

An old Android phone to the rescue!
An old Android phone to the rescue! (Source: watchingbirdsiteburn via Twitter)

Interestingly, because Octo4a effectively hosts the entire OctoPrint Linux OS on your old phone, it can offer all the features of OctoPrint, with the exception that you’ll need to keep your old phone attached to your printer. However, you can easily link it to OctoRemote or OctoApp if you want remote monitoring.

The majority of the OctoPrint plug-ins are enabled. For many, this makes using Octo4a a no-brainer, as there’s no need to invest in additional hardware to remotely monitor your 3D printer and a higher resolution camera. You can link it with other apps you currently enjoy, and even remotely monitor it by using it in tandem with other mobile apps.

For instance, you can easily use OctoApp or OctoRemote in complement to Octo4a. Treat Octo4a as a direct swap out for your raspberry Pi running OctoPi.

Arguably the only significant drawback of Octo4a is its support. There have been reports from users trying a variety of different phones and struggling to get the newest version working. As the support seems to have been a little less frequent lately, it can mean that you would be running a few versions behind the main OctoPrint releases. That said, the OctoPrint Community and Reddit are a couple of places where you can find support.

Back to Contents

Advertisement
Advertisement

License: The text of "Octo4a: How to Use OctoPrint on Android" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.

Stay informed with notifications from All3DP.

You get a notification when a new article is published.

You can’t subscribe to updates from All3DP. Learn more… Subscribe to updates

You can’t subscribe to updates from All3DP. Learn more…

Topics
Advertisement