The I-Pi SMARC development kit
has a lot going for it, not the least of which is its relatively low price tag. That’s just one reason to expect many engineers to use it for prototyping. Another key feature, if that’s the right word, is that it is attractive to all levels of engineer, from the beginner to the expert.
Beginners have become quite comfortable with kits of this ilk thanks to the popularity of the Internet of Things (IoT) and development kits like the Raspberry Pi and Arduino and their open-source nature. The code is available for just about any application you are working on, and that includes all the plug-in devices, sensors, actuators, etc., as well.
As more engineers got involved in these projects, the tools, the software, and even the kits themselves became more robust, making them more attractive to even the most experienced designer. Now, a high percentage of designs starts with the ubiquitous development kit. Looking just at Raspberry Pi, market watchers claim that more than 50 million kits had shipped by the start of this year, with somewhere around ten different models available.
One reason that the manufacturers like the development kits is that they know that engineers tend to use them both on the job and at home. Hence, the engineers are experimenting at home with peripherals and sensors, and developing professional-grade prototype versions of potential products for their employers.
Issues with Consumer Products
There are potential snags to this process of translating home-brewed products into commercial products. One such problem is the temperature range that’s needed. The engineer’s home may stay at a simple temperate of +23⁰C, plus or minus around 10 degrees. But that obviously doesn’t cut it for a professional product. Shock and vibration issues must also be overcome. The engineer knows that the device in his home will be nicely duct-taped together, that’s not the look you want for your shipping end product.
Another issue that must be accounted for is component swap. While an experienced engineer knows that he can swap out certain components with no (or little) ill effects, you’re simply not allowed to do that with a product that’s passed the prototype stage, especially if it’s intended for use in medical, industrial, or military applications. Once the design is locked down, no changes are allowed.
Engineers do have the option of choosing one of the existing industrial development kits that are in the market. But as you’d expect, they are far more limiting in what they can do, what software is available, and what peripherals you can build or buy. And they may each operate using a different protocol or interface, especially when it comes to functions like general-purpose input/output (GPIO) pins, pulse-width modulator (PWM) functions, analog to digital converters (ADCs), digital to analog converters (DACs), and communication functions like I2C, SPI, UART, etc.
Hardware Abstraction Layers
A few terms that experienced designers are generally up to speed on are hardware abstraction layers (HALs) and MRAAs
(Figure 1). The HAL is an abstraction layer that’s implemented in software between the computer’s physical hardware and software. The purpose of the HAL is to hide any differences in the hardware from the operating system. As a result, most of the code in the operating system needn’t be changed if there’s a change to the hardware.