I was curious to see how the hackaday circuit would perform with from a 5 volt supply if i used an MCP6002 rail to rail op amp (pin compatible with a LM358). I also used a 4N35 opto-coupler which I had in my odd parts box instead of the 6N136. I got an output range within about 150 mV short of the rails.
The circuit is actually described as a non inverting unity gain amplifier coupled with a 2 pole Butterworth low pass filter. At least, that is how I interpret it:
The circuit works in such a way that if the connection to the optocoupler led fails (the Arduino crashes, restarts etc.) the maximum voltage (ie 5 volts) appears on output. It is not clear from the information supplied if that means the motor runs at maximum speed or if it stops. Probably, if it means the motor runs at maximum speed, the circuit should be changed.
Edit 1
I also inverted the input into the buffer op amp with a PNP transistor so that if there is no power to the opto-coupler led, the output voltage is 0. I got within a couple of millivolts of the rails.
See Controlling isolated 0-5V - #15 by 6v6gt - General Electronics - Arduino Forum