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
| Resource | Version or entry point |
|---|---|
| SDK 1.x baseline | 1.5.1 |
| Python package | bc-revo3-sdk==1.5.1 |
| Public examples | release/1.x branch of brainco-revo3-sdk |
| Upgrade to 2.x | Migrate 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:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install bc-revo3-sdk==1.5.1from 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
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.pyRun 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:
cd brainco-revo3-sdk
sh download-lib.sh
make -C c
./c/demo/auto_detectAfter 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:
| Capability | 1.x entry point |
|---|---|
| SDK version | get_sdk_version() |
| Auto-detection | revo3_auto_detect(), init_from_detected() |
| Modbus/RS-485 | modbus_open(), modbus_close() |
| CAN FD | init_socketcan_canfd() or init_zqwl_canfd() |
| Device context | DeviceContext |
| Continuous state and touch collection | DataCollector 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.