These days product design typically involves sensors, LEDs, displays, buttons or a touch screen, sound, data logging, and wireless connectivity. The lowest cost, lowest power, most flexible, and most compact approach to implement all of this is almost always a micro-controller.
A microcontroller is a processor – a computer – that includes its program, memory and most (or all) of its peripheral functions on a single chip, with embedded software to program and control its behavior. Microcontroller costs vary depending on part complexity and volume needed, ranging from $0.20 for a small, high-volume 8-20 pin part, up to $10 for a large, high performance part with hundreds of pins and every imaginable feature. Selecting the best microcontroller for your product is challenging – there are large numbers of suppliers, options, features, and requirements to consider – but it is also critical.
The first step to selecting a microprocessor is to understand the product application requirements. What does your product need to do? What are your communication requirements? USB, Ethernet, wireless connectivity? What peripherals do you need to support: analog and digital I/O, timers, display interfaces, or control for motors and other special functions? A primary requirement may be low power for longer battery life. Computational speed and memory are seldom an issue; 16 and 32 bit microcontrollers with processor speeds of 25-200 MHz are available with a range of memory sizes to fit almost any application.
Many suppliers offer device families that can fill your needs; the differences are in the details and in the tools required to develop software for them (often referred to as firmware when developed for microcontrollers). Development tools should be a key consideration – you can expect to spend significantly more time and money on software development over the life of a product than on hardware design. While many suppliers offer free or low-cost development tools, some have restrictions and others require expensive systems for production development. Further, productivity enhancements, like sophisticated configuration tools, software libraries, and real time operating systems (RTOS) will also contribute to product development and production costs.
The good news is that microcontrollers continue to benefit from technology improvements: higher levels of integration, higher performance, lower power, smaller size, and lower cost. In fact, low-cost development boards work well as early functional prototypes. They help to jump-start software development, refine requirements, and reduce risk. However, engineers and management should be aware that while functional prototypes may be developed quickly, it takes much more time and effort to implement the design and software for the final product.
Often it is best to stick with a microcontroller family that your developers are already familiar with. This reduces risk and shortens the learning curve during development. That’s why it’s important that your embedded software engineers be involved in the part selection – they understand the tools, application, and performance requirements needed for a successful product.
At Daedalus, our approach in selecting a processor is based on a series of questions:
- Does the client have a preferred microcontroller family they are already familiar with and have good support for?
- What are the plans for software development and support?
- What are the product I/O and interface requirements?
- Are there opportunities for enhancing the user experience by adding better interfaces?
- Are there specialty hardware or software functions that are required for the application?
- What are the power, cost, and size restrictions for the product?
- How complex is the software likely to get (size and performance requirements)?
- What are the other key components on the block diagram?
- How much room should be included for feature and performance expansion?
Once these questions are answered, we evaluate options from several suppliers. Our most detailed evaluation is to map all of the functions and interfaces identified in the system block diagram to the peripherals and pins of specific chips. This analysis can be complex and time-consuming and scales with the complexity of the design, but it’s key to the success of even simple designs, and this is where experience with a microcontroller family is valuable – it allows the engineer to more quickly complete the mapping with low risk.
At Daedalus, we also consider supply availability, product roadmap, and support, as key factors for the longer life of industrial and medical products. Going with a niche supplier with limited product and support history is risky; a supplier’s issue can quickly obsolete your product design. And while it can be tempting to select the latest and greatest part that vendors are marketing, doing so can often result in development delays due to limited part availability and bugs in the parts. On the other hand, using the tried and true 8051 based microcontroller from 1985 can also be a poor choice – that processor may be near the end of its product life and could limit your development capabilities.
At Daedalus, we try to find a good middle ground beyond the hype of the bleeding edge parts and the end of life parts. We find that microcontrollers from the main-stream suppliers have a good track record of stability, availability, and longevity. We also consider market trends, which currently include a shift to ARM processor cores, analog capabilities that reduce external circuitry, advanced capacitive touch interface capability, and additional connectivity features like USB, Ethernet, SD-Card, and now integrated wireless.
We have extensive experience with TI, Freescale, ST Microelectronics, Atmel, Microchip, Silicon Labs, and Cypress microcontrollers and their development tools. The MSP430, a mainstay for low power, low cost microcontrollers for over 15 years, was the processor of choice for the majority of our clients just a few years ago. With a wide product range of 508 parts (at last count), ranging in cost from $0.34 to $9.50, this 16-bit microcontroller family offered a solution to address most applications and the performance to back it up, making it a first choice for consumer, industrial, safety and medical applications.
However, like the venerable 8051 microcontrollers before it, the MSP is being overtaken by newer ARM based microcontrollers that offer higher performance with similar or lower power and a larger range of capabilities. Though not new, ARM microcontrollers are becoming ubiquitous in the market, with (almost*) every major supplier offering a line of them.
In evaluating the various offerings, we have identified the Freescale (formerly the semiconductor side of Motorola) Kinetis product family as a good step up from the MSP430. With 462 parts, the Kinetis line has a solution for most applications, from tiny chip-scale parts to 256-pin 1MB parts operating at up to 150MHz. The Kinetis line offers low power, high performance, and a broad range of peripherals to fit most applications. Its software development tools include high-level configuration support (processor expert), RTOS options (MQX and third parties), and a good range of available development boards and software tools.
Freescale isn’t necessarily better than everyone else but they offer excellent stability, commitment, and support, reducing the risk that your design will be left unsupported or obsolete. Their broad product line, which includes many different options and applies to a large range of applications, makes the investment in learning the details, tools, peripherals, and hardware/software design details worthwhile.
The reality is that there is seldom a single best choice, and there are many non-technical considerations. Each client has their own history, expertise, experience, and relationships, so it’s important for Daedalus to be flexible and processor-agnostic to best serve our clients.
Our strategic investment in component-specific training and experience, both hardware and software, allows us to reduce risk and efficiently estimate, prototype, develop, and release designs based on components and tools that we know well. But at the same time, with 60 years of combined experience in microcontroller design and development, we have experience with most suppliers and the tools that are available, allowing us to quickly come up to speed on new-to-us components and tools that may be better choices for specific clients and applications, allowing us to bring optimal value to our clients.