P&O algorithm is one of the most common used MPPT tracking techniques in the Photovoltaic (PV) systems due to its simple structure, less use of parameters and easy implementation. Traditional Perturbation and Observation (P&O) MPPT algorithm (Tavares et al. 2009) used a fixed step size to track the Maximum Power Point (MPP) during the perturbation period. The step size of perturbation is decided by the needs of tracking speed and steady state oscillations. When a larger perturbation step size is chose, a faster tracking speed can be obtained. However, larger oscillations will be generated near the MPP and cause significant power losses. Conversely, to use a smaller perturbation step size can reduce the power oscillations and losses, but also the tracking speed. To solve this problem, a modified P&O MPPT algorithm is proposed to use a variable step size technique to perturb and track the MPP of the PV systems. When the operating point of PV modules is far away from the MPP, the system will automatically increase the perturbation step size to reinforce the tracking speed. When the operating point is close to the MPP, the system will also automatically reduce the perturbation step size to a certain extent in order to reduce power oscillations and losses.