Our project CNC, pieced together from stuff around the shop, has performed several very informative test cuts. Several items we've suspected might be potential issues have been proven as such. Our Z-axis was indeed unreliable in its vertical alignment due to a bent ball screw. Beyond the ball screw, the entire gantry assembly for Z-axis doesn't have the rigidity to avoid tool chatter when pushing a quarter inch diameter endmill through MDF. The Z-axis rollers prone to loosening were only the weakest link in this chain, we're confident there are additional problems lying in wait.

On the upside, some items we worried about have not become limiting factors. Using an inexpensive ESP32 for stepper motor control timing was a question mark. We knew the real time guarantees of a shared core were not going to be as precise as a dedicated real-time processor like the PRU of a Beaglebone. But we didn't know if it was good enough. And finally, we didn't know if the salvaged Parker motion control XY stage at the heart of this project had hidden problems that could have sunk the project. We think it might have been retired due to an electrical problem we fixed, but it might have been retired due to some other problem we couldn't fix. Given the consistency we saw between runs, it looks like an ESP32 running Grbl is a fine match for the decades old (but still precise) Parker table.

We've learned a lot of lessons in the software realm as well. From configuring GRBL to switching G-code sender to bCNC to CAM parameters of Fusion 360. It feels like there are tons more to learn on the software side of CNC projects, so that's where the focus will remain for the near future. It'd be wonderful to have a rigid and dependably vertical axis capable of swinging large tools, but even without, there's lots to learn using what we've put together to date. The next area of exploration will be CNC engraving.