← Micromixer home

Set up Micromixer Bridge.

The optional collector keeps the ATEM’s control connection on its own network. Your iPhone reaches the bridge through an encrypted connection over your VPN.

Download Bridge ZIP Release details & checksum

This is a setup bundle, not a one-click installer. It includes the bridge, Windows startup installer and tray companion. You supply a computer, your own LAN/VPN configuration and Node.js. SRT video and media-device controls connect separately.

What you need

The bridge accepts TCP on port 9911 by default. Allow it only from your intended private LAN/VPN addresses. Do not forward port 9911 or ATEM UDP port 9910 to the public internet.

1. Prepare the folder

Extract the ZIP into a private folder under your own user account. Keep it out of shared or cloud-synced folders. Right-click the extracted folder and open PowerShell there. Check the published SHA-256 checksum if needed.

node --version
npm.cmd ci --omit=dev --ignore-scripts

Wait for dependency installation to finish successfully before continuing. The ZIP does not bundle Node.js or dependencies; npm retrieves the versions pinned in its lockfile.

2. Create a dedicated certificate

Use the OpenSSL included with a standard Git for Windows installation, or adjust the first line to your existing OpenSSL executable. Run this once in a fresh extracted folder; do not replace an existing bridge’s certificate during an upgrade.

$openssl = "$env:ProgramFiles\Git\usr\bin\openssl.exe"
& $openssl req -x509 -newkey rsa:2048 -sha256 -nodes `
  -keyout key.pem -out cert.pem -days 365 `
  -subj "/CN=Micromixer Bridge"
if ($LASTEXITCODE -ne 0) { throw "Certificate creation failed" }

The private key stays on your computer. The phone pins the certificate’s SHA-256 fingerprint. Keep track of the certificate’s expiry; replacing it requires updating the fingerprint on each phone.

3. Configure your connection

The example configuration deliberately contains placeholders. This block asks for your own addresses and creates a fresh random access key. Enter only the LAN/VPN subnet ranges or individual phone addresses you actually need to permit, separated by commas.

$ErrorActionPreference = 'Stop'
$config = Get-Content .\config.example.json -Raw | ConvertFrom-Json
$config.atemHost = (Read-Host 'ATEM IPv4 address').Trim()
$config.listenHost = (Read-Host 'This computer private IPv4 address').Trim()
$ranges = Read-Host 'Allowed LAN/VPN CIDRs or phone IPs, comma-separated'
$config.allowedRemoteAddresses = @($ranges.Split(',') | ForEach-Object { $_.Trim() })
$config.deploymentHost = $env:COMPUTERNAME
$config.token = node -e "process.stdout.write(require('node:crypto').randomBytes(32).toString('hex'))"
if ($LASTEXITCODE -ne 0 -or $config.token -notmatch '^[a-f0-9]{64}$') {
  throw 'Access key generation failed'
}
if (Test-Path .\config.json) { throw 'config.json already exists; preserve it' }
[IO.File]::WriteAllText((Join-Path $PWD 'config.json'),
  ($config | ConvertTo-Json -Depth 4), (New-Object Text.UTF8Encoding $false))

Review config.json locally before installation. listenHost must be an address assigned to this computer, not the ATEM address. deploymentHost prevents accidental installation on a different computer. Never share the file: its access key authorizes ATEM control.

4. Install on Windows

Open PowerShell as administrator using the same account, change to the extracted folder, then run:

powershell -NoProfile -ExecutionPolicy Bypass -File .\install-windows.ps1

The installer creates %LOCALAPPDATA%\MicromixerBridge, protects that folder for the installing user and SYSTEM, creates a limited-user startup task without storing a Windows password, and adds a firewall rule restricted to your configured address and allowed remote ranges. It adds desktop and Startup shortcuts for the tray.

The installer refuses an existing installation. If installation fails partway through, use the removal steps below to clean up the new task/rule and preserve any needed configuration before retrying.

Get-ScheduledTask -TaskName 'Micromixer Bridge'
Get-Content "$env:LOCALAPPDATA\MicromixerBridge\status.json"
Get-Content "$env:LOCALAPPDATA\MicromixerBridge\bridge.log" -Tail 20

Confirm a recent timestamp and "connected": true. A running task alone does not prove an ATEM connection. Secure the original extracted folder too: it still contains a copy of your private configuration and key.

5. Connect your iPhone

  1. Connect your iPhone to the LAN or VPN that can reach the bridge.
  2. Open the bridge tray’s Connection details. Treat these details and any private setup link as credentials.
  3. In Micromixer Settings, enable Use control bridge. Enter the bridge address, port (normally 9911), access key and certificate fingerprint (64 hexadecimal characters, without colons).
  4. Tap Save, then Connect. Confirm that source names and the actual Program/Preview state appear.
  5. Test Preview and a deliberate transition during a safe session. Configure SRT video separately using the video setup guide.

The tray’s private setup link can prefill Settings; you still review and save it in the app. It preserves your SRT settings and assignments. Never put a setup link on this website, in a public QR code or in support email.

Everyday operation

Double-click the desktop shortcut to start the bridge and show the tray. Its menu offers Start, Restart, Stop, Connection details, and Open bridge log. Exit tray closes the tray only; the bridge continues running.

Tray colorMeaning
GreenFresh status reports an ATEM connection.
AmberStarting, disconnected, or waiting for fresh status.
RedTask stopped or unavailable.

The startup task is configured for boot; the tray appears at user sign-in. Verify restart and reboot recovery on your own computer before relying on it in production. Green does not verify the phone’s VPN connection or its SRT picture.

Upgrade, recover, or remove

Upgrade: exit the tray, stop the task, and back up the protected installation directory. Replace the code and dependencies from the new bundle while preserving config.json, cert.pem and key.pem. Start the task and check fresh status. Restore your backup if the update fails.

Stop-ScheduledTask -TaskName 'Micromixer Bridge'
# After replacing code/dependencies and preserving private configuration:
Start-ScheduledTask -TaskName 'Micromixer Bridge'

To add or refresh the tray on an existing installation without replacing its configuration, run install-windows-tray.ps1 from the updated release as the original installing user.

Remove: exit the tray and run these commands in an administrator PowerShell:

Stop-ScheduledTask -TaskName 'Micromixer Bridge'
Unregister-ScheduledTask -TaskName 'Micromixer Bridge'
Remove-NetFirewallRule -Name 'MicromixerBridge-TLS'

Then delete the Micromixer Bridge shortcuts from your Desktop and Startup folders. Remove its private installation directory when it is no longer needed. Rotate the access key and update your phones if a phone or private setup link is lost.

Other computers

The Node.js backend can also run manually with node server.mjs /path/to/config.json after installing dependencies and preparing the certificate/configuration. The startup installer and tray are Windows-only. Consult the included README for the protocol’s supported controls and limits.

Need help? Check connection troubleshooting or email brandon@pittmanlabs.tech.