Solar energy conversion shows two main challenges: the conversion efficiency of the cell itself, and the adaptation between the generator and the load, in order to deliver the maximum power to the latter. In the case of photovoltaic generation, the difficulty arises mainly from the fact of having a Maximum Power Point (MPP) variable with the atmospheric conditions. To address this problem, MPP Tracking algorithms have been developed and optimized. There are different algorithms with different implementation costs and complexity, and which offer different results. In this paper an FPGA-based implementation of one of these MPPT algorithms (the perturb and observe algorithm, P&O) is presented. The FPGA chosen is the Icezum Alhambra II, belonging to the nowadays only family of open source FPGAs, the Lattice ICE40 family.