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
| Language | Requirement |
|---|---|
| Python | 3.10 or later; release wheels use cp310-abi3 |
| C++ | C++17 or later compiler |
Operating systems and architectures
| Platform | Requirement |
|---|---|
| Linux | x86_64 or aarch64; glibc 2.31 or later (such as Ubuntu 20.04); release wheels use manylinux_2_31 |
| macOS | Apple Silicon arm64; Intel x86_64 is best-effort compatibility and is not part of formal validation |
| Windows | Windows 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:
git clone https://github.com/BrainCoTech/brainco-revo3-sdk.git
cd brainco-revo3-sdk
git checkout cbf39e7c795421cb81d5a75c7dd8db5b9fa434e4git clone git@github.com:BrainCoTech/brainco-revo3-sdk.git
cd brainco-revo3-sdk
git checkout cbf39e7c795421cb81d5a75c7dd8db5b9fa434e4Version 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:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pippy -3.10 -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pipInstall the stable package from PyPI:
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:
| Platform | Wheel filename |
|---|---|
| Ubuntu/Linux x86_64 | bc_revo3_sdk-2.3.0-cp310-abi3-manylinux_2_31_x86_64.whl |
| Ubuntu/Linux aarch64 | bc_revo3_sdk-2.3.0-cp310-abi3-manylinux_2_31_aarch64.whl |
| macOS Apple Silicon | bc_revo3_sdk-2.3.0-cp310-abi3-macosx_11_0_arm64.whl |
| Windows x86_64 | bc_revo3_sdk-2.3.0-cp310-abi3-win_amd64.whl |
Install the downloaded wheel and verify its version:
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:
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 download-lib.sh
make -C cLinux 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:
# Debian / Ubuntu
sudo apt-get install libusb-1.0-0 libudev1
bash download-lib.sh --system-deps
make -C cThe 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.
| File | Purpose |
|---|---|
dist/include/revo3-sdk.h | C11-compatible C ABI |
dist/include/revo3/revo3.hpp | C++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:
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.