Daniel Fett made this tricked out dartboard with tons of cool features- check out the all the details over at his blog!
At our research group at the university, we play a round of darts every day during the lunch break. We used to use an cheap electronic dart board and entered the results manually into our “Dartabase” (“Dartenbank” in german). Obviously, this manual process is not very satisfying for a geek, so I created a Raspberry Pi driven electronic dart board (called, of course, “pidart”).
I started out from a standard soft electronic dart board and disassembled it. Then, I connected the sensors in the board and the buttons to an Arduino Mega microcontroller. The Arduino sends the dart hits and button presses on the board to the Raspberry Pi, where the pidart software runs. The Pi shows the current score and other data on a screen connected via HDMI and provides a web interface to control the software. I will provide a bit more technical background below.
The main feature of pidart is, of course, to keep track of the scores of each player and to enter the final results into our Dartabase. Apart from that, over the time, I added more features:
- Skipping players: Sometimes, one of us takes a short break during the game or cannot attend the game from the very beginning. In this case, we can tell pidart to skip the player until he returns. The player can catch up the missed rounds later and even still win the game when the other players have checked out already (if he checks out in less rounds than them).
- The same feature also allows for sequential games, where each player plays a full game straight and the players play after each other.
- Text-to-speech: pidart uses a synthesized voice to give spoken comments for each throw of a dart.
- Background music: pidart plays different background music depending on the game situation. You might know that music from somewhere…
- Live ranking: Our Dartabase creates a ranking of the players based on the ELO system. The pidart software predicts the game’s outcome during the game and shows the new Dartabase ranking.
- Web interface: Not only is a web browser the main GUI for pidart, it also allows for multiple clients to watch the current game in real time. Players can follow the game from anywhere (for example, on a smart phone).
- Post-fact editing of results: If the board registered something wrong or someone accidentally touched the board, the last frame can be edited manually.
- Adding and removing players dynamically: Players can leave the game (if they are allowed so by the other players