Skip to content

Installation and environment ​

This page applies to Revo 3 SDK 2.1.2. 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.1.2 adds single-command control, slave-ID changes and firmware transfer progress. 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; release wheels use manylinux_2_34
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.0 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 3fcf173ac8e0c020ba9cc48f4a74c7459d074a93
bash
git clone git@github.com:BrainCoTech/brainco-revo3-sdk.git
cd brainco-revo3-sdk
git checkout 3fcf173ac8e0c020ba9cc48f4a74c7459d074a93

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.1.2"

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.1.2-cp310-abi3-manylinux_2_34_x86_64.whl
Ubuntu/Linux aarch64bc_revo3_sdk-2.1.2-cp310-abi3-manylinux_2_34_aarch64.whl
macOS Apple Siliconbc_revo3_sdk-2.1.2-cp310-abi3-macosx_11_0_arm64.whl
Windows x86_64bc_revo3_sdk-2.1.2-cp310-abi3-win_amd64.whl

Install the downloaded wheel and verify its version:

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

The output must be 2.1.2. 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.1.2,<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
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