flash force Wiki
Interactive browser →
Wiki / Other software
#tool#ble#gamepad

BrickController2

BrickController2 (imurvai, open source, .NET MAUI) is a phone app that points a game controller at LEGO and third-party hubs over Bluetooth, and it covers more makes of hub than anything else here.

Its source is the fullest public collection of hub Bluetooth protocols anywhere.

Hubs it drives

Key finding: no hub uses auth/handshake — connect, discover, write. A re-implementation on the bridge therefore needs no key exchange and no pairing step.

Mapping architecture

Creation → ControllerProfile → ControllerEvent → ControllerAction. Each input can map to many device channels; contributions on one channel are summed and clamped; per-action deadzone / active-zone / curve (linear·expo·log) / invert / max-output. Inputs and per-hub BLE writes are decoupled (one send-loop per hub), so several hubs run at once. This is the model reused in the bridge.

Upstream is abandoned — use the forks

imurvai/brickcontroller2 has had no commits since 14 June 2024 (master since 11 June). Live development moved to vicocz/brickcontroller2 (default branch literally named default) and J0EK3R/brickcontroller2, both active through July–August 2026.

The forks double the hardware listDeviceType.cs grows from 12 entries to 24, adding TechnicMove, PfxBrick, CaDA_RaceCar, SBrickLight, RemoteControl, the Mould King MK3_8/MK4/MK5/MK6/MK_DIY series and JieStar SCM4/SCM8.

Read the fork sources rather than the 3.4 APK. That build is the last upstream one and predates three whole device families. See Clone hubs (Mould King · CaDA · JieStar) for the BLE-advertising class the forks introduced, which needs the controller to act as an advertiser, not a GATT central — a role no design in this vault currently has.