In this post I will show you how to install the firmware and the configuration software. The configuration software (BeastBox) will be used to configure the behavior of keys, mouse translation parameters and update the device firmware. This software was written using QT Framework so it can be easily compiled to other operating systems. The setup contains a windows version but you can find the source files on GitHub.
The first thing that must be done is setup your STM32F4DISCOVERY in bootloader mode, this is done connecting pins BOOT0 and VDD together. You can use a jumper like figure 1 shows. After that I must connect the board to PC using a Micro-AB usb cable through connector CN5. The board will be recognized by windows as “STM Device in DFU Mode” or “STM32 BOOTLOADER”. Because of portability I used libusb to communicate with device so you must change the default driver from STTub30 to WinUSB(libusb): This can be done using a software called Zadig(http://zadig.akeo.ie/) .
The next step is install the setup program (BBSetup.exe) found at download section. This package contains two programs:
- The GDE (Game definition Editor) that will be basically used to associate actions to PS3/PS4 buttons, for example in CoD game the triangle button is used to change weapon but the same button on Thief game is used to focus. These configurations are used by the other program during the game profile. The file generated by GDE can be shared among the users.
- The BeastBox, is used to create game profiles that is basically a configuration of keys and parameters to translate mouse coordinates to PS3/PS4 analog coordinates. Other functionality of this program is upgrade the device’s firmware.
To install the firmware for the very first time, keep the STM32F4DISCOVERY in bootloader mode and run the BeastBox the figure 3 shows the update screen.
Note: DFU – Device Firmware Update and HID – Human Device Interface.
Load the firmware using Load and update button. how you might imagine the device must pretend to be a dualshock3 controller for PS3, a dualshock4 for PS4 and a BeastBox when connected to PC. This selection could be done using a key, but I do prefer make it using polling system, so the detection is not so immediate.
A more specific and detailed help can be found on BeastBoxHelp-enUS.pdf file located in dowload section. For questions and sugestions, please use the forum and comment section. One last thing, don’t forget to configure maximum sensitivity in game configuration.