Panel controller