This is a (very) small project box for an Arduino Nano that uses the USB port for power, has a JST-SM connector socket for "output", and can include a single push-button for "input". I use this for controlling a single collection of pixels, such as a 16-bit ring.
You can solder connections directly to the Nano if you like, but I prefer to simply solder in the Nano header pins on the top side, and then make connections to those pins.
I recommend printing with supports for the box - the USB hole doesn't really need it, but the hole for the JST-SM connector will need a lot of filing without them. Note: the JST-SM socket connector with the "ears" is the one designed for panel mounting (the connector with the clip and pins should be on the side receiving power and signals). If you need to remove the JST-SM connector after it has been placed into it's hole, use a pair of needle-nose pliers to squeeze the ears and then push it back into the box.
The lids are a very tight "snap fit". One lid has a 7mm hole for the type of push-button I have. The other does not have a hole, and can be edited in a 3D modeling program like TinkerCAD to contain whatever size hole you need. I suggest placing this hole towards the end away from the connectors, otherwise the under-side of the button may run into pins/connections on the Nano.