SDK components

The SDK consists of the following components:

  • BRP Communication Library (BRP Lib)
  • Legacy wrapper (for applications using the SDK predecessor "BRPDriver")

Diagram of BALTECH SDK components: BRP Lib, BALTECH API, and BrpDriver

BRP Communication Library (BRP Lib)

BRP Lib is a shared library with C functions that provide an easy-to-use transport layer for BRP commands to BALTECH readers.

It's a dynamic library (i.e. provided as a DLL file) and loaded at runtime. This means:

  • You can use it regardless of your programming language.
  • You can easily upgrade it without touching your executable.

Reference manuals:


BALTECH API is based on BRP Lib and provides wrapper functions in C for all BRP commands, i.e. they save you the work of dealing with command codes, timeouts, and other details.

It's a static library and included in the application during compilation. This means:

  • You can only use it if you develop in C/C++ (C# and Python implementations are planned).
  • To upgrade it, you have to recompile your code.
    This is by intention: In contrary to BRP Lib, this library does not guarantee stable APIs. Although changes don't occur often, they might require you to change your code, e.g. if an API function has been renamed or the signature has changed.

Reference manuals:

Independent upgrades

BRP Lib can be upgraded more easily than BALTECH API. That's why it's possible to upgrade BRP Lib (even at runtime, e.g. in case of a crucial bug), but still use the old statically linked BALTECH API. Thus you might work with two different versions at the same time:
- brp_get_version() for BRP Communication Library
- brp_baltech_api_version() for BALTECH API

Legacy wrapper for BRPDriver.dll

This is a wrapper around brp_lib.dll. You can use it as a drop-in replacement for the SDK's deprecated predecessor 2014_brp_driver_dll in existing projects.

Please don't use the wrapper for new projects or when reworking existing ones.

Learn how to implement the legacy wrapper.