Welcome to the SKAARHOJ support page. Here you will find the latest instruction manuals with all the information you need to get started.

We keep our manuals at the GitHub Repository: Manuals


Non UniSketch Based Controllers:

For latest updates on Device Cores head over to the Device Core Page. We do our best to keep the manuals for the various action parameters updated, but you can always go to and modify a configuration to see the latest implementations.

If you are controlling a ATEM Switcher we currently support ATEM Software Control 7.2

UniSketch Training Videos

At the "UniSketch Training Videos" Playlist on YouTube we will put training videos related to using and configuring SKAARHOJ UniSketch based controllers.

They are also embedded here below.

System Actions

Untitled Document

System Actions - Shift Levels Part 1 (Basic Shift Levels)

System Actions - Shift Levels Part 2 (Multiple Shift Levels + Local Shift Register)

System Actions - States

System Actions - Setting Flags and Feedback Flags

System Actions - Memories Part 1 (Memory + Cycle Memory)

System Actions - Memories Part 2 (Memory Groups)

System Actions - Local Color

System Actions - Labels and Displays

System Actions - Case on States, Sections and local colors on an XC6-XC9

System Actions - Case on Shift Levels


Controller Management

Untitled Document

Controller Management - Upgrading Firmware

Controller Management - The Serial Monitor

Controller Management - Status LED and Configuration Mode

Controller Management - Effective Ways of Configuration

Controller Management - Config Mode for Debugging

Controller Management - Calibration

Controller Management - Actions and HWC Types



Contact Support

You are always welcome to contact us for support questions - write an email to support(at) and we will do our best to accomondate your request.

Please state:

  • Which SKAARHOJ unit it is about
  • The serial number of your device if there is one (small silver label with 6 digits)
  • The nature of the problem
  • Which hardware device(s) you are controlling and their firmware version
  • If you have successfully installed the Firmware Updater Application and made contact with your device though the Serial Monitor (you need the USB programming cable)
  • If you have made changes to the default web interface, please include a print of the settings (print to pdf or similar)
  • Your operating system


September 2017

UniSketch V2.1.84 - V2.2.12

  • Added three decimal display output format for camera controllers
  • Fixed issue with setting "Sensor Gain" + "Details" on camera controllers
  • Push data and set video mode for BMD Camctrl
  • Push settings and videomodes for ATEM

September 2017

UniSketch V2.1.80 - V2.1.184

  • RCP: Adjustment steps updated
  • BlackMagic Design Multiview16 Device Core
  • AJA KUMO update
  • SmartScope update
  • Increased number of supported cameras to 20
  • 1x16 GPI Fix
  • Various small bug fixes and updates

June 2017

Non UniSketch Based Controllers

  • Update to ATEM CCU and ATEM CCU Lite firmware. Adjustment steps are now smaller
  • Shading parameters are now changed by a value of 0.01 when rotating the encoders 1 step. In Fine mode the change is 0.0025 allowing for high precision adjustments
  • Iris is adjusted 1% per 1 step rotation in normal mode, and 0.5% in fine tune mode
  • DNS and Gateway added for both ATEM CCU and ATEM CCU Lite Firmware
  • Get updated Firmware Files

May 2017

UniSketch V2.1.13 - V2.1.79

  • User Label and image support
  • AJA Kumo Updates
  • Initial Ensemble Design Implementation (NXT900 + EDX900 Series)
  • Initial PTZOptics Implementation
  • VideoHub Labels
  • XC + MC Series Work
  • C90R Work
  • RCP Mini Work
  • C20 Work
  • Correcting vMix naming error
  • vMix Update
  • RCP: Preventing Iris from being sent when changing camera

March 2017

UniSketch V2.1.9 + V2.1.10 + V2.1.11 + V2.1.12

  • Added Tally Border control for SmartScope
  • Various small bug fixes


February 2017


UniSketch V2.1.6 + V2.1.7 + V2.1.8

  • Added zoom functionality on RCP
  • Extend limit on Hold Group for Joystick override to 8 for GPIO (ATEM)
  • Various small bug fixes


UniSketch V2.1.5

  • Added support of AJA KUMO and vMix (Beta)
  • SDI-GPI Link added to the list of UniSketch supported devices.

Protocols included:

  • ATEM
  • HyperDeck
  • SmartScope
  • VideoHub
  • vMix (Beta)

January 2017


UniSketch V2.1.4

  • Correction to RCP w. Multi Turn Dial when using ATEM to CCU control instead of the Arduino Shield
  • Improving CCU control on ATEM with RCP


UniSketch V2.1.3

  • Fixed error on RCP when Inactive where enabled


UniSketch V2.1.2

  • Fix for > 16 VideoHub Channels
  • Extend limit on Hold Group for Joystick override to 8 for GPIO (VideoHub)
  • Few device fixes
  • Various small changes
  • Added AJA KUMO to C15 MII
  • Added AJA KUMO Support


UniSketch V2.1.1

  • Shutter to show 1/1500 instead of 1/1449 on RCP
  • Correction of bug that resulted in iris value being transmitted at ~30Hz, under certain circumstances
  • Correction of bug, now RCP joystick has full range
  • VideoHub Preset Recalling


UniSketch V2.1

  • Improving encoder speed on RCP
  • Autoiris support PanaAWHE
  • Preset recall speed PanaAWHE
  • Preset support to PanaAWHE
  • Work on UniSketch to support Panasonic Robotic Cameras (PanaAWHE)


December 2016

Second roll out


The following controllers are currently shipping with the UniSketch V2.0. In order to utilize UniSketch V2.0 the SKAARDUINO Due MCU is required.

Protocols included:

  • ATEM
  • HyperDeck
  • SmartScope
  • VideoHub


September 2016

First roll out


The following controllers are currently shipping with the UniSketch V1.0:

Protocols included:

  • ATEM

February 2016



Some default sketches from the might not compile with the latest Arduino IDE. We will work at updating the library so they will compile per default.



template<class T>
inline Print &operator <<(Print &obj, T arg)

  return obj;


And add


#include <Streaming.h>



February 2016

ATEM Software 6.7


Our ATEM Library seems to work out fine with the ATEM Software version 6.7. We have not checked details like sound levels, tally flags and media players, but everything else checks out OK. Otherwise we would appreciate any feedback.

Kasper posted a small note on

Today we (@ SKAARHOJ) checked the new update. UDP protocol in version 6.7 seems to be largely unaffected by the additions of GVG100 support and Ethernet updates. So, it's expected that everyone using our Arduino ATEM libraries will not experience any problems. Otherwise let us know.

December 2015

ATEM 6.6, Arduino IDE 1.6.6


We did a quick sweep of our protocol with ATEM version 6.6, and overall it seems to be compatible. We are still missing to check if tally data are OK, and if audio levels are being properly interpreted.

We recommend staying at version 6.3 where we have confirmation of the full protocol. If you would like to upgrade, please check everything works as expected before you have an important job.

The Arduino Software (IDE) has been upgraded to version 1.6.6, and this should properly render our libraries.

March 2015

ATEM Macros & ATEM 6.4


We have implemented playback and recording of the new macros feature in ATEM Switchers. This means you can activate your different macros right from our hardware panels. See this illustrated in the thorough walk through of the E201 controller.

And why not have a look at the presentation video of the C15 Remote with integrated PTZ camera control.


Please wait upgrading to ATEM 6.4 until we have done a full sweep of all functions in the BlackMagic ATEM Switcher Protocol to check for compatibility.

February 2015

ATEM Software 6.3 and new Arduino IDE


The ATEM/Arduino Library have now been updated to ATEM Software Control 6.3 and the firmware version 2.16.

Kasper posted a small note on

IMPORTANT: The "CAuS" and "AuxS" commands are changed from 8 to 4 bytes! Thats all. But important of course.

I experience for a lot of values like size and position that the ATEM switcher stores/returns a value with a rounding error or something. For instance, if I set the DVE Position X to 890, the return value becomes 889 instead. But it's not consistent, for instance setting the value to 1880 is accepted and stored/returned as such. This behaviour has defintely changed with the new version. It's not a big deal in some ways, but for any code that sets a value and wait for it to be confirmed, this will have to be taken into account. Does anybody have a clue why this has changed?

The Symmetry value and slider under "Transition / Wipe" settings doesn't work anymore. The get command always returns 5000 (50%) and any change made doesn't result in a value update back to the bus. It's like they decided to skip this feature but forgot to remove the control in the software. Weird.


If you want AUX control with ATEM Software Control 6.3 and firmware version 2.16, you need to update your to the new library type. The old type called "ATEM" will no longer work.

Arduino recently updated their IDE to version 1.6.0. We recommend using version 1.0.6, since our sketches does not compile on the new version. We are working on making the example sketches compatible with version 1.6.0.

December 2014

ATEM Protocol Unleased - Posted at: ATEMUser

Many hours of hard work!

Hi folks,

Celebrating the three years anniversary of our pioneering work on implementing the ATEM protocol on the Arduino platform, we decided to give our libraries a serious overhaul and implement everything meaningful on that platform. In the process we decided to document it all and this is the result:

This should be authoritative! It's completely tested with all 6 ATEM models, all supported features are checked within their value ranges - and we intend to keep this continuously updated and tested in the future too! We have been working a full man month on this project with no direct compensation whatsoever, so we hope this is not just very useful for all you guys doing other hacking on the protocol, but that you will also let us know if you have additional information to add to our documentation - just send it to me directly or post it here and we will gladly incorporate it. We are very proud to present this to the community!

Love and sharing.