Hi! My bf and I are making a DIY CNC machine. I've been reading through this site and several others trying to take the best elements of the different machines I have seen.

It looks like at the moment we are building a torsion box frame of solid wood / plywood frame for the table and gantry. We will be using timing belts for the drive train on the X and Y axis, and we bought a lead screw for the Z-axis. However, I am not sure about some aspects of the bearings. (I also plan on adding a shield for the x-axis rails to keep dust at bay. I will see what I can work out for the Y and Z axis too.)

We plan to use the machine on PCBs, MDF, plywood, and some aluminum work. (Although probably not too much.)

My bf and I already bought Hiwin linear bearings and rails. For the X/Y-axis, we bought 30mm rail w/ 4 flange bearings for the X-Axis and 2 flange bearings for the Y-axis. For the z-axis, we bought 20mm rail with 2 flange bearings. (We also bought some wipers / seals to make them last longer.)

Here are my questions:

For the y-axis, is it better to put them perpendicular to each other on the same face? (Which face?) Or should they be on the top/bottom of the gantry? (Or front/back?) I know there will be some forces working against them either way, but I wasn't sure which was the preferred method. It seems like having one on top would make it support more weight than the one on bottom. I was currently planning on keeping them perpendicular along the front face.

For the z-axis (and perhaps y-axis), is having only 2 bearings enough? Or will there be too much flex? I know my bf wanted to cut some aluminum pieces, which I thought would be the limit of what the machine could handle. But as I have been planning it out, I have begun to worry about the possibility of flexing on the z-axis / plunge arm. I'm sure having 2 per rail would be best, but can I get away with 1?

I also thought for the z-axis, having 1 bearing per rail and 2 rails, the lead screw would help prevent some of the flexing if I placed it in the right spot. Is that possible?

Thank you for your input!