CosmicSDK Documentation

Welcome to the official documentation for CosmicSDK, the native C++ SDK and C API designed to interface with the Binho Supernova and Pulsar USB host adapters and the Binho Atira debug probe.

CosmicSDK provides high-performance, low-level access to the full feature set of Binho devices, enabling developers to integrate, control, and test hardware across multiple communication protocols with ease and precision.

Whether you’re developing custom test automation software, building embedded systems prototypes, or validating device drivers, CosmicSDK offers a clean, extensible, and production-ready interface to accelerate your workflow.

Features

  • Native C++ Integration: High-performance SDK for direct control of Binho USB host adapters.

  • C and C++ APIs: Easily adaptable to any programming language you use.

  • Dynamic and Static Libraries: Choose between dynamic (.dll/.so) and static (.lib/.a) linking options based on your project’s needs.

  • Debug Probe Library: The Atira has its own library, libdebugprobe (debugprobe.dll on Windows) and debugprobe_static, shipped in the same download.

  • Blocking API Functions: All API functions are blocking, ensuring operations complete before proceeding to the next step. Optionally, an asynchronous API is available for non-blocking operations.

  • Callback Mechanism: Register callbacks to handle asynchronous notifications from the host adapters, enabling responsive and event-driven programming.

  • Cross-Platform Support: Compatible with Windows, macOS, and Linux environments.

What You’ll Find Here

This documentation is designed to be your single source of truth for using the CosmicSDK effectively. It includes:

  • Getting Started: Learn how to download, install, and set up the SDK on Windows, macOS, and Linux.

  • API Reference:

    • C API

    • C++ (Async and Blocking) APIs

    • Detailed per-protocol modules: I2C, SPI, I3C, UART, GPIO

    • Debug probe: SPI and the C API

  • Integration Guides: Step-by-step instructions for integrating CosmicSDK with your projects across all major platforms.

  • Examples: Practical code examples to help you get up and running quickly.

  • Language Bindings: Understand how CosmicSDK can be used beyond C and C++, and be integrated into other language platforms such as Python and C#.

  • Changelog & Support: Version history and customer support resources.

About Binho USB Host Adapters

CosmicSDK is built specifically for use with:

  • Binho Pulsar : A versatile USB Host Adapter supporting I2C, SPI, UART, RS-485, CAN-FD, and GPIO interfaces.

  • Binho Supernova : A next-generation USB Host Adapter featuring MIPI I3C support alongside I2C, SPI, UART, and GPIO.

Both devices are ideal for rapid development, hardware validation, and automated testing. For more information, visit binho.io .

Binho Atira Debug Probe

CosmicSDK also drives the Binho Atira debug probe, through the debugprobe::DebugProbe class (include/debugprobe/DebugProbe.hpp) and the DebugProbe_* C API (include/DebugProbe_API_c.h). Programs written for Supernova and Pulsar do not change. The probe needs firmware fw-atira v1.0 or later.

Function

Available

SWD debug on Arm Cortex-M (attach, halt, run, step, registers, memory, hardware breakpoints)

yes

SPI controller and SPI NOR flash (detect, read, erase, program, verify)

yes

Target power (switch the rail, read voltage and current)

yes

Device plane (list probes, firmware version, UART bridge serial port, boot mode)

yes

RTT, SWO, UPDI, JTAG

not in this release

See Getting Started with the Debug Probe for the minimum firmware, host setup, wiring and building against the library.

Examples

Download the C and C++ examples, the debug probe examples and the C#, Python and Java bindings examples as cosmicsdk-examples.zip. The same files are in the examples/ folder of every SDK download. Examples lists them and shows how to build them.

Binho Logo

Let’s get started!

C/C++ API References

Project Information