The use of DC motors is now common because of its advantages and has become an important necessity in helping human activities. Generally, motor control is designed with PID control. The main problem that is often discussed in PID is parameter tuning, namely determining the value of the Kp, Ki, and Kd parameters in order to obtain optimal system performance. In this study, one method for tuning PID parameters on a DC motor will be used, namely the Particle Swarm Optimization (PSO) method. Parameter optimization using the PSO method has stable results compared to other methods. The results of tuning the PID controller parameters using the PSO method on the MATLAB Simulink obtained optimal results where the value of Kp = 8.9099, K = 2.1469, and Kd = 0.31952 with the value of rise time of 0.0740, settling time of 0.1361 and overshoot of 0. Then the results of hardware testing by entering the PID value in the Arduino IDE software produce a stable motor speed response where Kp = 1.4551, Ki= 1.3079, and Kd = 0.80271 with a rise time value of 4.3296, settling time of 7.3333 and overshoot of 1.