Interfacing with Scoreboards

#1
I received a pm from a member asking for information about how I interfaced with a scoreboard for use with CasparCG. I figured I'd write up what I know for the benefit of other members.

Before you begin, know that depending on what sport you are doing and the complexity of the graphics you desire, this can be anywhere from a weeklong to a monthlong project. You will need to have some programming experience, and be comfortable writing your own CasparCG client.

First thing is to do is figure out how to get data from your scoreboard controller into your computer. Chances are, this is going to involve an old fashioned serial port.

Where I work, all of our venue scoreboards are Daktronics scoreboards. They all have a console which has buttons for controlling the clock, scores, and whatever else the sport requires. They then connect through a large multi-pin plug (or wirelessly) to the actual scoreboard.

Unfortunately our consoles didn't have any proper serial ports. (Some models may have one, our do not.) What we did have though, was another Daktronics product called the All Sport Character Generator. This is a simple analog character generator with a built in keyer. RCA in and out on the bottom. If I remember correctly, it connects to the CG with a DB9 on one end, and to one of the console's auxiliary scoreboard outputs with a 1/4in tip ring phone jack on the other end. Conveniently, it also has a serial port on it which spits out data every second or every update to the scoreboard. (This is an undocumented feature.) I hooked this up to my computer with a serial to usb converter and was able to read the data with the standard 9600 8 n 1. It outputs a fixed length string starting with the SOH character and ending with EOT. At that point, all I had to do was change the scores, clocks, etc on the console and see which value changed in the string. With a little trial and error, I was able to figure out which characters corresponded to which element on the scoreboard.

If you don't have the same hardware that I do, you may need to contact the scoreboard manufacturer for help. They may be glad to point you in the right direction, or they may try to sell you a proprietary solution. You might need to start probing pins on connectors and reverse engineer the protocol.

I'm a Java programmer, so here are the two classes I'm using to parse the data. The Football one is untested, but I'm pretty sure it's correct.
American Football: https://gist.github.com/Eviltechie/bcb1427fccab72870a69
Baseball: https://gist.github.com/Eviltechie/8c96262df9ce632cc34a

This isn't my work, but I did come across it. It might be useful.
http://xy-kao.com/projects/decoding-dak ... port-2000/
https://github.com/xyk2/daktronics

Other links that may be useful.
http://serialtools.tv/shop/daktronics-port-expander/
http://serialtools.tv/manuals/daktronics-data-tap.pdf
http://www.daktronics.com/Web%20Documen ... -12483.pdf (RTD spec. If you are in a fancy venue, they may have a large RTD breakout for your use. I think we have one, it looks like a 1U rack mount thing with 8 or so serial ports on it. I think that's what a TV truck will connect to when they come.)
http://www.atemuser.com/forums/atem-vis ... splay-text

Re: Interfacing with Scoreboards

#6
While looking at the solutions for this, I've came across very cheap Serial-To-Ethernet converters:
(RS485 only): http://www.aliexpress.com/item/1-Piece- ... 04500.html
( RS232 + RS485): http://www.aliexpress.com/item/RS232-RS ... 39593.html

Here where I am all scoreboards use RS485 serial protocol, so the first cheaper one should be adequate, not sure which protocol Daktronics support. Both gadgets have option to be TCP or UDP servers, configurable through web interface, so you can concentrate on programming instead of wires.

Re: Interfacing with Scoreboards

#7
That is a good solution, if you only work in one stadium or with the same type of controllers. The beauty of LiveXML and the like is, that they support multiple controllers and provide the same API on your side. So you need to implement your interface only once.
Didi Kunz
CasparCG Client-Programmer, Template Maker & Live CG-Operator
Media Support, CH-5722 Gränichen, Switzerland http://mediasupport.ch/
Problems? Guide to posting Bug reports & Feature requests

Re: Interfacing with Scoreboards

#12
jackreynolds wrote:Livecode to make my own client, that is.
If you want to make more system oriented clients, connecting to other systems etc. I would not sugest learning LifeCode. You are better served with a cmore onventional language like Visual Basic or C#.
Didi Kunz
CasparCG Client-Programmer, Template Maker & Live CG-Operator
Media Support, CH-5722 Gränichen, Switzerland http://mediasupport.ch/
Problems? Guide to posting Bug reports & Feature requests

Who is online

Users browsing this forum: No registered users and 1 guest

cron