Upgrading to HailoRT 5.2.0 - step by step (Raspberry PI & Hailo Apps)

Hi, the following steps may not cover all cases. I have also NOT tested every feature (especially I was not able to test the vision features) - you have been warned :wink:

Upgrade

To upgrade a Raspberry PI installation with Python 3.13 and installed Hailo Apps you can follow these steps:

  1. Hailo Developer Zone (https://hailo.ai/developer-zone/software-downloads/?product=ai_accelerators&device=hailo_10h): Download the latest PCIe driver and HailoRT (filter: AI Software Suite, HailoRT, ARM64, Linux, relevant Python version (e.g. 3.13)) - 2 deb files

  2. Hailo Developer Zone: Download the latest Model Zoo (filter: AI Software Suite, Model Zoo, ARM64, Linux, ignore Python version) - 1 deb file

  3. TAPPAS (installed with hailo-h10-all by RPi): Hailo Developer Zone: Download the latest TAPPAS version (filter: AI Software Suite, Example Applications, ARM64, Linux, ignore Python version). Download only the deb file.

  4. Copy all files to a folder, e.g. /home/pi/hailo-upg

  5. Open a shell and execute:

    cd /home/pi/hailo-upg
    
  6. Deinstall some of the old files:

    # Removes also hailo-10h-all
    sudo apt remove h10-hailort-pcie-driver
    
    sudo apt remove hailo-gen-ai-model-zoo
    
    # Removes also python3-h10-hailort rpicam-apps-hailo-postprocess
    sudo apt remove h10-hailort
    
  7. Install PCIe driver, HailoRT, Model Zoo & TAPPAS:

    sudo dpkg --install \
      hailort_5.2.0_arm64.deb \
      hailort-pcie-driver_5.2.0_all.deb \
      hailo_gen_ai_model_zoo_5.2.0_arm64.deb \
      hailo-tappas-core_5.2.0_arm64.deb
    
  8. Re-install rpicam package:

    sudo apt install rpicam-apps-hailo-postprocess
    
  9. Restart: sudo reboot

  10. Verify Installation: hailortcli fw-control identify

  11. Upgrade HailoRT and TAPPAS Python packages in the virtual environment:

    cd hailo-apps
    source setup_env.sh
    ./scripts/hailo_installer_python.sh hailo10h --base-url https://dev-public.hailo.ai/2026_01 --hailort-version 5.2.0 --tappas-core-version 5.2.0
    

    Note, that there is a remaining older global TAPPAS Python package installed by the Raspberry PI AI HAT+2 installation (python3-hailo-tappas). Outside updated virtual environments the TAPPAS Python package will show version 5.1.0.

    (Side note: In hailo-apps there is also an app hailo-install-python-bindings available, but it just calls hailo_installer_python and does not allow to specify the base URL - the packages are not found and installation fails)

    (Side note: The Python packages are also available as downloads from the Developer Zone, but the installer does everything automatically and verifies the installation! If you still want to install the packages by hand:

    cd hailo-apps
    source start_env.sh
    pip install \~/hailo-upg/hailort-5.2.0-cp313-cp313-linux_aarch64..whl
    pip install \~/hailo-upg/hailo_tappas_core_python_binding-5.2.0-py3-none-any.whl
    

    )
    You can check the versions in your virtual environment using: pip list

  12. There is an env file, which - I think - is only written on first installation. We have to update that to reflect the new versions, so that the hailo-apps gets aware of the new version:

    nano /usr/local/hailo/resources/.env
    
    # Change the lines:
    hailort_version=5.1.1 → 5.2.0
    tappas_version=5.1.0 → 5.2.0
    
  13. Exit the virtual environment: deactivate

  14. Done! That was easy, wasn’t it? :joy:

Download models

After all the changes you should be able to download & use models for 5.2.0, e.g. Whisper-Small.

To download/update a single model use this command (the documentation mentiones also a non-existing --model option, use this one instead):

cd hailo-apps
source start_env.sh
# hailo-download-resources --resource-name <model name> --resource-type model --group <app group as given by hailo-download-resources --list>
# e.g.
hailo-download-resources --resource-name Whisper-Small --resource-type model --group whisper_chat

Troubleshooting

From the Hailo installation guides:

Check Python version and architecture:

# Python version major and minor digits
python -V | cut -d. -f1,2 | tr -dc ‘0-9.’ | xargs

# .whl architecture
uname -m

Check firmware & device:

hailortcli fw-control identify
# or hailortcli scan

Additional infos

hailo-h10-all package

The package hailo-h10-all V5.1.1 by the Raspberry foundation references:

  • h10-hailort (>= 5.1.1)
  • hailo-tappas-core (>= 5.1.0)
  • h10-hailort-pcie-driver (>= 5.1.1)
  • rpicam-apps-hailo-postprocess (>= 1.10.0)
  • python3-h10-hailort (>= 4.23.0)
  • python3-hailo-tappas (>= 0:5.1.0)

Note on the HailoRT Python package in the Developer Zone (Downloads):

The V3.13 package is not flagged correctly. If you do not want to use the automatic installer (see above), use the filter AI Software Suite, HailoRT, X86, Linux, relevant Python version (e.g. 3.13)) and then download the _aarch64 whl file

1 Like

Thanks @HerrB92 for sharing with us this guide!

Addendum:

In /usr/local/hailo/resources/.env also change the line:
model_zoo_version=v5.1.1 → v5.2.0

Model download may fail

After the upgrade, some examples (if never started before) may fail, as the related models will not be found (while they are tried to get downloaded), as the web store is version specific.

For example, voice_assistant and simple_whisper_chat use “Whisper-Base” as model, which is only available in the storage for V5.1.1, but not for version 5.2.0.

Note: If the model files itself are really also version specific, I don’t know - they are all loaded into the same local folder. But maybe a “Whisper-Base” model for 5.1.1 cannot be loaded by HailoRT 5.2.0…

One way to get V5.1.1 models

To still download older models, you have to manipulate things:

cd hailo-apps
# if you have already an active venv: deactivate
nano /usr/local/hailo/resources/.env
# Change the line:
hailort_version=5.2.0 → 5.1.1

source start_env.sh

# hailo-download-resources --resource-name <model name> --resource-type model --group <app group as given by hailo-download-resources --list>
# e.g.
hailo-download-resources --resource-name Whisper-Base --resource-type model --group whisper_chat

deactivate

nano /usr/local/hailo/resources/.env
# Change the line:
hailort_version=5.1.1 → 5.2.0

(For the downloads the technically installed HailoRT version is irrelevant - the value from .env is used).

Alternative (for voice_assistant/simple_whisper_chat)

In this particular example, you can also just change the model for e.g. voice_assistant and simple_whisper_chat from Whisper-Base to Whisper-Small:

nano /home/pi/hailo-apps/hailo_apps/config/resources_config.yaml

# Change Whisper-Base to Whisper-Small:
whisper_chat: &whisper_chat_app
  models:
    hailo8:
      default: None
    hailo8l:
      default: None
    hailo10h:
      default:
        - name: Whisper-Small <---- here
          source: gen-ai-mz

# Voice assistant uses whisper for speech recognition and LLM for responses
voice_assistant:
  models:
    hailo8:
      default: None
    hailo8l:
      default: None
    hailo10h:
      default:
        - name: Whisper-Small <---- here
          source: gen-ai-mz
        - name: Qwen2.5-1.5B-Instruct
          source: gen-ai-mz

Regards,
HerrB92