Added controller object to handle the read/write protocol with the external hardware controller.