General Firmware Knowledge for Printer Design

Not sure if this is the right place to ask this, but I’ve started on a project to design and build my own 3D printer from scratch and while I have the mechanical side of things down pretty well, I’m woefully uninformed on anything software-related and the idea of having to set up the firmware with my own configurations intimidates me a bit. Is it important that I know what firmware I want to go with before I actually start on a physical design (for example taking the size of a particular model of mainboard into account), or is this something that can be decided later on in the process? Based on a few videos I’ve watched I’m probably leaning towards Marlin for a first printer, mainly for its simplicity (compared to others) and wide use. Just curious as to whether there are other considerations I need to have for firmware support, and I suppose any other general tips that might help. Thanks in advance to anyone who answers.

Have you tried see if there are forums for these different firmware types. They may be able to steer you in the right direction.

Since it is your own design there is likely to be more adapting and configuration changes to get things working well. For that reason I would recommend Klipper since it doesn’t involve a re-compile/upload everytime that you change some parameter.