For controller I plan to start with a Raspberry Pi 3B with a Protoneer CNC hat. Longer term, probably LinuxCNC with Mesa Ethernet break out. I ordered SN04-N (normally open) end stops and I have external stepper drivers and power supplies already in stock. Longer term, I will add a LinuxCNC controlled spindle.
For no reason other than I already have it and the CNC hat from a previous project. I assume, but do not know, that the pi4 works with the protoneer hat.
That makes sense.
And of course my next question was whether the CNC hat would work with either.
Good luck with your project and please do post on your progress.
Got LinuxCNC working under Mint Linux today, using the realtime kernel. It was a pretty involved test of my stubbornness. Given that, I will be ordering a Mesa 7i76e step/IO card. The computer connects via Ethernet and LinuxCNC can talk to it natively. The 7i76e tons of I/O and also a 0-10v spindle control.
The steppers, end stops, relays and whatever else I decide to throw at it should be controllable directly from LinuxCNC.
I found out not to allow Linux to update the kernel, for when it reboots the RealTime kernel will provide a lovely kernel panic and refuse to start. Easily fixed, but annoying. I disabled automatic kernel updates on my machine which will depend on me to perform them manually.