I was talking to a gentleman in Louisville KY yesterday, and he politely told me off because our website is not explicit enough about our custom controller offering. Not that I mind such critiques - how can we make our message clearer unless people give us feedback? Anyhow, here's a shameless plug for our custom capability:
We do make custom controllers. In fact, we make many more custom boards than standard boards, because we have some major OEMs as customers and make some of their products in very significant numbers.
One thing most of those boards have in common, however, is that they are still SPLat controllers at the core. That means they are programmed using SPLat/PC, with MultiTrack and all that. In some cases we do the programming and in others the customer does it. Frequently we get the customer going with an initial program and they then take over ongoing enhancements themselves.
By making a custom controller around a SPLat core we gain a huge reduction in the initial engineering cost (NRE). We also reduce the project risk factor to virtually zero, because so much of the design is based on existing recipes. If a project does include some element of the unknown (say a unique sensing arrangement), we make sure that aspect is tackled first and fully resolved before expending effort om the main design. And naturally, a SPLat controller means easy programming because the language and tool set have been optimized for embedded controller applications.
The other advantage of making SPLat-based custom controls is that our customer can do his Proof of Concept prototypes using standard off-the shelf SPLat. When the custom design is done most of the original programming can be re-used, again saving money and reducing risk.
We have never had a design failure with SPLat. On those occasions where a redesign was required it was because the customer had not properly specified his needs to start with. It could probably be called a specification failure. Even that happens much less frequently than it might, because we are quite good at teasing out of our customers exactly what they need. The last redesign we did was because the customer belatedly realized he had 3 other products that could use the same controller if only it had a couple of extra features, something we could hardly have guessed at in the beginning. We are currently conducting research into the process of specifying controllers, both from the point of view of extracting information from customers and also how to formally represent a functional and software specification in a way that does not require a PhD to understand.
Sometimes we do make a non-SPLat custom controller. This will be either where it is an appliance control being made in very high volume at a rock bottom price, or where the performance (speed, memory size) requirements exceed what we can achieve with a SPLat. At the low end a SPLat may be too much performance (and cost), and a lean and mean custom design is justified. We can then use tiny 8 or 16 pin processor chips like small PICs. At the high end we can and do use much more powerful processors like 32-bit ARMs.
The custom SPLat approach comes into its own in one of two main scenarios:
- Where the quantity is fairly large (300-500 plus per year) there can be a significant saving in making something "down to size" (i.e. trimming off the fat).
- Where a feature is required that is difficult or very expensive to provide in off the shelf product. In some cases we save the customer more than the cost of the SPLat by eliminating external add-on gadgets like current limiters or sensor pre-amplifiers.
