A free piston engine with a linear power generation system with a variable stroke piston and improved construction and control is provided. The free piston engine includes a single double-ended piston located within a cylinder having opposed combustion chambers positioned at opposite ends of the cylinder. The piston is reciprocated within the cylinder between the opposed combustion chambers. The piston stroke is variably adjustable via the combustion cycles of the free piston engine and the linear power generation system such that the top dead centers of each side of the piston are definable. The piston stroke can then be adjusted to meet the optimum working conditions for a respective application.