What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
OpenDarts is a real 2017 Hackster.io project by Ricardo Alves that converts an electronic soft-tip dartboard into a computer-connected scoring machine. The concept remains practical: an Arduino scans the board’s contact matrix, sends hit coordinates over USB serial, and software turns those coordinates into a game interface. However, the original Microsoft Store application’s availability and compatibility in 2026 are unconfirmed, so treat OpenDarts as a retrofit electronics project—not a guaranteed plug-and-play product.
The original project is documented on Hackster.io. Its historical estimates were about $25 and one hour, but those figures came from 2017 and should not be treated as current costs or build times.
As an Amazon Associate I earn from qualifying purchases.
How the OpenDarts machine works
The system has five distinct parts:
Electronic soft-tip dartboard matrix
↓
Arduino matrix scanner
↓ USB serial
Windows application or custom scoring software
↓
Game display and controls
- Dartboard: Provides electrical contacts beneath the scoring segments.
- Arduino: Scans those contacts and reports which matrix position was activated.
- Serial connection: Carries the coordinate data to a computer.
- OpenDarts: Supplies the game interface and interprets the incoming data.
- Controls: A keyboard, buttons, or sensors can handle misses, skipped darts, and undo operations.
The hardware does not inherently know that a coordinate means “triple 20” or “outer bull.” It only detects a row-and-column position. The software—or a custom coordinate map—must associate that position with a physical scoring region.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →What you need
Required for the original design
- An electronic soft-tip dartboard with an accessible contact matrix
- An Arduino Uno, or a controller with enough suitable GPIO pins
- A USB cable for serial communication
- A Windows PC capable of running the software, if OpenDarts is available and compatible
- Soldering iron, solder, wire, and basic hand tools
- Basic Arduino programming and soldering skills
Useful additions
- Header pins, connectors, heat-shrink tubing, and spare wire
- An enclosure or protective back cover for the controller
- Cable strain relief
- External buttons or a keyboard
- A separate display mounted away from likely dart impacts
- A vibration sensor for detecting some missed throws
The original build attached an Arduino case to the dartboard with adhesive. That may be adequate for a prototype, but a screwed or otherwise serviceable enclosure with replaceable connectors is better for regular use.
#1 Best Overall
- Various Games: This electronic dartboard features 45 games and 474 options to satisfy every player’s needs—from classic 01 games to Cricket. Supports up to 8 players simultaneously or challenge the computer opponents across 5 difficulty levels. Whether you’re a beginner or a seasoned player, you’ll always discover fresh ways to enjoy the dart game
- Clear LED Display: There is a large X/O cricket display on the cabinet door which shows not only cricket scores, but also the volume level when it is being adjusted. The control panel features a clear LED score display that keeps track of the scores of the current players, giving you all the information you need at a glance
- Voice Prompt: The electric dartboard offers 3 voice modes including Heckler. The Heckler feature provides voice feedback that corresponds to the player’s throw. When players make good throws, the system plays complimentary voice lines. Conversely, if throws are poor, such as missing the target, it delivers humorous teasing or sarcastic remarks
- Long Light Strips: The dart boards for adults feature long light strips on both sides with two lighting modes(on / off). It offers 8 different light colors, with each player assigned a unique color to distinguish rounds. In different games, lights flash when players hit specific scoring segments
- Wooden Cabinet: This electronic dart board is housed in a sturdy wooden cabinet with 2 metal handles for easy opening and closing. The cabinet doors have storage slots that can hold up to 12 darts. This dartboard cabinet set protects the board surface from dust and keeps your wall tidy. Perfect for game rooms, bars, recreation rooms or man caves
Inspect the dartboard before modifying it
Do not assume that every electronic dartboard uses the same wiring. Open the rear case, locate the original controller PCB and the separate matrix wiring, and photograph everything before disconnecting it. Label each connector and preserve the original parts if you may want to restore the board later.
The published example uses an 8 × 8 matrix, but the project author also encountered boards using arrangements such as 16 × 4 and 10 × 7. Count the conductors in both matrix strips before writing or uploading firmware.
In the project’s terminology, the strip with more lines is the master layer and the strip with fewer lines is the slave layer. With an 8 × 8 matrix, either strip can be assigned either role. With unequal dimensions, the larger strip is treated as master. The supplied code is therefore an example, not universal firmware.
Physical modification
- Disconnect power and USB cables before opening the board.
- Remove the rear screws and carefully separate the enclosure.
- Identify the matrix strips and the factory electronics PCB.
- Decide whether to unplug the PCB or remove its wiring. Cutting or desoldering the original electronics is destructive.
- Attach labelled wires or suitable jumper leads to the matrix connections.
- Route the wires through a protected exit and add strain relief.
- Connect the matrix lines to the Arduino according to the pin arrays in your firmware.
- Protect exposed solder joints before closing the enclosure.
Removing the factory PCB can disable the board’s built-in games, LCD, sounds, buttons, and power controls. Avoid leaving loose conductors inside the case, and do not connect unknown voltage sources to the matrix until its electrical arrangement is understood.
Rank #2
- REGULATION 15.5 INCH TARGET FACE: a full regulation playing area with precision concave segment holes that lock your darts in, and an ultra-thin spider that keeps more of every segment live
- BILINGUAL ENGLISH AND SPANISH VOICE: switch the board between English and Spanish, so a mixed-language household can each play in the language they prefer
- 43 GAMES WITH OVER 320 SCORING OPTIONS: Cricket, 01 and plenty more for up to 8 players, with a handicap setting so mixed abilities can play each other fairly
- PPD AND MPR AFTER EVERY GAME: the display reports your points per dart and marks per round once each 01 or Cricket game ends, so you can see whether you are actually improving
- IN THE BOX: six starter soft tip darts, 24 spare tips, a throw line, a throw line measuring tape, mounting hardware and a game manual; runs on three AA batteries or an AC adapter, both sold separately
Example Arduino wiring for an 8 × 8 matrix
The original example reserves Arduino pins 0 and 1 for serial communication and uses these assignments:
int masterLines = 8;
int slaveLines = 8;
int matrixMaster[] = {
13, 12, 11, 10, 9, 8, 7, 6
};
int matrixSlave[] = {
5, 4, 3, 2, A5, A4, A3, A2
};
These numbers describe the Arduino pins, not the physical scoring segments. If your board has different matrix dimensions, change masterLines, slaveLines, and both arrays to match the actual wiring. Do not connect matrix lines to pins 0 or 1 in this arrangement because those pins are used by the USB serial interface.
How the original scanner works
The published firmware starts serial communication at 9600 baud, configures the slave lines as INPUT_PULLUP, and configures the master lines as outputs held high. It then pulls one master line low at a time and reads every slave line. When a slave also reads low, the Arduino emits a comma-separated coordinate followed by a newline:
slave-index,master-index
After detecting a contact, the code waits approximately 500 milliseconds before continuing. This acts as a basic debounce and repeat-suppression measure, but it is not a complete event-handling system. Depending on the board’s mechanics, it may feel slow, miss a quick second contact, or continue to behave poorly when a dart vibrates against a segment.
Rank #3
- REGULATION 15.5" TARGET AREA — Built with a full-size 15.5-inch regulation soft-tip dartboard target to deliver authentic tournament-style play.
- ARCADE-STYLE DESIGN — Features a large scrolling LED display with animations, voice callouts, high-resolution sound effects, and classic arcade-style buttons for an immersive, coin-operated feel. The sleek black wood cabinet with LED lighting adds a polished, furniture-quality look to any space.
- 41 GAMES, 323 VARIATIONS — Loaded with a wide selection of popular games like Cricket, 301, Cut Throat, Killer, and High Score, plus hundreds of variations.
- UP TO 16-PLAYER SCORING & SOLO PLAY — 4-player scoring windows and dedicated Cricket displays support multiplayer games for up to 16 players with bright LED score displays, plus a virtual opponent mode for competitive solo practice.
- PRECISION PLAY FEATURES — Micro-thin dividers reduce bounce-outs while advanced game functions like double in/out, miss dart scoring, and a wide catch ring improve accuracy, control, and overall play experience.
The author mentions an Arduino Mega and other controllers, including a Raspberry Pi 2, as possible alternatives. The demonstrated implementation is Arduino-based, so another controller requires a compatible scanner and a replacement communication layer.
Build a coordinate map before scoring games
Raw serial output is not enough for reliable scoring. Test every playable region and record the coordinate produced by each one. Matrix wiring order may be arbitrary, and neighbouring physical segments may have unrelated indexes.
| Matrix output | Physical region | Score type |
|---|---|---|
j,i |
Example: 20 | Single |
j,i |
Example: D20 | Double |
j,i |
Example: T20 | Triple |
j,i |
Bull area | Outer or inner bull |
Validate singles, doubles, triples, outer bull, inner bull, and non-scoring areas. A board may also produce contacts from separators or mechanical flex, so test those deliberately.
Recommended Free Tools
Test the electronics first
- Upload the scanner firmware.
- Open the Arduino serial monitor at 9600 baud.
- Press or strike several segments using appropriate soft-tip darts.
- Confirm that output appears when a contact is made.
- Record each coordinate in your segment map.
- Check for missed contacts, duplicate events, and stuck readings.
- Close the serial monitor before launching another application.
A dart that misses the scoring contacts cannot be detected by the matrix alone. The original project mentions vibration sensors for misses, but does not provide a complete implementation. In practice, a miss button, keyboard command, dedicated sensor, or explicit end-of-turn control is useful.
Rank #4
- 34 Exciting Games with 354 Variations---Enjoy a range of classic and unique games, including 301-901, Cricket, No-score Cricket, Single Round High Score, 3PT Contest, 21 Points, Overs, Double Down, High Score, Shanghai, Infinite Shoot, and Halve-It.
- Three Language Options---Choose from English, German, or French.
- Adjustable Sound Levels---Select from 8 sound levels, including a mute option. Multiplayer Fun---Play with up to 8 players or challenge the computer with 5 levels of difficulty.
- 3 LED Displays---Clear and large displays enhance your gaming experience. Convenient Darts Storage---Built-in storage keeps your darts organized.
- Unlike other darts sets, our bundle features beautifully crafted barrels with full grip texture which allows any finger placement rather than forcing a front or rear loaded grip, 12 Precision Cut Aluminum Shafts for the maximum grip of flights + 20 rubber O-rings to prevent loosening, 24 Polypro Flights (Standard) for a stable flight path, Flight protector and dart wrench.
Configuring OpenDarts
The original instructions use the Microsoft Store and configure the application with:
- Communication Type:
Serial COM - Serial Port: The COM port assigned to the Arduino
The original project targeted Windows 10. Its historical Store reference is 9NBLGGH42L8N, which now redirects through the modern Microsoft Apps domain. The current listing, regional availability, price, and Windows compatibility could not be confirmed, so check those points on your own Windows installation before modifying hardware for this software.
When testing, confirm that the application expects the same 9600-baud speed and comma-separated coordinate format produced by the firmware. Only one program can normally hold the COM port open at a time: close the Arduino serial monitor before connecting OpenDarts.
Troubleshooting
The code does not match the board
Recount the matrix conductors. An 8 × 8 assumption will not work unchanged on a 10 × 7 or 16 × 4 board. Correct the loop bounds and pin arrays, then upload again.
Best Value
- Features 8-player cricket with 24 games and 132 options, including 5 Cricket games, and an 8-player score display
- Dartboard has a regulation 15.5" target area as well as tournament spider and trademarked tournament colors
- Micro-thin segment dividers dramatically reduce bounce outs while the Nylon Tough segments improve playability and durability
- Dartboard features a voice prompt for players to throw, a solo play option, a player handicap feature and sleep mode
The coordinates appear reversed or unexpected
The master and slave layers may be reversed, or the conductor order may not match your assumptions. That does not necessarily indicate a fault; rebuild the physical coordinate map by testing each region.
There are repeated hits
Mechanical bounce, vibration, or a dart touching multiple contacts can generate repeated events. The original 500-ms delay is only a simple filter. A more reliable scanner should track contact state, require release before accepting another event, and use time-based debouncing appropriate to the board.
The application cannot open the COM port
- Close the Arduino serial monitor and any terminal program.
- Disconnect and reconnect the Arduino.
- Check which COM port appears in Windows.
- Select that port in the application.
- Confirm the USB cable, driver, baud rate, and message format.
- Test raw output again before blaming the scoring software.
The board no longer works normally
That is an expected risk of removing the factory controller. Reconnect the original PCB if possible, or restore the labelled wiring. This is why photographing the untouched board and using connectors instead of permanent cuts is worthwhile.
When a modern rebuild is better
If OpenDarts is unavailable or unsuitable, keep the matrix scanner and replace the computer-side software:
- Have the Arduino send coordinates over USB serial.
- Read the stream with a local Python, Node.js, or similar application.
- Translate coordinates through your tested segment map.
- Implement game rules, turn handling, undo, skip, and miss controls.
- Display the result in a desktop or browser interface.
- Add LEDs, sound, networking, or a database if required.
A Raspberry Pi is a natural host for a local web interface and custom scoring logic. The original article mentions Raspberry Pi as a possible controller, while a later community project describes a Raspberry Pi, Arduino, Node.js, and browser arrangement; that is community evidence rather than an official OpenDarts implementation. See the Raspberry Pi documentation for the platform itself.
OpenDarts versus alternatives
| Approach | Best for | Main limitation |
|---|---|---|
| Arduino plus OpenDarts | Reproducing the original learning project | Destructive modification and uncertain software availability |
| Arduino plus custom application | Low-cost, flexible scoring | Requires software development |
| Raspberry Pi rebuild | Browser UI, sound, networking, and custom games | More setup and maintenance |
| Camera-based scoring | Steel-tip boards without electrical modification | Calibration, lighting, occlusion, and detection errors |
| Commercial electronic board | Ready-made scoring and controls | Less customizable and often more expensive |
Safety and reliability checklist
- Use the project with an electronic soft-tip board; do not assume steel-tip compatibility.
- Disconnect power while soldering or changing wiring.
- Prevent shorts between adjacent matrix conductors.
- Enclose exposed solder joints and protect the USB cable.
- Keep the computer, display, and controller outside the dart-impact area.
- Use strain relief and connectors so wiring can be serviced.
- Test all scoring regions before regular play.
- Expect to lose factory sounds, display functions, buttons, and built-in games if the original PCB is removed.
Is OpenDarts still worth building?
Yes, if your goal is learning, experimentation, or a low-cost retrofit and you already have a suitable electronic soft-tip board. The matrix-scanning idea is straightforward, inexpensive in principle, and does not require computer vision.
Choose a modern custom build instead if you need current Windows, Linux, or Raspberry Pi support; a browser interface; online multiplayer; reliable debouncing; replaceable wiring; or a guaranteed software path. In 2026, the principal uncertainty is not whether the Arduino can read the contacts—it is whether the original OpenDarts application can still be obtained and used with current systems.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

