A large, comfortable arcade stick box that can be easily customised using OpenSCAD. The default layout uses the Sega Astro City joystick/button positions, and an included example mod shows what a Hitbox-style layout would look like for this button layout. Both tops are removable without tools; a simple array of snap inserts are used to hold the top in place, making it easy to pry off and access the wiring or replace the top with a new layout. Layouts are provided through the included libraries, which can easily be modified with a different number of buttons or entirely different layouts.
All parts fit within a 180mmx180mm square and should fit easily on a build plate at least that large, although larger might be necessary if you need extra support. Top and bottom halves use a complex cutout to ensure they fit together easily, and can be glued together with superglue or epoxy, or friction welded if you want to be all fancy about it like me.
Also includes a mounting point for an Adafruit USB-C adapter, making it easy to add a replaceable cable. The USB-C adapter can be mounted using a very simple printable bracket, which is available here: https://www.youmagine.com/designs/adafruit-usb-c-adapter-mount