For PCB design we use kicad and to automate the generation of gerber and outline files we use kibot.
For designing 3D base board adapters we use openscad