Electronic Darts Board to PC

Update 2015-01-29: The program is now written in XNA and all of the updates regarding this project will be posted on the google code page

I recently bought this electronic darts board (catdart devil) and decided to hook it up to my PC. I had seen a few forum threads where people were trying to do the same thing. Most tried to solder the pins from the dart board to a keyboard chip but it didn’t really seem to work.

I decided to use a breadboard arduino similar to this one and finally got it to work :P. These two (1, 2) videos did a good job explaining how it’s supposed to work :)

Here’s the code I’m running on the arduino:

void mainLoop()
  for(int i = 0; i < 8; i++) //Loop through all outputs
    digitalWrite(outputPins[i], HIGH);

    //Loop through all inputs
    for(int j = 0; j < 10; j++)
      if(digitalRead(inputPins[j]) == HIGH)
        Serial.print("H: ");
        Serial.print(", ");

void reset()
  for(int i = 0; i < 8; i++)
    digitalWrite(outputPins[i], LOW);

Heres a few images:

Breadboard Arduino

And here’s a screenshot from the WPF application i built to keep track of the scores and statistics. It currently supports 301, 501 etc up til 1501 and count-up. I’m working on a cricket mode as well :)

WPF Dart Application

The main reason I wanted to build my own application was to add support for the awards that show up when you hit a hat trick (3 in the middle), low ton (a score of > 100) etc that I saw on the darts machines in Japan. I’ve only been able to find the sound effects so far thou. You can get the sounds here, It’s from the Phoenix Darts Machines that they had in most dart bars.

If you’re interested in the source code or any other details, please let me know!

Maybe I’ll build another one and add support for webcam and online play :)


Tags: ,

15 Responses to “Electronic Darts Board to PC”

  1. Andreas Säterås says:

    You have did an awsome job!

    And I’m very interested in the source code.
    My plan is to do your project as you did and I have a few thoughts of creating an application for android/iphone so you can track the result in the mobile aswell.

  2. admin says:

    Hehe, thanks :) This is still a work in progress, but I’ll make an update on the software I’m running on the PC soon.

    I’m also trying to add a few buttons to the circuit, but since all of the pins of the chip I’m using are taken, it has become a bit of a problem :P Think I’ll be able to solve it using multiplexing thou…

  3. Joshua Bogden says:

    i just bought an older arcade dart board and i am looking to add a screen to it and make my own scoring program, i would love to look at your code to see how you did this to better understand how the boards work, and how to design my own program.

  4. admin says:

    I put up the code for the dartboard recently on: http://code.google.com/p/martinpersson-darts/

    If you’re planning on using a virtual com-port, then you could basically use it as is. The most interesting part is probably how the messages from the dart board get parsed (method ParseScore, found in SerialManager.cs).

  5. Joshua Bogden says:

    do you have a wiring diagram on how you wired the board to the arduino, it would be very helpful for my project.

  6. admin says:

    Not exactly a wiring diagram, but this might help? http://www.martinpersson.org/wordpress/2011/02/dartboard-circuit-layout/

  7. Joshua Bogden says:

    That helps a lot thank you very much!

  8. Pedro Gonçalves says:

    Im very intereseted to do a project like this one, but i have question how do you conect the matrix from the dartboard to the wires how will connect on the board of arduino, sorry about this questions but im a newbie on this kind of projects with arduino, by the way what is the best software can i used on the pc play cricket? Thanks for your attention

  9. admin says:

    I’ve soldered the connectors to a experimentation board, then added connectors from that board which goes to my breadboard pcb with the arduino. As for software, I have no idea if there is anything available which communicates through serial like my board does so I think you have to write your own software.

    Sorry for the bad quality :) :

  10. Pedro Gonçalves says:

    Hello friend. I have almost the project done, but i have some doubts. In your arduino code i see that you have this:
    //board setup
    pinMode(boardInPin, INPUT);
    pinMode(boardOutPin, OUTPUT);

    Why one is input and the other are output?
    If in the multiplex are connected all the selector cables.

    How i send voltage to the matrix?

    I test the configuration on the breadborad connecting the independent inputs/outputs from the first multiplex one wire at 5v and other from the second multiplex to the 5v and the arduino recive the wires connected at the selector cables, but i have all multiplex connected as imput.

    what i have wrong?

    King regards

  11. Jackson Yu says:

    This is project still alive?

    I have recently started my Dartslive2 career and acquired a Dartslive-100S in the hopes of doing the same thing, however with much primitive methods.

    I also got hold of the dartslive2 software as used by the machines, including some of its sounds and movies. But obviously does not start as the required hardware is not detected.

    I dont have much experience with Arduino nor software programming so I am hoping I could get some guidance here.

    But I am hoping I could get the same familiar scoring experience at home to practice on…

    Can contact your somehow?

  12. GnobarEl says:

    I’m starting a project similar to this one, can you, please, post some pics of the wire connections on the dartboard?

    Thanks for your support.

  13. […] and create games with your own rules. That’s a pretty awesome idea, and it’s been done before. It will be a way-point on our […]

  14. Jake says:

    Awesome job! I’m interested in porting this to linux using monogame and running it on a Raspberry Pi 2 with Arduino. I’m pretty new to programming but do you think it would be a realistic goal? Would you mind if I adopted your code on your Github and try it?

    Also, please post a video of the gameplay on your youtube channel when you get a chance. I’d love to see it in action. It looks like a beautiful interface!


  15. admin says:

    I’ve been thinking about porting it through monogame and running it on a raspberry pie too. I’m not sure it would run smoothly but it would be pretty awesome if it did. I don’t know how much work it would take, because I haven’t worked with mono before. Feel free to mess around with the code if you want to. I’ll post a video when I get some time on my hands.

    There are a few newer screenshots on the github releases page: https://github.com/marpe/XnaDarts/releases

    Regards, Martin

Leave a Reply