
The problem
A few months ago, I built an add-on for the shifter on my sim rig that allows me to change gear ranges when driving trucks in ETS/ATS (Read more). The two switches are connected to an Arduino, that is plugged into the computer as an HID game controller. In addition to this device, I also have a handbrake that I built myself and is connected to the same Arduino. The problem I find myself in is that I sometimes only want one or even none of the two devices to be mounted on the sim rig and when I want to connect one of them, I need to remember which pins to plug the wires in.
The solution
To fix this problem, I decided to built a sort of hub that would allow me to freely connect and disconnect the devices. When I ordered the switches for the range selector, I also bought some RJ-12 cables and sockets for this exact purpose.
This is where the internal struggle began. The perfectionist in me wanted to implement some sort of protocol that would make it possible to connect any of the devices in any of the sockets. In the end, I went for the pragmatic solution of each device having its own dedicated and labeled socket in order to keep the devices as simple as possible.
Building the hub
I designed the enclosure to fit an Arduino Leonardo and 5 RJ-12 sockets for future expansion. I left a small hole and a platform to glue in a front-facing USB socket that would fit a short cable going to the Arduino. For the lid, I decided to experiment with magnets that I embedded into the base as well as the lid.

Once everything was printed, I glued the sockets and the USB cable in place and screwed the Arduino in. I then wired the first two ports up for the range selector and the handbrake. There was a bit of an issue with the magnets. They went in fine in the base but the lid was too thin which resulted in two of the corners breaking while inserting the magnets.

Conclusion
I didn't bother printing a new lid as the hub sits below the seat of my sim rig and it's only there to keep the dust out. Apart from that, it has been working without any issues. One thing I wish I had done differently is the thickness of the walls. They are a bit too thin and I have to be careful to not flex it too much when plugging devices in and out.