We write all our own software. Microchip is the micro-controller of choice and we have large libraries of code that we can re-use. Windows is the preferred OS and we try and write all our code in .NET
We have many products that use USB or CAN bus, sometimes together with a Windows program. We often use these technologies to build test equipment for our products.
We have dabbled in Android, but so far it is still early days.