brainstem
Acroname BrainStem Software Control Package
What it is and what it does
BrainStem is a Python library that exposes control APIs for Acroname's embedded hardware modules—USB hubs, Ethernet bridges, relay controllers, DAQ devices, and similar peripherals. It wraps the underlying BrainStem2 C library (via cffi) to let developers discover connected devices, establish connections, and send commands to read sensors, control outputs, and manage device state from Python code.
The library supports both Python 2.7 and Python 3.6+, ships as a pure-Python wheel with minimal dependencies (cffi and pycparser), and is actively maintained. Typical workflows involve discovering devices on the USB or Ethernet bus, connecting to a specific module by type, and then calling methods on that module's subsystems (e.g., `stem.system.setLED()`, `stem.system.getModel()`) to interact with hardware. The package includes example scripts for common devices and is designed for embedded automation, test infrastructure, and hardware integration tasks.
Use it for:
- Automate USB hub port switching and power control in test labs or CI/CD environments
- Build Python scripts to monitor and log sensor data from BrainStem DAQ modules in real-time
- Control relay modules and digital I/O from a central Python application for hardware sequencing
- Discover and enumerate all connected BrainStem devices on a network and manage them programmatically
- Integrate Acroname hardware into Python-based embedded systems or robotics projects
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to control and interact with Acroname BrainStem hardware devices (USB hubs, relays, DAQ modules, and other embedded controllers) over USB or Ethernet connections.
Yes, if you own or plan to use Acroname BrainStem hardware and need Python control. Install friction is low, maintenance is active, and no known vulnerabilities exist. The proprietary license restricts redistribution and modification but poses no barrier to internal use. Not relevant for general-purpose Python development.
Install
brainstem on PyPI
pip
pip install brainstemuv
uv add brainstempoetry
poetry add brainstemInstalling brainstem
Before you install
Low install friction; pure-Python wheel with only cffi and pycparser as runtime dependencies. Last release 38 days ago indicates active maintenance.
License in practice
Licensed under a proprietary agreement that restricts modification, reverse engineering, and redistribution. Use is limited to internal business purposes; commercial or redistributive deployment requires explicit written permission from Acroname.
Quickstart
pip install brainstem
import brainstem
spec = brainstem.discover.findFirstModule(brainstem.link.Spec.USB)
stem = brainstem.stem.USBStem()
stem.connectFromSpec(spec)
result = stem.system.getModel()
print(brainstem.defs.model_info(result.value))
Requires a physical BrainStem device connected via USB or Ethernet; libffi system library may need separate installation on Linux systems
Verify before relying
- Whether libffi system library is pre-installed on target deployment platforms or must be installed separately
- Compatibility with Python versions beyond 2.7 and 3.6+ stated in the description
Package facts
| License | # Brainstem SDK Software Package License Agreement: PLEASE READ THIS SOFTWARE LICENSE AGREEMENT CAREFULLY BEFORE DOWNLOADING OR USING THE SOFTWARE. BY USING THE SOFTWARE, OR USING EQUIPMENT THAT… (full text in the JSON record) (unclear) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — cffi, pycparser |
| Maintenance | actively maintained — 38 days since the last release |
| First released | |
| Downloads | 719,860/month — #5,237 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: brainstem-2.12.5-py2.py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
binho-host-adapterControls Binho Multi-Protocol USB Host Adapters…
permissive · top 15,000 on PyPI
hidProvides Python bindings to the hidapi library…
permissive · top 15,000 on PyPI
pyusbPyUSB provides Python access to USB devices on…
permissive · top 5,000 on PyPI
crownstone-uartPython library for controlling Crownstone smart…
unclear · top 15,000 on PyPI
usb-devicesMaps, describes, and resets USB devices on a…
permissive · top 15,000 on PyPI
phidget22Phidget22 is the official Python library for…
permissive · top 15,000 on PyPI
adb-shellImplements ADB (Android Debug Bridge) shell and…
permissive · top 15,000 on PyPI
isystem.connectProvides Python bindings to control winIDEA and…
unclear · top 15,000 on PyPI
stemStem is a Python controller library for…
copyleft · top 15,000 on PyPI
python-smarttubProvides an async API and CLI to query and…
permissive · top 15,000 on PyPI