Deploying Scailable AI with balena

This post demonstrates setting up a Raspberry Pi 5 Scailable AI with balena, highlighting the app’s compatibility with various arm64 devices. In the near future, we plan to expand our support to include X64, ARMv7, and NVIDIA CUDA-compatible apps, enabling seamless AI model deployment and execution on a very wide range of devices.

About

The Scailable AI Manager streamlines the configuration of edge AI solutions. It enables you to effortlessly set up input sensors, select an AI or ML model from a vast library on the Scailable platform or import your model from any major AI/ML training platform, and specify your output target.

In the current post, we show how to deploy to a Raspberry Pi 5.

Features

  • Highly efficient AI pipelines optimized for on-device performance.
  • Supports the entire model training cycle, offering customizable data collection in the relevant context.
  • Simple, code-free deployment of AI models.
  • Remote control and management of edge AI systems.
  • Instant access to a comprehensive library of AI models for quick startup.
  • Seamless integration with a wide range of AI training platforms available in the market.

Getting Started with the Scailable AI Manager through balenaHub on a Raspberry Pi 5

In this guide, that closely follows the balendaCloud getting started page, we will help you with set up the Scailable AI Manager through balenaHub on a Raspberry Pi 5 through:

  • Setting up your Raspberry Pi 5 device and bringing it online on the balenaCloud dashboard.
  • Deploying a the Scailable AI Manager app on the device
  • Run an AI model on the device and visualize its output.
  • Explain how to batch deploy and auto-register the Scailable AI Manager to a fleet of devices

If you are looking for definitions of balena related terms, refer to the balena glossary.

If you are interested in a deeper dive into the Scailable platform, check out https://docs.scailable.net/.

What you’ll need

  • The device: Raspberry Pi 5. Checkout our supported devices list.
  • Balena Etcher to flash the new operating system on to the device.
  • A way of connecting the device to the internet, either through wifi (if available) or ethernet cable.
  • A method of reliably powering the device.
  • A balenaCloud account.
  • Install balena CLI to develop & manage your device on balenaCloud.

Step by step

  1. Make sure you are logged into your balenaCloud account. Make sure you have installed Balena Etcher on your local computer.

  2. Go to balenaHub.

  1. Find the scailable-ai-manager app:

  2. Click the “Deploy” button.

  3. Deploy to an existing fleet of devices (default) or choose to deploy to a new fleet. Here, we choose the latter. We also use the default fleet name, and choose “Raspberry Pi 5” for our default device type:

  1. OPTIONAL: If you have a Scailable access key, you can click “Advanced” to open the advanced settings for your fleet. Here, you can enter a Scailable access key (SCLBL_ACCESS_KEY) which will auto-register all AI Managers to your Scailable account automatically on deploying them to your fleet of devices.

  2. Now click “Create and deploy”.

  3. Wait until the fleet is created. You are now able to add a device using the “Add device” button:

  1. Leave all settings at default, or set your WIFI SSID and password, and click “Flash”:

  2. Follow the Flash Instructions:

    • Use the form on the left to configure and download balenaOS for your new device.
    • Insert the SD card to the host machine.
    • Write the balenaOS file you downloaded to the SD card. We recommend using Etcher.
    • Wait for writing of balenaOS to complete.
    • Remove the SD card from the host machine.
    • Insert the freshly flashed SD card into the Raspberry Pi 5.
    • Connect power to the Raspberry Pi 5 to boot the device.
  3. Your device should appear in your application dashboard within a few minutes:

  1. Click on the new device (here, “little-pond”), to find its ip address and its current state:

  1. In the Logs panel, you can see that the Scailable AI manager has been installed and started. Since we installed without a Scailable Access key, the device still has to be linked to a Scailable account You can do that by using a browser to visit port :8081 on the device. Here, that would be:
    http://192.168.1.114:8081. You will now see the local AI Manager registration page:

  1. Follow the Scailable registration process described at Getting started - Scailable Documentation

  2. Choose one of our default Scailable models and one of our demo movies, and start running AI inferences right away!

Addendum: Auto-registration using fleet variables

Before you deploy the Scailable AI Manager to your device, you can set the following fleet variable to a Scailable UUID access key to auto-register your device(s):

  • SCLBL_ACCESS_KEY: uuid-access-key. You will need to get this access key from Scailable directly to use this feature.