Skip to content

Installation and environment ​

This page applies to Revo 3 SDK 2.3.0. Public source examples are available only from brainco-revo3-sdk; bc-revo3-sdk is the installable Python wheel distribution name, not a public source repository.

2.3.0 adds explicit whole-hand mode access on supporting firmware and preserves existing MIT command APIs. On older firmware, use existing controls without the new mode APIs; see the whole-hand mode guide. Tactile layout behavior and Linux glibc 2.31 support remain as in 2.2.1. The commands below pin the matching example commit to avoid mixing versions when the main branch advances.

Supported environment ​

Languages and toolchains ​

LanguageRequirement
Python3.10 or later; release wheels use cp310-abi3
C++C++17 or later compiler

Operating systems and architectures ​

PlatformRequirement
Linuxx86_64 or aarch64; glibc 2.31 or later (such as Ubuntu 20.04); release wheels use manylinux_2_31
macOSApple Silicon arm64; Intel x86_64 is best-effort compatibility and is not part of formal validation
WindowsWindows 10/11 x86_64

Obtain SDK & Examples ​

Obtain the Revo 3 SDK v2.x package (Python wheel, C/C++ headers, dynamic libraries, and bundled examples) through official BrainCo release channels.

To browse 2.x code examples and standalone utilities online, visit the public brainco-revo3-sdk example repository.

Clone the stable examples:

bash
git clone https://github.com/BrainCoTech/brainco-revo3-sdk.git
cd brainco-revo3-sdk
git checkout cbf39e7c795421cb81d5a75c7dd8db5b9fa434e4
bash
git clone git@github.com:BrainCoTech/brainco-revo3-sdk.git
cd brainco-revo3-sdk
git checkout cbf39e7c795421cb81d5a75c7dd8db5b9fa434e4

Version Compatibility

Revo 3 SDK v2.x introduces a redesigned architecture and object model and is not backward-compatible with v1.x. Use the stable example repository or the version-matched examples included with the SDK package.

Install the Python SDK ​

Create an isolated Python 3.10 or later environment:

bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
powershell
py -3.10 -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip

Install the stable package from PyPI:

bash
python -m pip install "bc-revo3-sdk==2.3.0"

You can also obtain the wheel matching the operating system and architecture through a BrainCo release channel:

PlatformWheel filename
Ubuntu/Linux x86_64bc_revo3_sdk-2.3.0-cp310-abi3-manylinux_2_31_x86_64.whl
Ubuntu/Linux aarch64bc_revo3_sdk-2.3.0-cp310-abi3-manylinux_2_31_aarch64.whl
macOS Apple Siliconbc_revo3_sdk-2.3.0-cp310-abi3-macosx_11_0_arm64.whl
Windows x86_64bc_revo3_sdk-2.3.0-cp310-abi3-win_amd64.whl

Install the downloaded wheel and verify its version:

bash
python -m pip install ./bc_revo3_sdk-2.3.0-cp310-abi3-*.whl
python -c "from bc_revo3_sdk import main_mod as sdk; print(sdk.get_sdk_version())"

The output must be 2.3.0. Do not mix headers, shared libraries, Python wheels, or examples from different SDK versions.

From the public example repository root, install the Python example dependencies:

bash
python -m pip install ./python
# Optional GUI dependencies
python -m pip install "./python[gui]"

python/pyproject.toml constrains bc-revo3-sdk>=2.3.0,<3 and installs the example dependencies. GUI dependencies require the gui extra. Applications that use only the SDK do not need these additional packages.

Prepare C/C++ ​

C/C++ applications require public headers and shared libraries from the same versioned SDK package. Download the SDK and build the examples from the public repository root:

bash
bash download-lib.sh
make -C c

Linux downloads default to portable packages containing libusb and libudev. These third-party runtime libraries are also available through system package managers. Environments with compatible system libraries can select a system package that omits the bundled copies:

bash
# Debian / Ubuntu
sudo apt-get install libusb-1.0-0 libudev1
bash download-lib.sh --system-deps
make -C c

The download script checks dynamic dependencies first. Missing dependencies stop installation and preserve the existing installation; the script does not install or overwrite system libraries. Both modes preserve SDK and third-party licenses. This option affects only C/C++ distribution and does not change Python wheel dependency packaging.

FilePurpose
dist/include/revo3-sdk.hC11-compatible C ABI
dist/include/revo3/revo3.hppC++17 RAII wrapper

Include revo3/revo3.hpp and use revo3::Manager in C++. Use revo3-sdk.h for pure C and foreign-language bindings. Do not mix headers, libraries, or Python packages from different SDK versions.

Linux device permissions ​

Serial ports commonly require membership in the dialout group:

bash
sudo usermod -a -G dialout "$USER"

Log in again, then check id and the target device node. CAN devices also require the driver and network-interface configuration for the selected adapter.

Continue with the Quick Start. The default quickstart reads device and health state and sends no motion commands.

Help