Our “Bad ASS Controller” (BAC) is an end user configurable entertainment industry controller consisting of 3 main functional components; the BAC hardware, the firmware (internal to BAC) and the Bad ASS Manager (BAM) software. To communicate between the BAC hardware and BAM software, an end user provided Ethernet network is required. Knowing what each component does and how they interoperate is the secret to mastering your BAC with the least amount of effort.
The BAC hardware is the board itself; usually presented in a case. While the board has many components and does many things, primarily you’ll physically connect your inputs and outputs via 18-22ga wire to its onboard terminal pins. The firmware is the internal program that is stored in memory and runs on the BAC’s processor. The firmware gives the BAC its “personality”, ie simon game, room controller or a custom prop, etc. The BAM is our web based, graphical user interface. The BAM basically provides 3 functions, information, setup options and monitoring. Finally, the network connects the BAM and BAC for end user setups and monitoring purposes. With these components combined, our controller becomes, well, bad ass!
The hardware is where the physical connection is made, wiring your inputs and outputs (I/O) to the board. The inputs and outputs are divided into three blocks of connections. Each block uses a removable “header” where the wires connect to a numbered pin; the header then plugs into the board. The three blocks are split into one block of inputs and two blocks of outputs. The two output blocks are further divided into a relay and non relay bank. The relay block has two 10A relays built in for higher voltage type outputs such as large Maglocks while the other bank has six 500mA outputs that only handle devices that require less voltage such as LED lighting.
Important I/O concepts
Attaching inputs and outputs to the pins on the board is only the first step to getting the BAC to function as intended. After making the physical connections, the “Bad ASS Manager” defines and assigns the I/O functionality to each pin.
The BAC uses voltage change to identify or “trigger” an event. Therefore adding voltage to an input when there is none or similarly removing voltage that already exists changes the input state and can be used to trigger an event. We call this going high or going low. When voltage is added the pin goes high and when voltage is removed the pin goes low.
The BAC can handle both normally open and closed input switch type. Think normally open, auto ignition switch (turn the key, contact is made closing the switch) or normally closed, window alarm contact switch (open the window, contact is broken opening the switch). Regardless of switch type used, the “trigger on” in the BAM event screen is where you configure the switch type for your input. Configure it “High” for a normally open switch and “Low” for a normally closed switch.
In most instances you’ll be adding power to your 12v output device’s hot (+) lead via the (+) pin of the BAC. Connect the other side to whichever output pin you want to turn on. When your output is triggered, the output pin will make a ground (-) connection and the device will power up and engage. Turn off the output pin and the device will loose ground and disengage turning off. Our outputs pins are normally configured as grounds but can be configured to be hot as well.
The Firmware, our BAC’s Personality
The firmware is what gives the BAC the flexibility to control a prop, a game or even a room; it gives the BAC “personality”,. This personality or ability to manage specific hardware configured for escape rooms (or any type of entertainment endevor) is the driving concept behind BAC. The end user chooses one of the pre-installed “personalities” from the firmware which includes several games/puzzles and the general room controller function through the “easy to use” BAM interface. The firmware is an interchangeable program that can be modified, updated or replaced with a completely different custom version as required with no end user technical knowledge.
The “Bad ASS Manager” is the web based, graphical user interface compliment to the BAC hardware. The BAM is an MS Windows EXE file that will open in the default web browser. We require that it be run on Google’s Chrome web browser over a “wired” ethernet network including a router for the BAC (IP) addressing. The BAC and BAM must be on the same network segment for them to communicate. The menu driven, easy to use interface provides 3 functions; configuration, monitoring and information.
The most significant of these functions is the configuration option. The configuration option starts in the broadest of terms, first selecting a BAC “personality” from the pre-installed firmware, this will define your BAC main function, ie room controller, simon puzzle, valve game, prop controller, etc. After you’ve chosen the BAC’s personality, it's time to get more granular. Often the inputs and outputs that you physically attached to the hardware are given their functional characteristics through the “Input Events” sub menu. Inputs are defined by how they are triggered, outputs by their intended actions. The “Main Events” main menu contains options that manage broader BAC functionality such as “Reset Event” to restart the puzzle or “Solve State” which gives the option to perform an action when the puzzle has been solved.
In cases where a puzzle/game personality is chosen, a set of dynamic parameters pertaining to that specific game will also need to be configured in the “Game” menu as well.
Note: The network and BAM are required to communicate with the BAC for configuration purposes. Once the configuration has been saved, the BAC will retain its personality and specific setup characteristics. The network and BAM are no longer required.
The Monitoring (Game) screen is dynamic and will differ slightly depending on which personality is chosen In the “selected Game” dropdown box in the “General” menu during the initial BAC setup. In general, the BAM monitors and can even override the BAC’s I/O if necessary. These capabilities are only available if you maintain a continual ethernet network connection between the BAC and BAM after the configuration, it is a real time connection.
The informational function provides specific information regarding the BAC and BAM such as version information, network addresses, attached hardware, naming conventions, etc.