Here you will find the needed 3D print files and directions to build a nice looking Groove Coaster shell and get your own DIY-ASC controller!
Some glamour shots
Apart from the 3D printed parts you will need the following tools and materials (there are some Aliexpress links as reference):
- 1x Arduino Leonardo or clone board.
- 2x Arcade sticks (Sanwa JLF like clones are good, there are 5 pin header and microswitch versions)
- 2x Round 60mm white pushbuttons.
- 1x 33x33mm square white pushbutton.
- Some female quick disconnects to easily connect/disconnect wires to the sticks and pushbuttons.
- 2x Small round white momentary pushbuttons.
- 2x Soft microswitches for the Left and Right pushbuttons.
- 1x Neutrik like female USB C to Female USB A panel connector.
- A few M5 bolts and nuts.
- A few M3 bolts.
- Some M3 heat inserts.
- 4x Rubber feet.
- 1 meter of WS2812 ledstrip.
- 1x short USB micro to USB-A wire to connect Arduino Leonardo to the USB-C panel connector.
- Solder, Flux and Soldering Iron (and basic soldering skills)
- Some wire cutter and a crimping tool for the quick disconnects.
- Some shrink tube for cable joints.
- About 3 meters of 24awg cable.
- Male dupont cables.
- 2x 5mm leds (colors of your preference)
- 1x Left, Center and Right frame.
- 1x Bottom Left, Center and Right plate (you could use an accent color for this)
- 2x Frame Spacer (you should use an accent color for this)
- 1x Left, Right, Logo and Front plates.
- 1x each file on INSERTS folder (you should use an accent color for this)
- 2x Joy Base, Joy Tube, Joy Button and Stick Spacer parts.
I used the following parameters on my slicer profile:
- Layer Height 0.2 (i use a 0.4mm nozzle)
- 3 or 4 walls/perimeters.
- 15-20% infill is enough.
- Enabled normal supports on build plate only for Joy Tube and Joy Button parts.
- You really should use a brim or mouse ear brim for the Frame Parts (because they are big and take a long time to print)
All the Plate parts having some logo/letters engraved on them, must face up its engraving marks. For the rest, Please check the Print_Orientarion folder for pictured details.
- Attach the Insert parts to the Left, Center, Right Frame, the Logo Plate, Front Left and Right plates using some CA glue or whatever you use to glue your 3D printed parts.
- Attach the USB-C panel to the back of the Center Frame and attach it using some M3 screws nuts and bolts. Also screw in the two small round white momentary pushbuttons and fix them with its own washer and nuts.
- Using 4 M5 screws, washer and nuts put together the Left, Center and Right Frame parts using the 3D printed Frame Spacers between them to build the body of the controller.
- Put 4 heated M3 inserts on the tiny holes on the top of the Center Frame to screw in the Logo plate later.
- Using 4 M3 screws attach the Logo plate on top of the center Frame. Also with some M3 screws, washers and nuts fix the Front Left and Right Plate to the front of the Left and Right Frame parts.
- Attach every JLF like joystick to the Stick Spacer part using two M5 screws on each Spacer.
- Solder the corrresponding 3 wires (DIN, GND and VIN) to each piece of the ledstrip, then remove the back layer of the ledstrip to expose the sticky surface, and then pass the cables trough the hole in the inner wall of the Joy Base part and slide your ledstrip to glue it in place (leds should be facing outwards) repeat for the other Joy Base part.
- Assemble the printed Joy Tube parts on the JLF like arcade sticks shafts using two M4 button head screws (do not overtight the screws)
- Using 4 M5 screws, washer and nuts put together the Joy Base over the Left and Right Frame parts using the corresponding guide holes.
- Change the default microswitch on the 60mm buttons if you got the lighter ones before the next step.
- Assemble the 60mm buttons on the Joy Button part, and solder the wires to the microswitch and leds.
- Assemble the Joy Button and the Joy Tube parts together routing the cables and twisting the recessed part into its lock position and then add a M3 screw to avoid unlocking.
- Solder each wire to the microswitchs or th 5 pin header (depending on what version you got) on each JLF like joystick.
- Solder the Center frame back momentary pushbuttons and the PLUS button LED to the corresponding pins in the Arduino Board (check the pinout section below)
- Put the heated M3 inserts on all the holes for the supporting Plate tabs for every Frame part at the bottom.
- Assemble the Bottom Plates of each part of the frame using M3 screws and for each of the outer most sides use some rubber feet, confirm everything works before tightening up.
- Solder a daisy chained GND wire to all leds, joysticks, buttons and ledstrips.
- Solder pins 4, 5, 6, 7, 8, 9, 10 and 11 to the left and right joysticks.
- Solder pins 0 and 1 to Left and Right buttons.
- Solder pins A0, A1 and 13 to the Minus, Home and Plus buttons.
- Solder pins 2, 3 and 12 to the Left, Right and Plus led buttons.
- Solder a daisy chained VCC wire to the VIN point on each piece of the ledstrip.
- Solder pins A2 and A3 to the DIN point on the Left and Right ledstrip piece.
Follow the building instructions for the awesome LUFAHybridFightstick repository made by CrazyRedMachine until the fifth step and then flash the code i leave HERE (which its actually his code with a different pinout and a rainbow animation effect for the ledstrip only)
Here it is the pinout i used for each stick, button, led and ledstrip.
/* PINOUT (follows Nintendo naming (X=up, B=down)) */
#define PIN_UP 4
#define PIN_DOWN 5
#define PIN_LEFT 6
#define PIN_RIGHT 7
#define PIN_A 11 //XBOX B
#define PIN_B 9 //XBOX A
#define PIN_X 8 //XBOX Y
#define PIN_Y 10 //XBOX X
#define PIN_L 0 //XBOX LB
#define PIN_R 1 //XBOX RB
#define PIN_PLUS 13 //XBOX START
#define PIN_MINUS A0 //XBOX BACK
#define PIN_HOME A1
#define PIN_L_LED 2
#define PIN_R_LED 3
#define PIN_PLUS_LED 12
#define DATA_PIN1 A2 //ledstrip Left
#define DATA_PIN2 A3 //ledstrip Right
All the work done here was possible with the help of these awesome fellows:
- CrazyRedMachine: for the LufaHybridStick code and constant help on coding.
- Patchii: for the initial STL files i used as reference to work on my remixed parts.
- Thomas (from C&S discord): for his modular 3D cases for rythm controllers inspiration.
- All the Cons & Stuff discord community for being so cool and nice.