Installation
The SENSUS software suite is designed to help you get started with the PULSE sensor. It includes:
- SENSUS SDK: A collection of libraries, tools, and examples for integrating the PULSE sensor into your applications. Includes a simple Python API for interfacing directly with the sensor.
- SENSUS ROS: A native ROS 2 package providing nodes and custom message definitions for integrating the PULSE sensor with other ROS-based systems.
- SENSUS FOXGLOVE: A custom foxglove extension that allows extensive inspection of PULSE sensor data, including raw data, 2D intensity maps and 3D point clouds.
All SENSUS software is distributed as a single downloadable .zip archive on the downloads page. Please download the package appropriate for your system and extract the archive before following the installation steps below.
SENSUS software does not run natively on Windows.
Windows users must run SENSUS inside WSL2 (Ubuntu 22.04 or 24.04).
SENSUS SDK
(sensus-sdk)
- Linux
- macOS
- Windows (WSL2)
Prerequisites:
- Ubuntu 22.04 or 24.04
- Python 3.10 or newer
- sensus-3rdparty (installed first)
The sensus-sdk Python package is bundled in the Python binary distribution format (.whl), which can be installed onto your system using pip.
If this is the first time you are setting up SENSUS software on this computer, complete the device driver setup before using a live PULSE device. This only needs to be done once per system.
Recommended: Install in a Virtual Environment
Using a Python virtual environment is strongly recommended to avoid dependency conflicts and to keep your system Python clean.
Many different virtual environments exist for Python (venv, virtualenv,conda, uv) and they can often be utilised via the CLI or with IDE integrations. This installation will demonstrate installation using venv via the CLI, as this is included in the Python standard installation, but feel free to use your preferred method.
-
Create a project folder and initialise a virtual environment:
mkdir ~/sensus-python && cd ~/sensus-python
python -m venv .venv*(feel free to change the path to your desired location)
-
Activate the virtual environment:
source .venv/bin/activateYou should now see (venv) in your shell prompt.
Installation
-
Navigate to the downloaded
sensus-sdkfolder:cd ~/Downloads/sensus-linux-*/sensus-sdk # your path may vary depending on your system -
Install the Python wheel:
pip install ./sensus_sdk-*.whl*(if you downloaded the CUDA version of SENSUS the CPU version is also bundled into the Python wheel)
Verification (Optional)
-
Run a test function to verify the installation was correct:
python -c "import sensus; sensus.self_test()"Expected output (CPU-only installs will not have the CUDA option available):
Calyo SENSUS self_test()
-----------------------
Package Name: sensus-sdk-cuda
Version: 2.0.1
CPU: ok ✅
CUDA: ok ✅
Copy the sensus-sdk files downloaded from the archive on the Calyo release page.
cd ~/Downloads/sensus-sdk-macos_<YOUR VERSION> # move into the downloaded directory
# copy the formula into the tap
cp ./sensus-sdk.rb "$(brew --repo calyo/local)/Formula"
# copy the compressed package into the tap
cp ./sensus-sdk-*.tar.gz "$(brew --repo calyo/local)/Files"
Now install the package:
brew install calyo/local/sensus-sdk
If you are having issues, you can remove the tap and start again with brew untap calyo/local
SENSUS SDK must be installed and run inside WSL2.
All commands below are executed in an Ubuntu (WSL) shell, not in Windows PowerShell.
WSL2 Setup (Required)
- Install WSL2 and an Ubuntu distribution (22.04 or 24.04):
https://learn.microsoft.com/windows/wsl/install
USB Access for the PULSE Sensor
To access the PULSE sensor from WSL, USB devices must be attached using usbipd-win.
-
Install usbipd-win (PowerShell as Administrator):
winget install --id Microsoft.USBIPD-WIN -
Plug in the PULSE sensor and list devices:
usbipd list -
Bind and attach the device:
usbipd bind --busid <BUSID>
usbipd attach --wsl --busid <BUSID> -
Verify inside WSL:
lsusb
While attached to WSL, the device will not be accessible from Windows applications.
Once the device is visible in WSL, follow the Linux installation steps above inside your Ubuntu (WSL) environment.
SENSUS 3RDPARTY
(sensus-3rdparty)
The sensus-3rdparty package provides the core third-party dependencies required by all SENSUS software components.
It must be installed before installing or using any other SENSUS packages (SDK, ROS).
- Linux
- macOS
- Windows (WSL2)
Download the latest version of the third-party package from the downloads page.
- Unzip the archive (e.g.
sensus-3rdparty-linux_2.5.0_amd64.zip) - Install the .deb file with
dpkg -i ./sensus-3rdparty_2.5.0_amd64.deb
On macOS, the sensus-3rdparty package is created using Homebrew, a common package manager used on macOS.
If you don't already have Homebrew installed please follow the install instructions here before continuing.
If this is the first time you are installing a Calyo package on macOS, you will need to create a brew tap first:
brew tap-new --no-git calyo/local
This will create a local brew repository to store the packages and their updates.
Then we need to copy the sensus-3rdparty files downloaded in the archive from the Calyo release page:
cd ~/Downloads/sensus-3rdparty-macos_<YOUR VERSION> # move into the downloaded directory
# copy the formula into the tap
cp ./sensus3rdparty.rb "$(brew --repo calyo/local)/Formula"
# create the Files folder in the tap (you can skip if you have done this before)
mkdir -p "$(brew --repo calyo/local)/Files"
# copy the compressed package into the tap
cp ./sensus3rdparty-*.tar.gz "$(brew --repo calyo/local)/Files"
Now install the package:
brew install calyo/local/sensus3rdparty
If you are having issues, you can remove the tap and start again with brew untap calyo/local
Install sensus-3rdparty inside WSL by following the Linux instructions above.
SENSUS ROS
(sensus-ros)
- Linux
Prerequisites:
- ROS2 Humble on Ubuntu 22/24
- sensus-3rdparty (installed first)
If this is the first time you are setting up SENSUS software on this computer, complete the device driver setup before using a live PULSE device. This only needs to be done once per system.
-
Navigate to the unzipped install folder and to the folder
sensus-ros -
Install the required dependencies for the package:
sudo apt update && sudo apt install ros-humble-cv-bridge python3-jsonschema python3-yaml*These packages can also be automatically resolved in the installation of sensus-ros.
-
Install the ROS packages as shown below, substituting the version names as needed:
sudo apt install ./ros-humble-calyo-msgs*.deb
sudo apt install ./calyosensus-ros_humble*.debnoteThe CPU and CUDA variations are now bundled into the same package, where CUDA is optionally available at runtime for machines supporting CUDA 12.x
SENSUS FOXGLOVE
(foxgloveCalyoTools)
foxgloveCalyoTools is a custom extension for Foxglove that allows you to visualise data from the PULSE sensor within ROS2 environments. This tool helps you quickly access and interpret sensor outputs, making development and troubleshooting smoother.
To get started with Foxglove Studio and ROS, follow the installation steps below:
Viewer Computer
This is the system you wish to view the sensor data on. It can either be the same computer as your ROS environment or can be installed on a separate system and connected over the network.
-
Install Foxglove Studio from https://foxglove.dev/download.
(The Foxglove web-client is also available but does not support GPU accelerated rendering) -
After installation, please sign in/up to Foxglove and navigate to the Settings > Extensions.
-
Click
Install local extension...and select thefoxgloveCalyoPulseextension from your Calyo Software download folder (e.g.foxgloveCalyoTools-v0.0.7.foxe).
Foxglove extensions terminate with the file extension .foxe.
For more details, visit the SDK Overview and Integrations Overview.