Step One

Create your free account at balena.io. You’ll also want to download and install balena’s flasher tool, Etcher from here. Once you sign in, create an application and select your default device type accordingly. You will need to add your device to the newly created application, and ensure that it is successfully connected to the balenaCloud before continuing. Make sure you enable the option for your device to connect via Wi-Fi and Ethernet.

Depending on your wifi network settings, this could be really easy, or really hard. There are some current projects working to connect balenaOS devices wirelessly to eduroam and such.

Instructions on how to perform these steps, and more, is provided in balena’s extremely helpful documention, found here on there website. If you follow the instructions at this link, just make sure you stop before the ‘Deploy code’ section. We will be cloning a different repo in the next step.

Step Two

Now that your device is provisioned and connected to your account in the balenaCloud, we will need to get the appropriate software running on your device to get up and running.

Before we push the CUPS code to the device, you will need to ensure that the device is online in your balenaCloud control panel, and that it has a solid connection via USB to your printer.

Change directories into your workspace location, and then clone down the following GitHub repository:



git clone

cd balena-cups cd ~/desktopgit clone https://github.com/williamwalker88/balena-cups.git cd balena-cups

Now that you’re in the cloned directory, you will need to add your balena application endpoint to push the code to your device. Add the balena git remote endpoint by running the command git remote add shown in the top-right corner of your application page:

git remote add balena <USERNAME>@git.balena-cloud.com:<USERNAME>/<APPNAME>.git

Now to deploy this code to all device(s) in the application just run the command:

git push balena master

You’ll know your code has been successfully compiled and built when a friendly unicorn appears in your terminal:

Step 3

Now that the code has been pushed to your device, you will need to configure CUPS to share the printer on your wireless network. Thankfully, balena has a helpful little switch that enables a public URL that you can access from anywhere! Ensure that the ‘Public Device URL’ is enabled, and then click on the icon to take you to the CUPS management console.