A controller to peripheral program