The Arduino Uno is a micro-controller, which sends serial signals to the shifters to set the correct numbers to be displayed. The Raspberry Pi sends commands to the Arduino over the USB port.
Arduino is a fantastic not for profit organisation, which deliver hobby boards and software to allow people to write their own control programs (like we did). There are lots of clone or fake boards on ebay, and while they are cheaper I *strongly* recommend that you buy an official Uno board, and maybe even make a donation to Arduino when you download the software.
To start, you need to upload the scoreboard control software to the Arduino. This only needs to be done once, and you will need a windows machine to do this.
First, download the Arduino software from arduino.cc. Install the software before you plug the Uno in to the computer, as the software download includes drivers for the Uno.
Important note: This software was originally hacked using Arduino 1.0.5. It has now been updated and tested on Arduino 1.6.7. Thank you to James W @ Potton Down CC who spotted the issue, and helped debug the problems in the most recent version of the IDE.
You will then need to download the scoreboard sketch file and supporting libraries included in the software2016R2.zip.
To start, open a file explorer and browse to the Arduino software directory, and then in to the library directory. Copy in the ShifterStr, arduinobase64, CMDMessenger and Streaming folders from the software2016R2.zip download.
Now open the Arduino software, and then open the scoreboard.ino file (included with the software2016R2.zip file.) Make sure you select the USB port from the tools, serial port menu. Then make sure Arduino Uno is selected from the tools, board menu.
Arduino may ask you to update the libraries, ignore this as the software has not been tested with the new libraries.
The pre-requisites are now in place, and the sketch file can be compiled and uploaded to the Arduino. You can do this by clicking sketch, upload.
To test that everything has worked, open the serial monitor from the Tools menu. Change the speed to 57600 baud, and the line ending to Newline (as per the screenshot below)
Type 4,001,101,002,2,32,131# in the command window, then click send. You should see the response shown in the screen below.
Now that this is complete, the Arduino is ready to use with the Raspberry to drive the shifters. You can now plug the Arduino in to the Raspberry using a USB port, and complete the Raspberry setup.
Important note: When the Arduino is plugged in to the Raspberry, it must also be powered from a separate power supply, either using the VIN and GND pins or a 2.1mm center-positive plug (I bought one from eBay!). The Raspberry will power the Arduino via the USB port, but not with sufficient current to operate the digital pins correctly. Check the Arduino Uno specifications for more details. We powered the device using our 12v supply (the same one that powers the LEDs and the 5v stepdown).
Important 2016 update!!!! Several builds have reported inconsistent results from their circuits (sometimes working correctly, sometimes just not responding, sometimes corrupt). After significant testing with the help of Fred from Gator’s Pub Volleyball Club in the USA (woot, a build in a third continent!), we found that in order for the Arduino, circuits, leds and 5v stepdown to operate correctly together, they must all be powered by the same 12v power supply source. We think this is something to do with needing a common ground (if anyone knows the reason please use the contact us form to let me know). Do not use separate power supplies for the Arduino or the 5v circuit, it will not work reliably (or maybe not at all!).