Thursday, July 31, 2014

Baseball Scoreboard - Programming the Scoreboard

    For those who are interested in playing with code rather than reading about code, here are the instructions to get up and running in a minimum amount of time:

  1. If you haven't already, download the Arduino IDE and install (
  2. The github repository for my code can be found here.  Check it out into your Arduino working directory (i.e., git clone
  3. Fire up the Arduino IDE, open the GC_Scoreboard sketch file.
  4. Upload the sketch to the Arduino.
  5. Once loaded, select the Serial Monitor to begin interacting with the scoreboard. (I'd suggest starting with a "help" command to get the compact usage statement or "test" to see what the scoreboard can do).
If you're playing with the code at this point, I'll admit that the help statement is a bit terse.  Due to an issue that I was never able to resolve, the full help message is too long to be output via serial.  As a result, I commented out most of the explanation for the commands in the compiled code -- if you want to read the full text, scroll down to line 54 in the sketch file.

Wednesday, July 30, 2014

Baseball Scoreboard - Constructing the Scoreboard

    This post covers the physical construction of the scoreboard; programming of the scoreboard is covered in the next topic.  While this presented first in the development process, in reality, the physical construction actually did not occur until after the initial field tests.  For most the development cycle, the scoreboard was actually a cardboard box with holes cut out for the displays, a temporary solution that I used while ironing out the more difficult development issues (also covered in future posts).

Design Goals

    My design goals for this portion of the project were simple:  provide a solid mount for the electronic components of the project that wouldn't break the budget and whose aesthetics wouldn't make people wretch (as I heard copious complaints about the cardboard box form factor).  After walking around the craft store for a bit, I settled on a cork board as the base to build the scoreboard around.

Monday, July 28, 2014

Baseball Scoreboard - In Action

    As I explain the scoreboard I've been working on to others, a live demo always seems to be necessary to showcase what I've developed.  As I can't visit you personally, here's a video that I hope adequately conveys the entirety of what I've built:

Saturday, July 26, 2014

Baseball Scoreboard - Initial Post

   NOTE:  This is currently my 14th post on the subject of the baseball scoreboard.  Previous posts have covered each component of the scoreboard and what it took to create that part.  This post is intended to introduce the subject with references to the other 13 posts, depending on where your particular interests lie.


    For  almost four years now, I’ve been scoring baseball games via GameChanger (   For those who don’t know, it’s a fantastic tool for scoring games.  The scorekeeper scores via an iOS/Android app that streams wirelessly to an internet server where fans who couldn’t make it out to the game can watch its progress.
    Last year at one of our games, I was put in the position of having to score via GameChanger while also operating the scoreboard at the game.  While I was able to pawn off scoreboard duties to an eager kid, in the back of my head I got this idea that it would be great if the GameChanger app could also update the team scoreboard.  At this beginning of this season, I decided to give scoreboard building a try (see results after the jump).

About this Blog

About this Blog

    The title of this blog is  it a reference to  Eric S. Raymond's first lesson regarding software development:

"1. Every good work of software starts by scratching a developer's personal itch."(The Cathedral and the Bazaar, 1999)

Along those lines, this blog is a venue for posting those projects that I've been working on that scratch a personal itch.  In these projects, I have greatly benefited from the efforts of countless open sources tools and the programmers that support them.  I hope the this can be a means to share with others what little I've done in advancing the ball forward on the things I care about.