Most of our projects have an element of software. We feel that one of our major advantages is our ability to reduce component cost by ulitilizing software to replace electronic components. We have been doing this since the invent of micro-controllers in the 1980s and we have become pretty proficient at it. Our software designs cover a wide gamut of processors from simple 8-bit processors without an operating system to Windows PCs using .Net and WPF. We have developed software for signal acquisition and signal processing, communication and display. We have developed software used for patient monitors and ventilators. We have developed software for laboratory systems. We have developed software for a Cathlab and we have developed software for a mouse for the blind. We have developed software in Pascal, we have developed software in C, we have developed software in Delphi, we have developed software in C++ and we have develped software in C#. We have written code in Java and we have written code in native assembly language.
Most of our designs today are built around ARM based CPUs. Our low end processors include the Stellaris Processors from Texas Instruments and PIC processors from Microchip. Our higher end processors allow development under LINUX and Android.
All of our software development begins with a requirements specification. This document is the outcome of the user requirements and decisions made at the system design level of the division between hardware and software. Software development usually begins using our development boards in parallel with the hardware development. Once the hardware is ready we begin the porting of the software to the target environment. Following integration of the software and hardware, we go into a testing phase where we test the software and look for any latent bugs.