Reads keypad for user input. Holds multiple solutions. Can trigger custom events for each solution.

Full Guides



Hardware Requirements


Keypad Settings


Corresponds to the FX18 that is being used. If there are zero or one FX18 connected, it will be an informational field. If there are multiple, it will be a dropdown allowing you to select between them.

Inactivity Timeout

The amount of time the user has after pressing a key before it automatically fails.

Enable Max Length

If checked, the sequence entered will fail if it becomes longer than the length defined by the next setting.

Max Sequence Length

The maximum length a sequence can be before automatically failing. Only applies if max length is enabled.

Enable key beep sounds

Only appears if an audio board is connected. Enables playing of beep sound through audio board when each key is pressed.

Beep Sound File

Only appears if an audio board is connected. The name of the file on the SD card to play when a key is pressed. Only applies if key beep sounds are enabled.


The fields in this section are set for each individual solution.


The custom name of the solution. Shows on game master screen and applies to network commands.


The actual code of the solution. It is a sequence of up to 16 characters 0-9, #, or * corresponding to the buttons on the keypad. The solution will be solved when the user enters this code on the keypad.


The event that will happen when the particular solution is entered.

Okay Button

Use okay button

If checked, the user must press the configured okay key at the end of the sequence in order for it to be entered.

Okay Key

The key that needs to be entered at the end of the sequence. Only applies if use okay button is enabled.


These settings do not usually need to be changed in order to customize or set up a game, but may be useful to more advanced users. To view these settings, check the enable box and save the settings. After the page refreshes, the advanced settings will be there.

Keypad Rows

The amount of rows to scan for the attached keypad.

Keypad Cols

The amount of columns to scan for the attached keypad.

Keypad Layout

Allows selecting between different keypad layouts with different characters.


Scan time of keypad per row. Must be greater than debounce.


Debounce time time per button. The amount of time in milliseconds that a button must be pressed in order to register. Must be less than scan.

BAC Debounce Count

BAC debouncing in addition to the built in FX18 debouncing.

Game Master


Provides an overview of the different solutions. A solution will only appear here if it has a code set. Each solution will appear in a box with its name and have the following elements:


This box displays the code that needs to be entered for this solution to be solved.

Status Light

This light will change to green when the solution has been solved.

Force Solve Button

Pressing this button will solve the corresponding solution.

Reset Button

Pressing this button will reset the corresponding solution.


This section shows the activity of the keypad, allowing the operator to track the progress of the user or identify issues.

Activity Light

This light will change to green and stay green while a button is being pressed on the keypad. Useful for identifying broken or stuck buttons.

Currently Entered Code

Displays the code as currently entered by the user. Will reset when the code is failed. Useful for identifying if users are struggling with getting the right code.


There are special network commands indicating the solve state of each solution. Whenever a solution is solved or reset, its status is sent out to the network. The channel is "BACName/get/solutionName" where BACName is the name of your BAC and solutionName is the name that has been set for the solution in the configuration. An example of the channel for solution 1 with the default name is "myBAC/get/Solution_1".