May 4, 2026
Description
Welcome to CHAMv3!
I am extremely humbled by the amount of people who have downloaded CHAMv3 and posted their makes! I owe any success to you all, and I hope the CHAMELEON project makes custom arcade sticks more accessible for everybody!
As always, feel free to drop requests or suggestions in the comments! And, if you would like to support my work, please visit my Ko-fi! - RAF
MAX - 0.2 : 65mm version
SLIM - 0.6 : 52mm version (Older version 0.4)
Any provided OnShape links are to my working documents, are the most updated version of the project, and may differ from the files uploaded here.
May make variants with different locations for the Neutrik and/or AUX buttons
Will make updates to the Assembly Guide for clarity/accuracy.
Will make variants to the MAX model's iFrame.
JAN 2026
Revised OpenJoint and iFrame for the SLIM model. A recess was added to the joint to allow the iFrame to "slot" in to keep it from rotating. Also, alternative versions of the iFrame have been added to accommodate different layouts.
SLIM OnShape document updated to 0.5, but the old version will stay listed.
Re-uploaded all files to fix orientation in 3d-view.
SEP 2025
Added SLIM/MAX variants with magnetic bottom panels. Added section for them in Introduction.
Fixed the location of the joining hole for the iFRAME on the SLIM OPENJOINT.
AUG 2025
Fixed an unintended fillet on one side of the neutrik hole in MAX_BODY_L.
CHAMELEON v3. This is version 3 of my modular arcade stick and likely the final iteration of this design. The changes from v2 to v3 are less drastic than v1 to v2, but are significant. There are two variants: MAX (65mm) and SLIM (52mm). This addresses the interest in a taller case, and adds a bit more internal clearance to the SLIM variant.
STRONGER JOINT. The joint is vastly improved and is now a consolidated design. The OPENJOINTs now join to the body with M6 nuts/bolts instead of HSIs, and the iFRAME is an optional attachment. I have personally stood on the center of the fully assembled enclosure (in PETG) suspended between two platforms, and it didn't break.
BETTER BUTTON PANELS. The v3 panels are now 6mm thick and use M4 furniture bolts. Since the x/y panel dimensions are the same, CHAMv3 accepts v2 panels. For organization's sake, I've made a separate Printables page for CHAMv3 panels, and I discuss them in further detail there.
Please click HERE for the CHAMv3 Button Panels Printables page!
AUX BUTTONS. Due to the new joint design, the rear auxiliary buttons are removed. Instead, there are 5 holes on the right side of the case. Recommend plugging unused holes with my 24mm plugs.
MAGNETIC VARIANT. By request, I've added a version of the case that utilizes these 8x3 mm magnets from Amazon. The true height of these magnets is actually 2.7mm (not 3mm) and I designed the slots accordingly. Use super glue gel to join x8 to the case and x4 per bottom panel. Let the glue fully cure before putting them under load.
This reduces the BOM by x8 M4 HSIs and x8 M4x16 countersunk bolts. All other instructions for the magnetic variants are the same, and they are still compatible with regular OPENJOINT and iFRAME.
WARNING: The completed build takes ~1kg of filament! Ensure your printer & slicer are well-tuned before attempting this project!
BODY_L and BODY_R:
4 Walls / 20-30% Cubic Infill / No Supports / Brim Recommended
Tested in PLA and PETG
Align the model along the diagonal of the build plate in your slicer (if needed)
The corners of the body will likely lift from the build plate – ensure strong adhesion!
If using a brim, post-process with deburring tool
OPENJOINTs and iFRAME:
5 Walls / 50% Cubic Infill / No Supports / Brim Recommended
Tested in PLA and PETG
Due to the OPENJOINT being long and somewhat thin, warping is likely – a brim helps alleviate this (post-process with deburring tool)
The long, flat side should face the build plate so that any potential warping of the part does not affect the final dimensions of the enclosure
BUTTON PANELS (located HERE):
4 Walls / 30% Cubic Infill / No Supports
PLA preferred over PETG for rigidity (and prettier colors)
The exterior face of the panels should face the build plate.
M6 Hardware:
x4 M6x50 Countersunk Screws for MAX iFRAME // x2 M6x50 for SLIM iFRAME
x4 M6x45 Countersunk Screws
x4 M6x30 Countersunk Screws
x8 M6 Nuts and Washers (+2 or +4 for iFRAME)
M4 Hardware:
x8 M4x16 Furniture Bolts (for top panels)
x8 M4x16 Countersunk Screws (for bottom panels)
x8 M4x20 Countersunk Screws (for joining features)
M3 Hardware (Optional):
x4 M3 Heat Set Inserts (+2 if using for Neutrik)
x4 M3x6 Screws for PCB (+2 if using for Neutrik)
Controller Hardware:
Arcade Stick PCB - RP2040 Advanced Breakout Board or Brook
Arcade Stick Buttons and/or Joystick
Neutrik NAUSB (or similar)
Soldering Iron
For installing HSIs
Deburring Tool
To clean up the sharp edges from using a brim
PLAN & PRINT
- Decide what panel layout you would like to use. This will determine whether you can attach the iFRAME.
- The iFRAME is incompatible with notched panel layouts that have a center 30mm button
- If in doubt, print x2 OPENJOINTs.
- After finalizing your decision, print out all of the parts.
INSTALL BODY HEAT SET INSERTS (HSIs)
- HSIs are installed via soldering iron – this requires a steady hand. Install HSIs as straight as possible into the hole.
- Recommend watching some YouTube videos on HSI installation if this is your first time. I like to slowly insert until the final 1-2mm, then I use a flat metal object to push it flush with the hole and allow it to cool.
- As a general rule: countersunk holes are not meant for HSIs.
- All countersunk holes are for screws, and will be referred to as “screw holes”.
- The body requires x16 M4 HSIs in total.
- Each half of the body requires x8 M4 HSIs that align with the screw holes in the upper and lower panels.
INSTALL OPENJOINT HSIs
- The joint requires x8 M4 HSIs in total.
- Each OPENJOINT requires x4 M4 HSIs that align with the screw holes in BODY_L and BODY_R.
- There are 4 extra holes to accommodate the use of a longer screw for the upper and lower panels – do not install HSIs into these!
(OPTIONAL) INSTALL M3 HSIs
- x2 M3 HSIs install into the Neutrik mount in BODY_L.
- Some use nuts/bolts, but I like to use HSIs – whatever you prefer.
- x4 M3 HSIs install into a PCB mount on the upper or lower panels.
- There are several options—use the mount that works best for your layout.
- Honestly, I don't even install these. I snip a bit of toothpick flush to the top of the mount and use a self-tapping screw.
ASSEMBLE JOINT AND BODY
- If using the iFRAME, insert the M6x50 bolts through the OPENJOINTs into the iFRAME and fasten to the nut and washer.
- Insert the assembled joint into BODY_L and BODY_R. Align the outer screw holes, insert the appropriate length M6 bolts, and fasten with nuts and washers.
- Fasten x8 M4x20 countersunk screws through the body (in the panel rails) and into the OPENJOINTs.
- Ensure everything is square, and all bolts are fully tightened.
INSTALL PANELS AND CONTROLLER HARDWARE
- If you made it this far, then it's the home stretch!
- Install your controller hardware and wire everything up.
- Ensure all panel screws are fully tightened and you're good to go!
PLAY VIDEO GAMES
Happy Printing! If you would like to support my work, please visit my Ko-fi!
RAF
License:
Creative Commons — Attribution