GVG to ATEM Controller

By Baz Leffler

Official web page


Turn your precious Grass Valley Switcher panel into a fully functional ATEM control surface

and stop using a mouse to do time critical productions.


The GVG panel software is now compatible with ATEM v7.5 and above!
If you want a copy of GVG2ATEM v3.0 please email me for further information.




There is a rouge operator out there that is selling the GVG2ATEM software ILLEGALLY.

His name is EdwardFilm and is selling modified GVG panels on Ebay.

DO NOT BUY his product as it will fail and I will NOT support it.

If you think you may have illegal software please email me.


Want to use a datavideo RMC-260 control panel to use with your ATEM?

Click here to go to the RMC2ATEM page



-          I currently have some more GVG panels going through the system and are for sale as completely working for use with any ATEM.

*** Email me for more details ***



Product Links





(please see new video)







(Ethermega ARE back in stock!)

Delivery time is approximately 10 days if paying by bank deposit and approximately 14 days if paying by Paypal.
The item is sent Australia Post Registered mail as soon as the funds are cleared.





Convert your live production to an EDL to import into your editing software

See Video HERE


>>>>>> contact <<<<<<



Making the interface cable

This video shows the GVG2ATEM Control cable construction.

It is the most up to date way to make the cable but I will leave the old web page up for reference.

When the GVG2ATEM controller is purchased you can either buy my pre-made cable or DIY as above.

The GVG2ATEM controller is delivered with the 36 pin IDC and clamp already installed.

The panel blanks for the Mega2560/Ethernet can be separately purchased which includes the Arduino face plate, the DB37 face plate and the back plate insulator.


Intro and Fader Setup


This is a Grass Valley 110 panel (only) controlling an ATEM production Switcher. Its combining '80's technology with todays gadgetry.

It requires a slight modification to the GVG110 panel that involves removing the controller IC and connecting a header cable to an already existing connecter inside the panel.

I have chosen to replace all the lamps with LEDs because the LAMP version needs 9 volts and 14 volts but the LED version only needs 9 volts. For LED use, there is also 3 jumper wires that need to be installed, and 2 tracks to be cut; so easy my 3 year old cat can do it.

Every button, knob and light is functional and the biggest challenge is how to 'logically' configure the panel for the various usages with an ATEM.

Because it needs network connection to talk to the ATEM, I have also implemented a telnet interface to allow crosspoint mapping, effects, keyers control mapping etc so you will be able to select any portion of the ATEM to be controlled by any portion of the GVG110 controls. Telnet is also used for system configurations such as ip addresses, load and save setups etc.

I will also be including the external rs422 control for use with my previously shown 'editor control' which uses the standard GVG100 protocol.

I can sell the complete software installed Arduino Mega and interface cables with a comprehensive 'how to' for the GVG110 modifications.

Updates will be available from time to time via a HEX file uploader. Just contact me if you are interested.

You have got to admit, the GVG110 is a nice piece of kit and if you can get your hands on one it can save you a bundle. (I know of one organisation here in Aus that tossed out 44 of them not so long ago!..... I have 2 and would love some more)

(sorry, shot one handed with my iPhone but maybe a better (edited) version to follow)


GVG110 initial ip setup


When first connecting the GVG110 panel to an ATEM using my interface, the local and ATEM ip addresses need to be set to suit your own circumstance. This only needs to be done once as the values are permanently stored in EEPROM when set.

At any stage the settings can be altered, either using the technique shown in this video (at bootup), or from within normal control panel operation by using the 'SHIFT' command (Editor Enable) and pressing 'wipe pattern 9' for local ip address, and 'wipe pattern 10' for ATEM ip address.

When either ip address is altered the interface will reboot for the changes to take effect.

(Apologies for the 'right finger, wrong button' problems, but multitasking is not my strongest point; and given that I am doing it all in one shot (to show there is no trickery) I really don't want to go back and do a take 2.)



ATEM GVG110 trans panel


This is the third in a series of 'one shot' tutorials when using my software to control an ATEM using a GVG110 modified control panel.

This video is part 1 of the AUTO TRANSITION panel which focuses on the SELECT button and its 4 functions.

Function 1 is for displaying and setting the Auto trans rate.

Function 2 is for displaying and setting the DSK mix rate.

Function 3 is for displaying and setting the Fade to Black rate.

Function 4 is for displaying and setting the AUX BUSSES (ATEM 1 and 2 only)

The operation is not as clumsy as it appears as I was demonstrating one handed while holding the iPhone with the other; you have to use your imagination!

(this GVG110/ATEM controller is a demonstration of what can be achieved if you want try it yourself. It is much easier undertaking a project knowing that it can work. If you need it and are unable to DIY then I can sell you my finished system. Just contact me for more info)



pgm pst input mapping

The GVG110 panel has 3 rows of input selection and each row has only 10 inputs. The 'program' and 'preset' rows share the same inputs, and the 'key' row can have its own separate assignment. Key row programming will be discussed at another time.

By using the SHIFT key (editor enable), each of the 10 input buttons can be assigned two different input thus allowing 20 separate inputs.

When inputs 1 to 10 are selected on any of the input busses, the button light will display normally, and when inputs 11 to 20 are selected, the associated button light will flash.

On a 2me ATEM, 37 individual sources are available for mapping, and any of those sources can be mapped into the 20 programmable input buttons on the GVG110 panel.

As each button is assigned, the user selectable input also changes the multiviewers input; so if the GVG110 panels 'IN button 1' is assigned "ATEM input 6", then the ATEM multiviewer input 1 is also assigned input 6.

Obviously what ever is assigned to buttons 17 to 20 (SHIFT 7 to SHIFT 10) will not show up on a multiviewer input as there are only 16 available multiviewer windows on a 2me.

If you are a little confused don't be, it will all make sense when you give it a little thought.

(incidently, I will also be making a 'tally TTL output' available to connect to relays etc and that tally output will also reflect the assigned inputs as you would expect)


GVG110 deck control

In this video I show the GVG110 control panel in 'Deck Control Mode' controlling 2 video decks using RS422 9 pin connectors.

The first deck is a Hyperdeck Studio (sorry, in the video I called it a Shuttle, and we all know shuttles do not have RS422) and the second deck is a Panasonic AJHD1200.

This video runs way too long so I will make a part B soon.

This part covers all the basic transport controls and entering cue points.

In the second part I will show the use of RECORD and cue marking as can be used in sporting events. Then I will go on to show how to set up AUTO PLAY/SLO MO and how to assign decks to crosspoints to enable the feature.

I will be adding features such as manually entering timecode cue points, loading and saving cue registers and 'pre-emptive AUTO PLAY';

Because the AUTO PLAY feature uses the switcher tally data to play or commence slo-mo there is a small latency involved if you do a direct 'switch' to the deck.

This is usually alleviated by doing a 'stinger' or a 'wipe' to the deck to hide the 1 - 2 frames of 'freeze' before it plays. 'Pre-emptive' means being able to CUT to a deck and not see any freeze.

The way that is accomplished is by 'doing the cut' which will play the deck, but the actual 'cut' will not occur until the deck is actually 'playing' (1 - 2 frames later). This mode does not use the tally data so it can only be used locally; eg if another panel selects the deck input it will not play like it would using non pre-emptive play. Whew!


GVG+ATEM+DECK recording


This is part 2 of what possibly will be a 4 part introduction of the GVG110 control panel with an ATEM connected and controlling 2 RS422 decks. Here I show recording, marking and queing for instant replays. Entering still points are also discussed.

Also shown is the ability to manually enter que and still timecodes for each of the decks 5 registers using a TELNET ip connection.

TELNET examples -

Set Deck 1 cue 1 to a specified timecode -

d1 q1 10300000

Set Deck 2 cue register 1 to 34:00:00 and

Set Deck 2 still register 1 to 34:04:00 -

d2 q1 340000

d2 s1 340400

These can be cut and pasted or manually typed into the TELNET window connected to the controller.

Typing 'd' in the TELNET window also displays -

Deck 1 [Hyperdeck] mode = Slo-mo on button 1 (10)

Deck 2 [AJHD1200] mode = Play on button 2 (13)


Deck/reg CUE STILL

1 1 00:00:00:00 00:00:00:00

1 2 00:00:00:00 00:00:00:00

1 3 00:00:00:00 00:00:00:00

1 4 00:00:00:00 00:00:00:00

1 5 00:00:00:00 00:00:00:00


2 1 10:42:02:12 10:42:12:07

2 2 00:00:00:00 00:00:00:00

2 3 00:00:00:00 00:00:00:00

2 4 00:00:00:00 00:00:00:00

2 5 00:00:00:00 00:00:00:00


**EDIT: One thing that wasn't mentioned in this video it that manually entering 'still points' can also be achieved by parking the deck at the required still point and press and hold 'SHIFT + the required CUE REGISTER. (end EDIT)

Next video I will be showing setting auto play/auto slo-mo/auto still modes and hopefully make them a little shorter.

ALSO NOTE: all my videos showing the GVG110 functionality are all 'one take/one shot' no trickery involved; its not the way I normally make videos!


GVG110 Telnet control

The more I show of this system, the more the TELNET connection gets referred to so here I explain the use of TELNET in the configuration.

As the GVG110 to ATEM controller needs a network connection, and as most setups are using network routers, a TELNET connection can also get added to the mix and communicate to the controller using its existing interface with the ATEM.

This interface can extend to either a PC (using PuTTY) or a MAC (using Terminal) or even a mobile device like an iPad (using Mocha Telnet Lite). All these applications are free.

The TELNET command can be 'line by line' entered or 'scripts typed up' and sent.

Eventually, given time, maybe even a HTML GUI can be made to make the use far more user friendly.

The use and features of the TELNET connection are covered in the 'ON LINE users guide' and is also included in the help menu by using the '?' key.



multiviewer source displays


Want to use the ATEM Multiviewer's "program" and "preview" displays to show the current source names.

Just use a Telnet command on the GVG to ATEM controller to re-configure using the 'multiviewer mode command.

The source naming works locally, or from any panel you have that's controlling the ATEM.

(In this video I inadvertently called the Telnet window a terminal but you will get my meaning. Another one take wonder!)


GVG ATEM Tallies

Here I show the GVG to ATEM controller running tally relays in Mode 1.
With the GVG to ATEM kits, the interface connector has 8 pins allocated for tallies.
In tally mode 1 (simple mode) these pins can connect directly to 8 channel Relay Cards to drive tally systems.
In tally mode 2 (advanced mode) these pins are used to drive an optional circuit board that can provide 16 relay controls for program (red tallies) and 16 relay controls for preview (green tallies).
Of course the tally information is sent from the ATEM so even controlling an ATEM from another panel will still display the tallies.
This video is a little different; it is actually showing the GVG control panel controlling an ATEM TVS; AND the video is very short!

GVG ATEM external trigger

Just demonstrating a button controlling the GVG to ATEM to create a GPI function.

This is an example of the auto trans trigger using 'gpi0 67' telnet command.

It seems to work even using a 30 year old button that surely must have some form of contact closure bounce, but my anti-bouncing software is cleaning it up.


If you have come by this video by accident you would have ABSOLUTELY NO IDEA what I am talking about! (no fault of yours)



GVG ATEM knob adjusts

How do you get an infinite range of numbers out of knob that has a start and a finish?

Watch this video and see how.

It would have been great if the GVG panel used rotary encoders but back in their day I suppose they hadn't even been thought of.



duelling GVGz

If you thought using a GVG control panel to control an ATEM Production Switcher was an 'interesting concept', then here is a video of TWO GVG control panels controlling the SAME ATEM. Yep... TWO!

One control panel is controlling Mix Effects 1 and the other control panel is controlling Mix Effects 2.

AND, as each panel has its own microprocessor controller they can have their own assignments of inputs.

Can you imagine going out to cover a football match. You can do two separate coverages; one favouring team A being produced on ME 1 with panel 1 and the other one favouring team B being produced on ME 2 with panel 2. The panels don't even need to be in the same room!

If this was ever a requirement I could even write the code to amalgamate the tallies so either ME 1 or ME 2 would turn on the required tallies.

Am I thinking outside the box? Yeah, maybe....


(ps. this was actually a test I did to see if the same MAC address can be used on both panels. Result: NO.

So now I have to add yet another parameter that has to be adjustable; MAC address)


analog diagnostics

Example of a little diagnostics routine to check all the analog pots, joystick and fader on the GVG110 panel


Intro to Config Panel

The optional Configuration panel is an extension to the existing GVG control panel enabling easier access to some of the set up parameters.

It also includes some enhancements to the normal operation, showing buss crosspoints, deck control timecodes and status, including cue and cue marking capabilities.


It is early days for the software and will be continually enhanced over the coming months.


It interfaces to the Micro-Controller using 'I2C' communication allowing a convenient thin cable and 6 pin minidin connectors.


Once I determine there is an interest in using this interface with my 'GVG to ATEM controller' I will get the cases fabricated and the circuit boards assembled.


GVG/ATEM tally extended


Previously I showed the 8 tally controls using the expansion cable that comes with the GVG to ATEM controller kit.

Here I explain the optional 'extended tally system'. This uses an add on card to the controller that provides 12 PROGRAM tally controls and 12 PREVIEW tally controls.

Also shown is the technique to change the modes using the Telnet interface. This can also be controlled using the optional Configuration Panel shown in a previous video.


Incidentally, the small Extended Tally Interface module was never featured in this video but you can see it on the right corner on the end frame.

They will be available once they come back from fabrication.


Controlling the ATEM AUDIO


Here I show the way the GVG panel can be used to control all the audio features of an ATEM production switcher. These features include Fader and Pan values, AFV and ON AIR toggles for all inputs, Media players, external inputs and finally the MASTER.


ATEM control via GVG100 protocol

Using one of my little BAZBOX's, I can use the ATEM production switcher in a Linear edit suite.

This is a quick example of a Panasonic AG-A850 edit controller talking to an ATEM 2me doing cuts, dissolves and wipes.

This protocol has since been opened up to be able to control much more than what is shown here.

I am currently using the same method to control the ATEM using a GVG110 control panel which has the ability to control keys, emem, etc

I did a similar thing a while back based on the old Ampex protocol and using an Ampex Century control panel.

I tried to explain to some colleagues that "here is an Ampex HD Century production switcher" which sucked them in big time seeing as Ampex closed down almost 20 years ago!


I have an ATEM 2me and a ATEM TVS and 2 GVG110 control panels, 1 for each.

I am going to allow the BAZBOX to be set up using telnet so varios settings can be made eg controlled me, what keyer is used and DSK functions.

Message me if you want to know more and what it costs.


GVG ATEM using stillstore directly



Here is a nifty little trick you can do with a GVG 100/110 control panel + my controller + ANY ATEM production switcher.

This uses the program and preview rows to directly select and switch any 20 stills loaded in the media pool.

By using the 'ENTER' button in conjunction with program buttons, you can cut Stills 1 to 10 on air, and in conjunction with the preview buttons, you can cut Stills 1 to 10 to preview. Furthermore, when used in conjunction with the 'SHIFT' button, you can cut Stills 11 to 20 on air, and in conjunction with the preview buttons, you can cut Stills 11 to 20 to preview.


As an example, you can cut camera 1 on the program buss and still 1 ('1+ENTER') on the preview buss and do a dissolve. Then cut still 2 on the preview buss ('2+ENTER') and do another dissolve. Then cut camera 2 on the preview buss and dissolve again.












i/p 1





i/p 2





i/p 3





i/p 4





i/p 5





i/p 6





i/p 7





i/p 8





i/p 9





i/p 10




You can use a footswitch connected to any of the 9 gpi inputs to easily switch the different modes. You can also use another footswitch connected to any other of the 9 gpi inputs to easily switch the 11 to 20 inputs. Pretty soon you will have more footswitches than Slash!


Thanks to Rob Ashard for the suggestion.




Previously discussed here was the basic AUDIO CONTROL of the ATEM using a modified GVG 100/110 Control Panel.


This video shows the method used to MONITOR the audio levels on both the TELNET display and the PATTERN LED's on the panel.


Later in development, this monitoring will also be extended to the optional LCD panel.

When monitoring the audio from the ATEM, it uses the data that the ATEM sends to the controller. While in AUDIO MODE, this data is continuous and very large, so it is recommended to turn off the AUDIO MODE during normal operation and only use it when setting up levels etc


GVG dirty pots


This is an example of a GVG100 panel that has a dirty T-Bar pot.

You can either replace it or clean it but here I show diagnostics on how to evaluate its performance.


See the document showing how to fix the T-Bar pots as they are field repairable (to some extent).


ChromaKey interlock


This video demonstrates switching 4 camera's in CHROMAKEY with totally different settings and backgrounds using just the ATEM TVS's single chromakeyer!


I am using still images I made up to simulate a 4 camera studio shoot. These images are coming off 3 separate sources connected to 3 inputs on the ATEM TVS and the 4th image is coming off media player 1 but it too could have been a separate input. These would normally be live studio cameras generating moving images.


As each camera input is selected its associated background is also selected, along with all the chromakey parameters such as HUE, GAIN, Y SUPPRESS, LIFT, NARROW, MASKS LEFT, RIGHT, TOP and BOTTOM.


When a media player is selected as a background, you can use the GVG panels 'DISPLAY' and 'up/down' buttons to select the STILL IMAGE to associate to the required input.


So in this example I have all 4 chromakey cameras selected to background switch to only Media Player 2, and then the STILL image for Media Player 2 switches with the camera selection.


In the past this could only be achieved using 4 separate chroma keyers and 4 separate background generators.


For an ATEM TVS you could use all 6 inputs for live chromakey sources, and have 6 totally different backgounds for each camera all coming from just one of the media players.


On a ATEM 2 ME you could have all 16 inputs doing the same thing!


It is still work in progress and I am using it as a 'proof of concept'.


(ps. there is also an autosave function built in to allow FULL setup recall of ALL inputs)



EMEM - GVG panel saving/recalling all ATEM settings


I have done the last of the standard feature set for the GVG panel control of the ATEM production switcher.
EMEM - an '80's term for storing panel settings in memory; 'Electronic MEMory'.
This feature allows you to save EVERY aspect of the ATEM settings in 256 separate registers. Each register contains 4000 individual values.

When in SAVE mode, it will save all 4000 values, and when in LOAD mode it will allow selective recall of up to 23 different parameter values. Recalling sends the commands directly to the ATEM to take immediate effect.
Each of the 256 registers can also be write protected.
I use this EMEM feature often when moving between my different ATEM models.
I have setups 1 to 99 for my ATEM 2me and setups 100 to 199 for my TVS.

Also useful is using Auto Increment mode where I have a sequence of panel setups I need to recall in fast succession. With auto increment on, each time I do a recall it steps to the next waiting for recall.


Aux buss switching

I have often been asked how can AUX busses be switched in a live event. The AUX buss switching comes under the category of 'miscellaneous crosspoint switching' and is accessible using the AUTO TRANSITION RATE panel.

With this panel you can select 20 different miscellaneous items of which the first 6 are AUX BUSSES 1 to 6.

But using the up down keys on this panel will switch each available input numerically, which can select some undesirable sources on the way thru.

As it is with the prog/prev buss and key buss, you can also allocate individual inputs to the aux buss for all 20 selections.

This allows you to CUT to specific inputs rather than stepping through them. (when in miscellaneous crosspoint mode, the key buss buttons become the aux buss buttons 1 to 20).

Also, rather than switching the AUX buss inputs blindly (not having a monitor to view the aux buss output) it will select the aux buss selected on the preview monitor for 2 seconds.

If you need to switch multiple aux busses at different times you just need to select the desired aux buss on the AUTO TRANSITION RATE panel.


CasparCG intro

This shows the first 2 stages of the CasparCG SERVER implementation for the GVG control panel controlling an ATEM.


If you do not know what a CasparCG Server is, then look it up, but basically is an all round media player (free), compatible with some hardware cards like Blackmagic and Bluefish. It can also work with HDMI notebook computers, but is better used with only graphics. Servers with SDI cards and raid arrays can play realtime HD.


Stage 1 of the implementation was the initialisation of parameters such as ip address, Server channel, layer, autoplay settings etc.

Stage 2 was basic operation including media file lists, loading files and playing media.


Future videos will show stage 3; autoplay and then further stages which will include setting playlists etc.

I am hoping users will throw ideas at me for further implementation.

There are plans for a 'stand alone CasparCG client' to allow a separate operator to control it all.


Thanks to all the Caspar team for putting together a great package.


CCU control

This video shows the basic control of ALL the ATEM available CCU parameters. It can control up to 20 camera's.


The JOYSTICK is mainly used for IRIS (up/down) and PEDESTAL LEVEL (left/right).

When used in conjunction with PATTERN BUTTONS 1 to 3 the JOYSTICK is used to control the COLORWHEEL for BLACKS, GAMMAS and GAINS.

PATTERN 1 selects BLACKS as the primary adjustment, PATTERN 2 selects GAMMAS as the primary adjustment and PATTERN 3 selects GAINS as the primary adjustment.

BEVEL adjusts ALL PARAMETERS of the selected primary adjustment.

The AUDIO/CLEAR BUTTON steps the GAIN and KELVIN settings.

With REVERSE OFF it will step the GAIN through 0db, 6db, 12db and 18db.

With REVERSE ON it will step the KELVIN value through 3200K, 4500K, 5000K, 5600K, 6500K and 7500K.

SYMMETRY knob adjusts the SHUTTER value through 1/50, 1/60, 1/75, 1/90, 1/100, 1/120, 1/150, 1/180, 1/250, 1/360, 1/500, 1/725, 1/1000, 1/1450 and 1/2000.

SOFTNESS adjusts the FOCUS. When used with the SHIFT button it selects AUTO FOCUS.

BORDER adjusts the RGB/YRGB value in the COLOR CORRECTION panel of the ATEM.



Studio Tech TV review the product


Rob Ashard, Mark Johnson and Vance Willis talk a little about the GVG to ATEM controller.

To see the whole video see http://www.youtube.com/watch?v=t6hoWfLcQbA

These guys are having way too much fun!