PROJECT ABSTRACT
WE BOUGHT AN ARCADE CONTROL PANEL AND WE WANT ALL OF THE CONTROL ELEMENTS (JOYSTICKS, BUTTONS, TRACKBALL, ETC) TO BE CUSTOM LIT WITH RGB LEDS.
THE CURRENTLY AVAILABLE ARCADE CONTROLLER INTERFACE SOLUTIONS WEREN'T TO OUR LIKING, SO WE DECIDED TO CREATE OUR OWN.
THE CURRENTLY AVAILABLE ARCADE CONTROLLER INTERFACE SOLUTIONS WEREN'T TO OUR LIKING, SO WE DECIDED TO CREATE OUR OWN.
PROJECT REQUIREMENTS
THE ARCADE CONTROLLER MUST PLUG-IN TO THE HOST VIA USB AND SHOULD ENUMERATE WITHOUT DRIVERS (BY USING EXISTING HID COLLECTIONS/USAGES),
THE ARCADE CONTROLLER MUST BE ABLE TO CONTROL AT LEAST 30 RGB LEDS.
THE ARCADE CONTROLLER MUST BE ABLE TO READ AT LEAST 30 SWITCH INPUTS. (22 BUTTONS, 2 X 4 JOYSTICK SWITCHES).
THE ARCADE CONTROLLER MUST BE ABLE TO READ DATA FROM BOTH A TRACKBALL AND A SPINNER AND FORWARD THEIR DATA OVER USB.
THE ARCADE CONTROLLER MUST BE ABLE TO CONTROL AT LEAST 30 RGB LEDS.
THE ARCADE CONTROLLER MUST BE ABLE TO READ AT LEAST 30 SWITCH INPUTS. (22 BUTTONS, 2 X 4 JOYSTICK SWITCHES).
THE ARCADE CONTROLLER MUST BE ABLE TO READ DATA FROM BOTH A TRACKBALL AND A SPINNER AND FORWARD THEIR DATA OVER USB.
PROJECT IMPLEMENTATION
THE DESIGN/EVALUATION PHASE
DURING THE DESIGN AND EVALUATION PHASE, WE WILL BE USING THE STM32F072 USB MICRO-CONTROLLER TO CONTROL THE LIGHTING AND READ THE CONTROL INPUTS.
WE LASER CUT A SPARE PIECE OF ACRYLIC AND A CUT UP A RAZER BOX TO USE AS THE TEST PLATFORM WHILE WE WAIT FOR THE CONTROLLER UNIT TO ARRIVE.
DURING THE DESIGN AND EVALUATION PHASE, WE WILL BE USING THE STM32F072 USB MICRO-CONTROLLER TO CONTROL THE LIGHTING AND READ THE CONTROL INPUTS.
WE LASER CUT A SPARE PIECE OF ACRYLIC AND A CUT UP A RAZER BOX TO USE AS THE TEST PLATFORM WHILE WE WAIT FOR THE CONTROLLER UNIT TO ARRIVE.
THE BUTTONS
WE ARE USING STANDARD WHITE ILLUMINATED ARCADE BUTTONS. EACH BUTTON WILL BE MODIFIED TO USE ONE SK9822 RGB LED.
WE ARE USING STANDARD WHITE ILLUMINATED ARCADE BUTTONS. EACH BUTTON WILL BE MODIFIED TO USE ONE SK9822 RGB LED.
THE JOYSTICKS
WE ARE USING SANWA JLF JOYSTICKS WITH REPLACEMENT HOLLOW SHAFTS AND TRANSLUCENT BALL KNOBS. EACH JOYSTICK WILL BE MODIFIED TO USE ONE SK9822 RGB LED.
WE ARE USING SANWA JLF JOYSTICKS WITH REPLACEMENT HOLLOW SHAFTS AND TRANSLUCENT BALL KNOBS. EACH JOYSTICK WILL BE MODIFIED TO USE ONE SK9822 RGB LED.
|
|
THE TRACKBALL
WE ARE USING A 3" RGB ILLUMINATED SUZO HAPP TRACKBALL. THE BUILT-IN RGB LIGHTING WILL BE REPLACED WITH A RING OF TWELVE SK9822 RGB LEDS.
WE DON'T NEED TWELVE LEDS HERE, BUT FOR TEST PURPOSES IT'S WHAT'S WAS AVAILABLE OF-THE-SHELF.
WE ARE USING A 3" RGB ILLUMINATED SUZO HAPP TRACKBALL. THE BUILT-IN RGB LIGHTING WILL BE REPLACED WITH A RING OF TWELVE SK9822 RGB LEDS.
WE DON'T NEED TWELVE LEDS HERE, BUT FOR TEST PURPOSES IT'S WHAT'S WAS AVAILABLE OF-THE-SHELF.
THE CONTROL PANEL
THE CONTROL PANEL FINALLY ARRIVED. OUR CUSTOM ARTWORK LOOKS AWESOME AND WITH AN HOUR OR SO OF ASSEMBLY WE HAVE AN AWESOME ARCADE CONTROL PLATFORM.
THE CONTROL PANEL FINALLY ARRIVED. OUR CUSTOM ARTWORK LOOKS AWESOME AND WITH AN HOUR OR SO OF ASSEMBLY WE HAVE AN AWESOME ARCADE CONTROL PLATFORM.
THE LIGHTING WIRING
SO... MAKING WIRING HARNESSES MANUALLY OFFICIALLY SUCKS. WE'D PAY TO HAVE THESE MADE FOR SURE.
SO... MAKING WIRING HARNESSES MANUALLY OFFICIALLY SUCKS. WE'D PAY TO HAVE THESE MADE FOR SURE.
IN-PANEL TEST
LIGHTING PLAYER 2 FIRST.
LIGHTING PLAYER 2 FIRST.
INTERNAL WIRING
IT'S TIME TO GET THE INSIDE ORGANIZED AND WIRED
IT'S TIME TO GET THE INSIDE ORGANIZED AND WIRED
ELECTRICAL
USB MANAGEMENT
WE ADDED A 7-PORT HUB AND 3D-PRINTED A USB PLUG HOLDER THAT FITS SECURELY IN THE EXTRA REAR PANEL HOLE.
WE ADDED A 7-PORT HUB AND 3D-PRINTED A USB PLUG HOLDER THAT FITS SECURELY IN THE EXTRA REAR PANEL HOLE.
A LOBOTOMY AND SOME LIGHTS
WE DECIDED TO SIDELINE THIS PROJECT FOR A WHILE, BUT WE'VE PICKED IT UP AGAIN AND DID SOME MAJOR UPGRADES
WE DECIDED TO SIDELINE THIS PROJECT FOR A WHILE, BUT WE'VE PICKED IT UP AGAIN AND DID SOME MAJOR UPGRADES
THE LOBOTOMY
WE'VE REPLACE THE STM32072 WITH THE NORDIC nRF52840 AND ADDED EXTERNAL I/O TO TALK TO UP TO 64 BUTTONS AND JOYSTICK SWITCHES,, (COULD EASILY BE 100's WITH ADDITIONAL I/O CHIPS)
WE ALSO STARTED OVER WITH THE FIRMWARE AS THIS PROCESSOR HAS SO MANY ADDITIONAL FEATURES LIKE BLUETOOTH, LOW-LATENCY PROPRIETARY RF, AND FULL SPEED USB.
NEW FIRMWARE FEATURES:
WE'VE REPLACE THE STM32072 WITH THE NORDIC nRF52840 AND ADDED EXTERNAL I/O TO TALK TO UP TO 64 BUTTONS AND JOYSTICK SWITCHES,, (COULD EASILY BE 100's WITH ADDITIONAL I/O CHIPS)
WE ALSO STARTED OVER WITH THE FIRMWARE AS THIS PROCESSOR HAS SO MANY ADDITIONAL FEATURES LIKE BLUETOOTH, LOW-LATENCY PROPRIETARY RF, AND FULL SPEED USB.
NEW FIRMWARE FEATURES:
- EXTERNAL SPI I/O IS FAST AND WE SAMPLE ALL I/O 1000 TIMES PER SECOND. WE KNOW YOU'VE MOVED BEFORE YOU DO.
- FULL SPEED USB PERIPHERAL WHICH ENUMERATES AS THE FOLLOWING DEVICES
- 4 - DIGITAL JOYSTICKS, EACH WITH UP TO 16 BUTTONS
- 1 - KEYBOARD - FOR REPORTING KEYSTROKES FROM BUTTONS OR MACROS.
- 1 - MOUSE - FOR REPORTING RELATIVE MOUSE DATA FROM TRACKBALL AND/OR SPINNER.
- 1 = USBCDC SERIAL PORT - FOR UNIT CONFIGURATION AND LIGHTING CONTROL
- TWO SPI RGB LED CONTROL PORTS, EACH CAPABLE OF CONTROLLING STRINGS OF 100'S OF LEDS
THE LIGHS
THE ORIGINAL LIGHT MODULES WERE VERY DIFFICULT TO PRODUCE. SOLDERING SIX WIRES TO EACH 5MM X 5MM LED AND THEN CRIMPING INDIVIDUAL CRIMP PINS ON THE OTHER END OF EACH WIRE AND THEN SNAPPING THE CRIMP PINS INTO THE CONNECTOR HOUSING AND THEN DOING CRIMPING AND HOUSINGS AGAIN TO BUILD THE CONNECTOR CABLES... IT JUST WASN'T GOING TO WORK.
WE NEEDED SOMETHING EASIER TO MAKE WHILE ALSO IMPROVING MODULARITY AND EXTENSIBILITY, SO ASS AND I GOT IN GEAR AND CAME UP WITH A NEW LED MODULE NETWORK..
TO ELIMINATE THE SOLDERING ON EACH LED, WE DESIGNED AND 3D PRINTED A FRICTION FIT HOUSING THAT HOLDS THE LED IN WHILE ALSO MAKING THE CONNECTIONS BETWEEN EACH OF THE WIRES AND THE LED PADS. JUST PRESS THE LED INTO THE HOUSING AND YOUR DONE.
TO IMPROVE THE CONNECTORS, WE DECIDED TO USE RJ45 CONNECTIONS ALL SIX WIRES ARE CRIMPED INTO THE CONNECTOR AT ONCE.
THE CABLE SIDE OF THE CONNECTION IS NOW AN RJ45 JACK WITH SOLDERED JUMPER WIRES. THIS IS FASTER THAN CRIMPING AND NOW ADDITIONAL LEDS CAN BE ADDED TO THE END AS NEEDED.
THE ORIGINAL LIGHT MODULES WERE VERY DIFFICULT TO PRODUCE. SOLDERING SIX WIRES TO EACH 5MM X 5MM LED AND THEN CRIMPING INDIVIDUAL CRIMP PINS ON THE OTHER END OF EACH WIRE AND THEN SNAPPING THE CRIMP PINS INTO THE CONNECTOR HOUSING AND THEN DOING CRIMPING AND HOUSINGS AGAIN TO BUILD THE CONNECTOR CABLES... IT JUST WASN'T GOING TO WORK.
WE NEEDED SOMETHING EASIER TO MAKE WHILE ALSO IMPROVING MODULARITY AND EXTENSIBILITY, SO ASS AND I GOT IN GEAR AND CAME UP WITH A NEW LED MODULE NETWORK..
TO ELIMINATE THE SOLDERING ON EACH LED, WE DESIGNED AND 3D PRINTED A FRICTION FIT HOUSING THAT HOLDS THE LED IN WHILE ALSO MAKING THE CONNECTIONS BETWEEN EACH OF THE WIRES AND THE LED PADS. JUST PRESS THE LED INTO THE HOUSING AND YOUR DONE.
TO IMPROVE THE CONNECTORS, WE DECIDED TO USE RJ45 CONNECTIONS ALL SIX WIRES ARE CRIMPED INTO THE CONNECTOR AT ONCE.
THE CABLE SIDE OF THE CONNECTION IS NOW AN RJ45 JACK WITH SOLDERED JUMPER WIRES. THIS IS FASTER THAN CRIMPING AND NOW ADDITIONAL LEDS CAN BE ADDED TO THE END AS NEEDED.
WITH THE HARDWARE, FIRMWAR, AND LIGHTING UPDATES, THE UNIT IS REALLY WORKING WELL AND WERE MUCH CLOSER TO MANUFACTURABLE SOLUTION.. WE'VE ALSO STARTED WORKED ON THE SOFTWARE SIDE A BIT AND CAN FULLY CONTROL THE LED LIGHTING FROM THE PC.