Which development board to use?
Selection of the development board mainly depends on the microcontroller that you plan to use. You can also do it the other way around; select the development board first and then plan the project based on that microcontroller.
Selecting the right microcontroller for your product application is itself a challenging task. There is a huge variety of microcontrollers available in the market. DigiKey, for instance, shows more than 15,000 different items under ‘microcontroller’ search, and it is almost impossible to find the one best suited for you if you have not figured out your requirement beforehand.
Some engineers jump to microcontroller selection even before the system overview has been worked out, which is definitely a bad idea. Engineers should first work out the high levels of the system, block diagram and flow-chart and then select the microcontroller with the information available.
You can consider the following points to select the right microcontroller:
Hardware interfaces required. Using the block diagram that you made earlier, list out all the interfaces you need for external hardware. First, figure out the communication interfaces needed. This will narrow down your choices. Communication interfaces commonly inbuilt in microcontrollers are Ethernet, CAN, USB, serial ports, I2C, SPI and UART.
Next, determine the required digital inputs and outputs, analogue-to-digital converter inputs, PWM, etc. This will further narrow down choices for you.
Computing power. To decide on the computing power needed, analyse the architecture and requirements of the software that will be burnt into the microcontroller. Check whether the software has parts such as floating-point mathematics, high-frequency control loops that require more computing power. Also check the subtasks and how often they run. This will give you an idea of the processing power required, which is actually indicated by the clock speed of the microcontroller.
Within each CPU there is an electronic clock. The clock’s job is to create a series of electrical pulses at regular intervals. This allows the computer to synchronise all its components, determining the speed at which it can pull data from its memory and perform calculations. When you talk about how many gigahertz or megahertz your processor has, you are really talking about clock speed.
Architecture. If you have worked out the hardware interface and computing power requirements correctly, you will automatically land up on selecting the architecture of the microcontroller for your project.
The architecture of a microcontroller refers to the philosophy of internal implementation. All architectures are well-proven but one might work better than the other for a particular application. Decide on the architecture based on the hardware interface and computing power requirements as well as the future requirements. Here consider whether an 8-bit core would be sufficient for future developments too, or you need a better core. In any case, the decision has to be made between 8-bit and 32-bit as 16-bit is not much popular these days.
Memory. Flash and RAM are very critical components of any microcontroller and it is important to make sure that you do not run out of program space or variable space. Using the software architecture and the communication peripherals included in the application, you can estimate how much Flash and RAM will be required for the application.
Power. You will now have a list of potential candidates that suit your requirement. This is the right time to examine the power requirements of the part. If the device will be powered from a battery, select a low-power microcontroller.
Cost. Do not forget to examine the price per piece and minimum-order quantities. Make a smart decision as the price will greatly affect the overall cost of the product.
Hardware and software tools. Finally, check the availability and quality of development tools. Minimally, you will need some sort of programmer to load the program into the microcontroller. Here availability of the development board is a plus. Selection of the development kit nearly solidifies the choice of the microcontroller.
The last consideration is to examine the compiler and tools that are available. Most microcontrollers have a number of choices for compilers, example code and debugging tools. It is important to make sure that all the necessary tools are available for the part. Without the right tools, the development process could become tedious and expensive.
By following the above points one by one, you can arrive at the right microcontroller for your product. Once you are done with the selection, you can move ahead and select the development board for the microcontroller. For most popular microcontrollers, you can purchase the development board either from the manufacturer or a third party. However, you have to be careful while selecting a less common microcontroller because its development board might not be available. Tables I and II give overview of some popular microcontrollers from different manufacturers.
Give preference to an official board from the microcontroller manufacturer as with it you will have at least the basics right. Some small manufacturers also sell these boards but these are designed without giving much attention to the design guidelines.