In photovoltaic (PV) systems, the conversion of solar energy into electrical energy by the PV module is influenced by various factors, including sunlight intensity and temperature. To achieve optimal performance, it is crucial to accurately track the maximum power point (MPP) of the PV module. Among the numerous MPP tracking (MPPT) techniques that have been developed, the perturbation and observation (PO) method has gained significant attention due to its simplicity and reliability. However, the fixed perturbation step size used in the traditional PO algorithm can result in poor tracking capability, excessive ripple, and drift, leading to high power loss and low tracking efficiency. To address these limitations, this paper proposes an improved version of the PO strategy that introduces an adaptable step-magnitude mechanism, utilizing current perturbation instead of the voltage perturbation typically employed in the classical PO method. This enhanced indirect PO approach maintains low complexity and can be easily implemented on a cost-effective Arduino Uno board. A streamlined C++ code integrates the improved PO MPPT strategy with a Proportional Integral Derivative (PID) controller, eliminating the need for separate PID blocks and further reducing system complexity. To evaluate the effectiveness of the proposed technique, comparative analyses are conducted against the traditional PO algorithm, particle swarm optimization (PSO), fuzzy logic control (FLC), and a recently introduced approach, the zone voltage (ZV) method. Simulation results using Proteus software demonstrate that the improved PO approach outperforms the other techniques in various aspects, including achieving the highest static and dynamic tracking efficiencies of 99.38% and 99.88%, respectively, negligible power loss and fluctuations, the fastest convergence speed, and the shortest tracking time of 0.19 seconds.