Skip to content

Revo 3 SDK 1.x

Revo 3 SDK 1.x is for existing applications that still use module-level functions and DeviceContext. This guide uses SDK 1.5.1, matching the public example repository's release/1.x branch. New applications should use SDK 2.x. Read Migrate from 1.x to 2.x before upgrading an existing application.

bc-revo3-sdk is the Python distribution name, not a public source repository. The public repository contains examples only and does not contain the SDK core implementation.

The 1.5.1 number on this page is a Revo 3 SDK version. It is unrelated to the Revo 1 Basic and Revo 1 Advanced product names.

Versions and public resources

ResourceVersion or entry point
SDK 1.x baseline1.5.1
Python packagebc-revo3-sdk==1.5.1
Public examplesrelease/1.x branch of brainco-revo3-sdk
Upgrade to 2.xMigrate from 1.x to 2.x

Pin the SDK package version in the application dependency file. The release/1.x branch can move; pin an example commit or tag when the build must be reproducible.

Python installation

The wheels use the stable ABI for Python 3.9 and later. Version 1.5.1 provides packages for:

  • macOS arm64 (macOS 11 or later)
  • Linux x86_64 (manylinux 2.31)
  • Linux aarch64 (manylinux 2.31)
  • Windows x86_64

Install in a virtual environment and verify the version that is actually loaded:

bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install bc-revo3-sdk==1.5.1
python
from bc_revo3_sdk import main_mod as sdk

print(sdk.get_sdk_version())

On Windows, activate the environment with .venv\Scripts\activate.

Run the public examples

bash
git clone --branch release/1.x https://github.com/BrainCoTech/brainco-revo3-sdk.git
cd brainco-revo3-sdk/python
uv sync
uv run python revo3/auto_detect.py

Run revo3/auto_detect.py first to verify the port, protocol, and device identity. Motion examples such as revo3/hand_demo.py and revo3/hand_trajectory.py control real hardware; confirm the emergency stop, mechanical limits, and clear operating space before running them.

The public examples also include firmware update and GUI demonstrations. Use only official firmware that matches the device model, with stable communication and power throughout an update.

C/C++ examples

The public repository provides 1.x C/C++ examples and a script that downloads the prebuilt library for the current platform:

bash
cd brainco-revo3-sdk
sh download-lib.sh
make -C c
./c/demo/auto_detect

After read-only discovery succeeds, run hand_demo, hand_trajectory, or hand_dfu only as needed. Headers and dynamic libraries must come from the same SDK version and must not be mixed with 2.x files.

Find 1.x APIs

The 1.x Python API centers on DeviceContext and module-level functions:

Capability1.x entry point
SDK versionget_sdk_version()
Auto-detectionrevo3_auto_detect(), init_from_detected()
Modbus/RS-485modbus_open(), modbus_close()
CAN FDinit_socketcan_canfd() or init_zqwl_canfd()
Device contextDeviceContext
Continuous state and touch collectionDataCollector and state/touch buffers

Use bc_revo3_sdk/main_mod.pyi in the installed package as the version-matched reference for exact Python signatures, enums, and return types. For C/C++, use revo3-sdk.h from the same distribution. This site does not duplicate the complete 1.x API reference because a copied reference can drift from the installed binary version.

The 1.x and 2.x object models, asynchronous interfaces, and ABIs are incompatible. An upgrade requires more than replacing the dynamic library or Python wheel: update the calls and revalidate connection, motion, touch, error recovery, and resource cleanup.

Help