I have been experimenting with dw660 router speed control, comparing the dimmer switch with the triac board (I have them wired in series) for speed control. I have a tachometer set up that lets me see the speed. If I just plug in my router without any other load the speed is close to 30K as expected. If I plug in some other devices on the same circuit, e.g. the 6A power supply running ramps and a couple of other small electronics, the speed I can achieve drops to about 25K.
Testing the range of speeds achievable with the triac board with Arduino supplying pwm and the dimmer set for no dimming I can achieve a range of speeds from about 19K to 25K (25K at pwm max of 255). The motor starts running rough and basically stops turning below pwm of around 20.
Setting the pwm at 255 and adjusting with the dimmer switch, I can get a range where it is running well of about 5K to 25K.
So my conclusion from this test is that the dimmer switch seems superior since it gives a better range of speeds, also is cheaper.
As a electrician I can tell you that running a AC motor on a lighting dimmer is generally a bad idea. I have seen people put these on their fans in their homes, they make a pretty audible noise, and it usually ends up burning the fan up. It would be hard to distinguish that sound with the noise of the router.
Edit: I totally missed the part where you had the dimmer on the signal coming from the arduino. I’m curious as to how this is working for you, and if this setup is dropping the HZ of the motor.
It’s kind of hackish but I am using a servo to adjust the dimmer switch with writeMicroseconds, using a servo from amazon made by lewansoul, it has about 270 degrees of rotation similar to the dimmer switch, I have a range of 550-2350 microseconds movement, which gives pretty good resolution of speed. It enables some “digital” control of speed, for reproducibility and allows me to adjust from the control panel without stooping over to twist the dimmer where I plan to have most of my stuff on the lower level of table. I have been using Armin’s remote joystick firmware and editing it to have extra features. I put in a 5V relay in my system that allows me to have emergency stop button on the controller. I put in a safety switch so I can toggle whether some buttons and the joystick send commands or not to prevent inadvertent moves.