--- title: "Controlling a VMix with Console GPIO" slug: "controlling-a-vmix-with-console-gpio" updated: 2024-12-16T10:44:06Z published: 2024-12-16T10:44:06Z canonical: "docs.telosalliance.com/controlling-a-vmix-with-console-gpio" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.telosalliance.com/llms.txt > Use this file to discover all available pages before exploring further. # Controlling a VMix with Console GPIO ## Scope This article applies to the QOR series consoles (iQ, et al) and iQx System. It describes how to use the CR Monitor Logic port to turn a VMix channel on when a microphone in the control room is switched on. ## Understanding Livewire GPIO Before we discuss how to do it, you'll need to understand a little bit about how GPIO works in Livewire. The term "**GPIO**" stands for **G**eneral **P**urpose **I**nput & **O**utput. Beyond the separate inputs and outputs, two different types of GPIO exist in the Livewire world. There is the GPIO that is sent from a source (xNode, hybrid system, etc.) to the console engine and there is GPIO that is sent from the console engine to the source (xNode, hybrid system, etc). Just like with source audio and backfeed return audio, both source and console GPIO paths can be sent over a single Livewire Channel. [Take a look at this article for more about that.](/v1/docs/to-source-vs-from-source) ![](https://cdn.document360.io/57e3cd80-d493-453c-9672-ad1b043dadc3/Images/Documentation/13c382f5-d6bc-4410-8c0b-63bb9bd02fb0.png?sv=2026-02-06&spr=https&st=2026-10-30T15%3A53%3A42Z&se=2026-10-30T16%3A53%3A42Z&sr=c&sp=r&sig=GPrNB2mLzSLgNb3iYBUA%2ByTQxx1%2BT7DIxLVyQURb9vc%3D) In this exercise, we are using **console GPIO** to control functions on the **console**. Since the **console** can only read **source GPIO**, we will need to convert the console GPIO from the CR Monitor Logic Port to source GPIO. The QOR Integrated Console Engine has a virtual GPIO section to help us make the conversion. ## Virtual GPIO Port > [!CAUTION] > **Stay In Your Lane!** Do not use Livewire Channels for audio sources intended to be loaded to the console for this GPIO mechanism. The console engine changes and reads GPIO states that travel with audio, so doing that will break stuff. 1. Go to a Show Profile in the QOR engine and make note of the, or assign the **CR Monitor** **Logic port** a channel number. We're using "1" in this example ![](https://cdn.document360.io/57e3cd80-d493-453c-9672-ad1b043dadc3/Images/Documentation/0cf742fc-9d67-4ed5-a425-fc268c87018f.png?sv=2026-02-06&spr=https&st=2026-10-30T15%3A53%3A42Z&se=2026-10-30T16%3A53%3A42Z&sr=c&sp=r&sig=GPrNB2mLzSLgNb3iYBUA%2ByTQxx1%2BT7DIxLVyQURb9vc%3D) 2. Next, go to the **GPIO** page and insert this channel number into an available **Source** field of the **Virtual GPIO Port**. Since the "CR Monitor Mute" output is on pin 1, we will set that for the **Source** pin. 3. Enter a new available Livewire channel number in the **Port** field and select the appropriate **Pin** (output 1 is pin 11). In this example, we'll use channel "2." (remember don't break stuff) ![](https://cdn.document360.io/57e3cd80-d493-453c-9672-ad1b043dadc3/Images/Documentation/54cdcc8b-50f9-4499-97a3-94a4ec6e9497.png?sv=2026-02-06&spr=https&st=2026-10-30T15%3A53%3A42Z&se=2026-10-30T16%3A53%3A42Z&sr=c&sp=r&sig=GPrNB2mLzSLgNb3iYBUA%2ByTQxx1%2BT7DIxLVyQURb9vc%3D) 4. Click the **Apply** button below the Virtual GPIO port section. Here, we converted the console GPIO (channel 1) to source GPIO (channel 2) that the console engine can receive. > [!NOTE] > **NOTE:** This will ultimately control VMixer channel 1. If you need this to control channel 2, change the **Port** pin to **Pin 12**, and so on. You can double-check your work by inserting these channel numbers into the Local GPIO configuration and watch the indications. Note that source GPIO uses "Logic for **Livewire**" and console GPIO uses "Logic for **Livewire Mirror**." ![](https://cdn.document360.io/57e3cd80-d493-453c-9672-ad1b043dadc3/Images/Documentation/657a865b-6c58-4d41-9f6b-bc62e2f04473.png?sv=2026-02-06&spr=https&st=2026-10-30T15%3A53%3A42Z&se=2026-10-30T16%3A53%3A42Z&sr=c&sp=r&sig=GPrNB2mLzSLgNb3iYBUA%2ByTQxx1%2BT7DIxLVyQURb9vc%3D) ## Configure VMixer Now that we have converted Console GPIO to Source GPIO with the Virtual GPIO port, we can configure the VMixer. ![](https://cdn.document360.io/57e3cd80-d493-453c-9672-ad1b043dadc3/Images/Documentation/4fcb2b5b-8c82-4ac0-b3d1-402aadc20643.png?sv=2026-02-06&spr=https&st=2026-10-30T15%3A53%3A42Z&se=2026-10-30T16%3A53%3A42Z&sr=c&sp=r&sig=GPrNB2mLzSLgNb3iYBUA%2ByTQxx1%2BT7DIxLVyQURb9vc%3D) 1. Go to the VMixer page of the QOR's GUI 2. Enter the new Livewire channel into the **Logic Port** field 3. Set the **Control Type** to **Normal.** 4. Click **Apply** > [!WARNING] > **NOTICE:** In this configuration, the VMix channel is on when the CR Monitors are muted. If we need to turn the channel off when CR Monitors are muted, we'd need to employ an inverter to this, which would only be possible with applications such as Pathfinder. ## Let us know how we can help If you have further questions on this topic or have ideas about how we can improve this document, please [contact us](https://www.telosalliance.com/support-request).