imperix bbos

Real-time operating system

At the heart of imperix power electronic controllers, the BBOS operating system, takes care of keeping things simple, highly flexible, and entirely secure at all times.

BBOS is in fact a specialized OS (operating system), tailored for supporting hard real-time control processes, as well as their interactions with slower processes.

You are here:

Home | Software | BBOS operating system

Easy programmability for every power converter

Our proprietary operating system – BBOS – has been designed to turn every power converter into an easily programmable, yet reliable system. BBOS is the key to combine high-performance control with accessible interfaces and guarantee the consistency of imperix converter controllers over the long run.

When multiple controllers are used in an interconnected fashion, BBOS is responsible for managing all data exchanges. This way, even the most advanced modular control systems remain very easy to use.

  • Inter-device operability: A user code can be seamlessly loaded onto different hardware platforms. No need to rebuild!
  • Trans-generational compatibility: The code developed today will still be usable in a few years on next-generation hardware devices.
  • Multi devices: Thanks to the rigorous synchronization, the inputs/outputs can be expanded at any time, by connecting more devices together.
  • Security: BBOS continuously checks for configuration errors, overruns, data consistency,… and stops execution in case any problem occurs.

A flexible and open framework

BBOS and its surrounding software have been specifically developed for the stringent and specific constraints of power electronics. From the management of sampling scenarios to that of faults, everything has been made to guarantee that all technical challenges are addressed appropriately. Furthermore, BBOS has been designed such that various profiles of users can find their marks.

Beginners, like students, can start working without taking care of the system configuration. Commonly used parameters are applied by default. This way, standard applications can be set up very quickly and without extensive technical knowledge.

Experts, who are able to tune specific parameters can do so very easily. In this respect, many are surprised to see how flexible the system becomes. Almost every setting can be changed so that a broad range of applications can be covered very rapidly and without effort. Furthermore, for the rare cases that require special functions that aren’t built-in, the possibility to edit the FPGA firmware opens a virtually unlimited range of possibilities.

Advanced built-in capabilities

Thanks to BBOS, imperix controllers can readily cover a broad range of requirements, being simultaneously easy to use and vastly configurable.

  • Rigorous clocking: Our patent-pending technology makes I/Os and as well as the sampling time-coherent, even across devices. Time resolution is small as 4ns!
  • Multi-rate support: Tasks with different priorities and execution periods can be configured, hence enabling the execution of complex control implementations.
  • Variable-frequency and phase support: Switching frequencies and carrier phases can be updated periodically, typically for use with resonant converters.
  • Configurable over-sampling: Get more than one sample per period, to get more details on the sensed waveforms, or to smoothly control interleaved converters.
  • Protection management: Key execution parameters are continuously monitored. Faults automatically trigger a safe shutdown in order to avoid damage.
  • Simple debugging / monitoring: Every user-defined variable can be effortlessly brought back to the Imperix Cockpit software, hence allowing easy debugging.
FPGA-based capability extension

In case a special feature would be missing, user can easily develop and implement additional IP blocks and peripheral drivers.

  • Simple data transfers: Data exchange between the processor and the FPGA is made simple and flexible by using shared registers.
  • Transparent network support: BBOS and the FPGA-based peripherals are automatically handling the master-slave data transfers, with a predictable latency.
  • Unlimited expandability: Custom FPGA implementations can access almost every I/O, hence conveniently interfacing with 3rd party hardware.



BBOS associated with fully FPGA-based peripherals are forming a strong hardware abstraction layer.

As such, any control code is guaranteed to keep working across future generations of hardware, facilitating maintenance and upgrade, while benefiting from technology advances brought by up-to-date technologies.


Similarly, both imperix power electronic controllers are fully cross-compatible, although the underlying hardware differs.

This allows users to switch over very easily from one controller to the other.
Moreover, the cross-compatibility can be extended to almost any custom-built control hardware that is running BBOS.

A specialized architecture for power electronics

The software implementation used for BBOS is strongly layered. Therefore, the programmer has no need to fully understand the operation of the underlying hardware; the focus can be set on the application and its control only.

Software abstraction layers

The user-level application is the free space where the user programs its control algorithm, either with our CPP or ACG SDKs. Thanks to our extensive function libraries, the programming tasks are within reach for everyone. 

The interrupts management is the time keeper of BBOS. It makes sure that the desired execution periods are guaranteed – and not excessed! It also schedules tasks with lower priority, like supervisory controllers.

The hardware abstraction layer takes care of the hardware management (eg. interface to the FPGA-based IP)  as well as hangling all data exchange with the outside world (e.g. for monitoring, CAN, Ethernet,…).

Strict management of priorities

As numerous power converter control applications require multiple sampling, control and other interrupt rates, a careful management of priorities is enforced.

This guarantees that time-critical control tasks are never impacted by secondary routines and supervisory functions.

Integrated supervision

The imperix operating system is tightly coupled with the second processing core, which is hosting most supervisory mechanisms as well as communication with the host computer.

This way, numerous processes can be shited to the second core, leaving a large headroom for power electronic-related processing duties.

Key benefits for power converter control applications

The choice to develop our own OS has been made with performance considerations in mind. Thus, BBOS as been organized so that it runs as fast as possible on a given processor, while keeping it within reach of every developer.


Before each release, our software is thoroughly tested with real converters. Furthermore, thanks to the hardware protections of the B-Box, BBOS also makes sure that everything runs smoothly, and raises errors otherwise.


Developers can always extend the functionalities of a given hardware setup. For example, expanding I/Os is simple thanks to our RealSync communication technology. Also, FPGA can be easily edited to add specific IPs.

One API for Multiple workflows

With performance and flexibility in mind, BBOS can be directly interfaced with C++ code using CPP SDK. Alternatively, the ACG SDK provides a convenient interface to visual programming from within mainstream development software.


The C++ Software Development Kit (SDK) supports the direct implementation and validation of converter control techniques using C/C++ code.

Users have direct access to the API provided by BBOS. This allows to easily manage and control all FPGA-based peripherals.


The Simulink blockset enables easy coding of imperix controllers from the widely spread and versatile Simulink environment.

The blockset takes advantage of both the simulation and code generation engines of Simulink to offer ultra-fast development of control algorithms.


Similarly to Simulink blockset, this blockset takes advantage of the well-known, power electronics focused, PLECS simulation software.

In all versions of PLECS simulation software, imperix controllers can be coded from within the same tool that is reknown for its accurate modeling of power electronics.

Related products

Want to know more?

For all questions related to our software, feel free to get in touch with our technical team. We're here to help! Online demos can also be organized upon request.

Alternatively, you can always download and install the software. As our licenses are hardware-related, our software is essentially unrestricted and all features can be tested free of charge.