I feel inclined to throw my two cents in here, because I play in both worlds, Teensy and CNC router stuff.
I think Teensy for cnc is one of the best ideas I have chanced across in this Forum.
I own a little YooCNC 6040, which I retrofitted with new electronics and a water system for routing PCBs and G10 glass composites. I currently run LinuxCNC.
I think it's a great idea to create a CNC controller based upon Teensy. I know I would buy it, assuming the board had nice isolated screw-terminal connections on it like others.
(By the way, on the topic of opto-isolated IO pins, limit and home switches, etc, do not settle for 5 volts, have option for the isolated inputs to accept up to 24 volts like MESA 7i76 does, for noise immunity, it solves many common noise issues especially on lesser machines which might be poorly grounded, etc. Plus many common inductive proximity sensors work up to 24 volts.)
That would be a hot seller, because it would be right at the center of several hobby universes; fast Arduino (faster than others), CAN bus?, Ethernet option (think smooth stepper), various user-developed sensors & probes, user firmware tweaking, open source, tons of IO for home/limit switches. And then throw in the 3d printer folks and their requirements = big market.
I am currently working on a Teensy/Arduino optical displacement sensor for workpiece height correction, to make the router bit follow warped PCBs, etc to solve the un-even height issues when removing PCB copper on cheaper machines. I strongly suspect it would be easier for me to make my Teensy-based sensor talk to a Teensy-based cnc controller, than to LinuxCNC. If enough CPU resources were freed (via those DMA tricks for handing the pulses) on the Teensy cnc controller to use my sensor with it directly, that would be even better.
I think if you can leverage DMA to run stepper pulses fast as "4 outputs to all run up to at least 500 kHz" that would be icing on the cake, as most hobby routers only require below say 100,000 or less to run respectably, so there is a nice margin, and there would be more "room" for dividing the pulses down for purpose of micro-stepping.
The DMA benefits might be a lot worse than 500Khz max per motor, but looking only at speed of pulses is limiting the appreciation of the other big issue, leaving enough CPU left over to do other things, like in my case, running a latency-sensitive sensor on the same Teensy device without significantly increasing jitter & latency for the sensor or the motor pulses. From this perspective, the more CPU cycles that are "freed up" to handle other tasks, the better.
My other thought was Teensy 3.6 has a CAN bus, which I suspect is becoming a popular bus for industrial control of servos and steppers. Maybe that's a nice touch, but I know little of the specs and requirements for CAN bus in general, and less for use controlling CNC machines, but maybe it could bring advantages? I think Linuxcnc supports the CAN bus now, and there is some buzz over there about it's advantages, etc.
The LinuxCNC developers and enthusiasts are a great source of quick info on technical subjects like timing requirements, etc and are generally available on their forum and on their IRC chat, see
http://linuxcnc.org
Done right, I bet it would become it's own thing, TeensyCNC based Controller, with it's own website(s), etc, from folks who build it out.
Do get that DMA working for stepper pulses, that's huge potential. I am happy to offer any facts I can as an operator, and testing such a beast on my machine.
Now I wonder if Teensy 3.6 has enough power/DMA tricks to do closed loop servo too, hmmm. (another topic, really)
But it already sounds like a killer app for controlling steppers at those suggested pulse rates,
and enough IO to handle home & limit switches, a probe input, some relays, motor speed 1 pulse-per-turn encoder input, etc.
And once again my mind wanders into the topic of could Teensy 3.5/6 handle a closed loop requirements, 4 motor encoders, servos, hmmm.
One challenge at a time, though.