Autodarts ๐ฏ - maximizing the fun
At the beginning of the year I bought a dartboard and started throwing darts! The initial fun was great, but it soon wore off - when you played with others, you had to keep score. If only it were automatic?
Autodarts - the Automatic darts scoring systemโ
This is where Autodarts comes into play - a project that uses cameras to record points scored. The software is "free to use", but not open source. Ready-made kits can also be ordered directly from the website, but the project also provides comprehensive instructions on how to assemble and 3D print the hardware yourself.
Hardwareโ
I wanted to do the project myself, although not much more was needed.
As my dartboard already has a Winmau plasma light ring, I was able to use the 3D printed models already supplied. All I needed was the camera mount and the arm to hold the camera at a good angle to the light ring.
The printed parts are needed a total of 3 times as 3 cameras are aimed at the dartboard at 120ยฐ intervals.
I used probably the most common camera model: an OV9732 camera module (100 degrees, 30 FPS without distortion).
The cameras and 3D printed parts could all be assembled with a few screws.
- 6-12 x M2x10 screws, to mount the cameras into the modular heads
- 6 x M4x12 screws & 6 x DIN 4032 M4 nuts, to mount the modular heads to the arms
- 6 x M4x20 screws & 6 x DIN 4032 M4 nuts, to mount the modular arms to the light ring
Once all the arms and cameras were assembled, they could be mounted on the light ring.
Autodarts delivers different versions of the software. A full software including Board Manager and GUI for configuration and game display - Autodarts Desktop. A real modern laptop / PC should be used for this (CPU: 4x2.4GHz (Intel I3 or Ryzen >2018), >8GB RAM). You can view the current hardware recommendations in the documentation.
It is also possible to install only the Board Manager. This controls the configuration and management of the cameras, which can be done via a web interface. A Raspberry Pi, for example, is also suitable.
In any case, 3 USB ports should be available to connect the cameras.
I chose a Raspberry Pi 4 with 8 GB Ram.
Softwareโ
Once everything is wired, the Raspberry Pi can be set up. It should be installed with a recent Raspberry Pi OS image without GUI. The best way to do this is to use the Raspi Imager.
The following command must then be called to install Autodarts and set up a Systemd service so that Autodarts is always started automatically.
bash <(curl -sL get.autodarts.io)
After installation, the Board Manager should be accessible over the IP/DNS of the Raspberry Pi using port 3180
.
The Board Manager can then be used to configure the cameras and make minor adjustments if necessary.
The specified point areas can then be marked using the Calibration tab. The board is then recorded for each camera and arrows can be detected.
Since I am only using a Raspberry Pi for the Board Manager, I needed to register the board at https://play.autodarts.io/boards.
This is where you assign a name to the board. The generated API token has to be saved in the Board Manager in the Config tab.
The active board should then appear in Boards and you can start playing. You can use a laptop or tablet to start the game. In addition to the classic game mode 501, there are many other variations (X01,Cricket, Bermuda, Shanghai, Gotcha, ...) You can also play against bots, other online players or other local players.
Game on and a ton of 180s! ๐ฏ