Simulation Framework

Block diagram

ControlDeck architecture diagram

Sophisticated simulations at your fingertips! The cross-platform DSim and ControlDeck frameworks provide a customizable solution for modeling your system and implementing the control software. Xcode and Cygwin project files are included but you may use any IDE! Add our Spacecraft Models  package and our Spacecraft ControlDeck for a complete spacecraft solution.


The DSim framework allows you to write your own C++ models and integrators and connect them in a multi-object simulation of arbitrary complexity. Each component can have its own dynamical states and can expose data to other models in several ways. When you need closed loop control of your simulation, our ControlDeck framework is ready with easy variable mapping.

Control Systems

ControlDeck is based on a set of asynchronous modules that communicate through a robust messaging architecture. This provides tremendous flexibility when implementing complex multi-rate control systems. Modules can run off timers, based on events, or using background threads.

It’s easy to use ControlDeck with hardware in the loop. We’ve used it with Phidgets USB components including motors, temperature sensors and PH sensors. We’ve also used it with Saitek flight simulator controllers, Labjack I/O Boards and other hardware.


DSim, ControlDeck and MatrixLib are cross-platform libraries and can be used on Mac, UNIX, or Windows OS.


VisualCommander for Mac OS X provides a complete visualization and graphical user interface to the simulation frameworks. Access all of your simulation and control telemetry in a hierarchical tree, and assemble interfaces using drag and drop. VC also includes our DSimManager application for building DSim setup files.


Please use your corporate or university email address. You must include a complete mailing address if you would like a response to your inquiry. This includes institution, street address, city, mailing code and country. You should check our distributors page to contact your local distributor directly.