e hardware programming