Automation & Control Systems DashBoard

DashBoard U

DashBoard University Logo

Welcome to DashBoard U where you’ll find resources to help you use DashBoard to create custom panels for yourself, how to use some of the advanced features included in DashBoard such as Timers, and how to create and debug your own scripts.

Note that this page is meant to be used in conjunction with DashBoard version 6.0 or later.

Video Tutorials

The video tutorials demonstrate how to use the basics of Panel Builder, and even show how to add a single, solitary line of script towards the end of Panel Builder 103.

Filter by:
Introduction Videos
Integration Videos
Visual Logic

  • DashBoard U 101
    PanelBuilder 101: Create Custom Panels using Drag & Drop
  • DashBoard U 102
    PanelBuilder 102: Using Tables to Keep things Neat
  • DashBoard U 103
    PanelBuilder 103: Introduction to Canvases, Tabs Groups, and Dividers
  • DashBoard U 104
    PanelBuilder 104: Controlling External Devices with Web Interfaces
  • DashBoard U 105
    PanelBuilder 105: Introduction to Scripting
  • DashBoard U 106
    PanelBuilder 106: Defining and Using Data Tables
  • DashBoard U 107
    PanelBuilder 107: Reading and Parsing XML
  • DashBoard U 108
    PanelBuilder 108: Using VDCP
  • DashBoard U 301
    PanelBuilder 301: Integrating DashBoard 6.0 with XPression
  • DashBoard U 302
    PanelBuilder 302: Integrating DashBoard 6.1 with XPression 5.4
  • DashBoard U 303
    PanelBuilder 303: Custom Panel to Control Yamaha 01V96 Audio Deck Tutorial Video
  • DashBoard U 304
    PanelBuilder 304: Custom Panel to Blackmagic Design HyperDeck Tutorial Video
  • DashBoard U Visual Logic 101
    Visual Logic 101: Carbonite Time of Day
  • DashBoard U Visual Logic 102
    Visual Logic 102: Carbonite Control
  • DashBoard U Visual Logic 103
    Visual Logic 103: For Loop
  • DashBoard U Visual Logic 104
    Visual Logic 104: Intro to DashBoard v8
  • DashBoard U Visual Logic 105
    Visual Logic 105: DashBoard UDP String Command

Sample File Tutorials

The following sample files are intended to let you experiment with some of DashBoard’s more advanced capabilities. If you’ve ever written simple webpages using HTML, or short programs using C, or Javascript, you already have the skills and knowledge to understand and learn from these examples.

All of these examples are available for download here.

Key Concept

There is one key concept you need to understand how and why Custom Panels are structured the way they are. This concept is at the root of how your Custom Panel can act as a data source for external entities such as Xpression Graphics systems.

All Custom Panels require a “.grid” file. As soon as they use even one parameter, they also require a matching “.xml” file. The table below summarizes the characteristics of each type of file for a Custom Panel called “MyCustomPanel”.

When working with Xpression, data for display as graphics, for example a shot clock timer, or information about a member of a legislative assembly, is used directly from the xml file so that changing a parameter value using the Custom Panel can also instantaneously update what’s shown on-air.


Contains mark-up for the GUI in OGLML, the openGear Markup Language.

May also contain functions and scripts. This is the “brains” of your custom panel and must be present.

From Version 6.1, this file can also contain state variables by selecting the “self-contained data source” option when creating your custom panel.


An xml file with mark-up to give names, data types and storage space to the parameters used in MyCustomPanel.grid. The “memory” and an external interface of your custom panel. This may be omitted if your Custom Panel requires no data source, or embeds it in the .grid file.

PanelBuilder 201: Using Timers


File Size: 3 KB

This example demonstrates how to create timers that:

• Count up and down
• Count down to a calendar date
• Show time of day
• Count down with a colour change when passing thru zero

And shows how button components in the UI can be programmed to change the properties and state of timers.

PanelBuilder 202: Multi-language Support


File Size: 1 KB

This example shows how to set the language for individual buttons in the GUI.

This means that custom panels can accommodate the language abilities of the operators. It removes the language barrier between a control panel and its operator. Foreign language UIs should be a thing of the past.

PanelBuilder 203: Writing and Calling Functions


File Size: 1 KB

This example shows which OGLML tags are needed to include
functions in the grid file, and how to call them.

PanelBuilder 204: Sending and Receiving Messages over


File Size: 1 KB

This example shows how to send and receive network messages
using UDP, TCP and HTTP.

N.B. DashBoard 6.1 Beta is required to run, but only because it uses the new, self-contained data source introduced in that release. The networking calls it demonstrates will work in DashBoard 6.0.