OK so i had some wiring issues with how it was installed, was having nightmares with the screen, and getting the IR/RPM sensors working, so i ripped the whole thing apart and re-assembled it properly. Much neater now and no issues.
On the left side of the shell there is the 1.8" screen, joystick, reset button, mag insertion switch, mag size sensors, buzzer, level converter, and of course the arduino.
On the right side, are relay, voltage sensor, dart IR sensor, RPM IR sensor, and power supply. For now its running off standard alkalines, but have replaced all the wiring so it will be getting a LiPo shortly.
The code is about 85% done. At the moment its tweaking things like checking the mag size sensors are set to select properly, make sure all the magazine insertion stuff is in the right order, and that the screen updates properly when things happen. All the code is there, mostly just the order things happen.
There are 2 IR sensors in the barrel, one at the dart insertion point, one at the exit. By measuring the time it takes to get between them, it should give an approximate dart velocity. However when only measured across 10cm, it may not be wholly accurate, but it looks cool
The RPM sensor is also working properly now. On alkalines with stock motors it gets around 11-12k rpm. However i'm measuring every 250ms and multiplying it out, so again its not 100% accurate, but pretty close.
The gear going in the left side:
And the right side installed. The flywheel enclosure and flywheel got a quick spray of black paint to minimise any IR reflections.