The aim of this work is to design a piezoelectric power generation system that extracts power from the vibration of a cantilever beam. A semi-cylinder placed in a water stream and attached to the beam is excited into vortex-induced vibrations (VIV), which triggers the piezoelectric deformation. The mechanical system is modelled using parametric equations based on Hamilton’s extended principle for the cantilever beam and the modified Van der Pol model for the bluff body (the semi-cylinder). These equations are simulated using the MATLAB software. The dimensions of the model, the flow velocity and the resistance are treated as design parameters and an optimization study is conducted using MATLAB to determine the combination of optimal values at which maximum power is extracted. The key findings of this research lie in the identification of the effect of changing the design parameters on output power. In addition to the numerical simulation, a finite element analysis is carried out on the bluff body and the hydrodynamic forces and velocity profiles are observed. It is determined that the vibration amplitudes increase with increasing diameter of the bluff body, length of the bluff body and water velocity.