I have tried all suggestion in comment but no good result. Finally, I **add capacitor 100uf to VCC and GND of arduino (5v)**, and remove the 1k Ohm in pin 11. Here's the update: [![enter image description here][1]][1] Result = The motor is *not too hot* anymore. I feel satisfied of this project. But, I still find the vibration of the motor. Conclusion: IRFZ44N is better than [TIP122][2]. **BUT PLEASE**, if you ALL have other best solution, please let me know and I will remove this answer. [1]: https://i.sstatic.net/yvSFl.png [2]: https://electronics.stackexchange.com/questions/677721/build-a-speed-controller-for-3-7-v-brushed-dc-motor-720-using-bd139