Driver Details

Bose ControlSpace

Updated: Dec. 4, 2014
Version: 1.2


This driver controls the Bose ControlSpace commerical DSP audio system.

PLEASE NOTE: This driver requires advanced knowledge of the Bose ControlSpace installation and setup procedures.

Version History:

Version 1.1: adds Dynamic Naming and Configuration.

Version 1.2: adds support for the PowerMatch Amplifiers, adds raw command support and bug fixes


Bose ControlSpace Audio Processor

XP Version

>> If you don't get feedback, make sure the module name begins with # <<

This driver controls the Bose ControlSpace audio system over RS-232 or ethernet. The serial port requires a crossover, or null modem, adapter if using the RTI RJ-232 adapter. The ethernet connection is considerably faster, particularly at startup.

It was built and tested using a Bose ESP-88 with ControlSpace Designer 2.2 Software. Version 1.2 was built using the 4.0 of the protocol and ControlSpace Designer 4.10

Revision History
The Initial release of the driver
Adds dynamic naming and reconfiguration
1.11 Adds Selector 16 back in
1.2 Adds separate Input and Output modules that correctly control the PowerMatch amplifiers, adds Raw String command

Supported modules

The 1.0 version of the driver supports the following modules:




Tone Control



Standard Mixer

Matrix Mixer

Source Selector


On startup and when first connecting to the system the driver uses the module maps to determine which modules to request display data from. The amount of time this takes varies with the number and type of modules in the systems. Mixers, particularily the Matrix Mixer have a large number of variables and increase the time rquired at start up. If the driver loses it's connection to the system it will reinitialize the variables when it reconnects.

Two variables are available to track the startup of the driver. These are most important when first setting up and testing the system and can be left off the final installed file. The Connection State variable has 4 possible settings that it advances through as it establishes it's set up: Startup, Initializing, Connected (Which starts the Index requests) and Disconnected.

The second is Indexes to initialize, a count of module parameters. It should count down to zero. You will see a huge number of indexes if you use routers or mixers as the driver doesn't know, until it does the initialization, how big the module is so it plans to get all possible indexes, which could be several hundred for a mixer (a 24x24 mixer has 576 crosspoints). As it counts through it may find out the a module only has a few crosspoint so it could skip hundreds of indexes.

Module Name Mapping

All modules must have a name, and if you want feedback, the name must begin with a pound sign. In the driver the variables are numbered so the Module Names section of the XP-8 driver tab allows the module names to be mapped to variable numbers. As an example, the sample file assigns the level of the gain module named "#7-8 iPOD" to Gain Module 4 - Level). V1.1 - Variables will now show the name given to the module in configuration.

VERY IMPORTANT - Delay modules have a setting in the configuration for the number of taps. You MUST enter the correct number here to prevent a lockup of the ESP-88

Matrix Mixer Crosspoint Numbering

Matrix Mixer Modules use consecutive numbers rather than the input vs output method the standard mixers use. The consequence is that the numbering changes based on the size of the matrix. Input 2 to Output 3 is crosspoint 10 of a 4x4 matrix but crosspoint 34 of a 16x16 matrix. Becasue the driver doesn't know the size of the matrix you must calculate the actual crosspoint number when using the commands and variables

The PowerMatch amplifier has a single matric switcher that cannot be renamed. You can control it by entering it's name (Mstrix 1) into the configuration but, becasue it's fixed name does not start with a '#' you will not get feedback from it