Having a clear understanding of underlying hardware allows us to write better software to control the hardware. We can write device driver software for many different RTOS's and OS's. We have written device drivers for displays, keypads, motor controls, communications devices, MSR readers, MICR readers and many other custom devices.