Companion / Stream Deck
If you want to use a Stream Deck (Mini, Standard, or XL) to remotely control camera and gimbal settings, trigger presets, and interact with Middle Control, this section will guide you through the process. Middle Control integrates with the Bitfocus Companion ecosystem via the Middle Control Companion plugin.
1. Download and Install Bitfocus Companion
Download the latest version of Bitfocus Companion from the official website.
You could start building your own button layout from scratch, but to speed things up we provide four pre-built Companion pages:
- Gimbal
- Camera (Main)
- Camera (Advanced)
- Presets




2. Install the Companion Custom Pages
2.1 Download the Latest Pages
To use the custom Companion pages, you will need:
- Middle Control version 2.3.0 or later
- Bitfocus Companion version 3.0 or later
- Middle Control Companion module version 3.3 or later — for network discovery and the per-camera Stop Preset action
2.2 Import the Custom Pages into Companion
Import the four .companionconfig files into Companion via the Import / Export tab → Import Configuration. Choose empty destination pages. You can rearrange or delete buttons later as needed.

During import, Companion will detect that these pages require an ATEM instance. Companion will ask whether to create a new ATEM instance or link an existing one.
We recommend linking your existing ATEM instance so your own camera names appear, instead of generic IDs. This also allows you to see which cameras are On Air and In Preview.

3. Configure the Middle Control Instance
Go to the Connections tab. Find Middle Control in the module list, open its settings, and enter the IP address of the computer running Middle Control.
If Middle Control and Companion are running on the same machine, enter:
127.0.0.1 — which is the simplest and recommended workflow.
With module version 3.3 or later, Companion can also discover Middle Control on the network automatically — pick your machine from the detected list instead of typing its IP. Manual IP entry still works for networks without discovery.

4. Press the Buttons!
With Middle Control running, pressing camera selection buttons on your Stream Deck should immediately reflect in Middle Control.
- Long-press Focus / Iris / WB / Tint / ISO buttons for faster adjustments.
- On the Presets page, long-press a preset for 3 seconds to save the current gimbal/camera state into that preset.
- After selecting a camera, you can add an AUX/Output: Set Source action to automatically route that camera to an ATEM AUX output.
- Assign a per-camera Stop Preset action to halt a running preset or automation on that camera only, without affecting the others.
- Control Automations from Companion (module 3.4.0 or later): dedicated actions start and stop Camera Shake, Zoom Loop and Preset Sequences, and select the active Preset Sequence bank (1–7) — each with feedbacks that light the button while an automation runs. See the Automations page.
- You can access the current camera & gimbal values (WB, camera ID, iris, pan/tilt speed, etc.) using Middle Control variables in Companion.
- On Panasonic CX camcorders (AG-CX350 and siblings), use the WB + / − and Shutter + / − buttons: these bodies accept no absolute white balance or shutter value over IP, so the absolute WB and shutter actions have no effect on them. They work with ATEM Link on or off.
5. Variables
Companion's real-time gimbal and camera variables are read from your live cameras — no ATEM required. Connecting an ATEM adds a few switcher-only values (saturation, contrast, black level) and covers SDI-only cameras.
This unlocks powerful automation workflows — the possibilities are wide open!
Here is the full list of available variables:

For a full walkthrough of the Bitfocus Companion integration, watch our complete video tutorial:
https://www.youtube.com/watch?v=2hw2kcGJ4Tg