Various deployment options are available for the ADLINK I-Pi SMARC development kit
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 RAAs (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.
Circling back to the development platforms, specifically Arduino, users have been taking advantage of Arduino Create, an integrated online platform that lets users write code, access content, configure boards, and share projects. Like most products in the Arduino family, they can be used by all levels of developers. Looking at Raspberry Pi, multiple integrated development environments (IDEs) are available. Note that the MRAA can be used as the HAL for both the Arduino and Raspberry Pi platforms.
Developers in this space should also be aware of the UPM, which is essentially a sensor library with high-level APIs that make it easy to connect and use popular sensors and actuators in IoT solutions. These software drivers interact with the underlying hardware platform through calls to MRAA APIs. As you might expect, drivers are available for both Arduino and RPi platforms.
SMARC Defines the Module
That brings us back to the SMARC (Smart Mobility ARChitecture), which refers to the module definition for a versatile, small form-factor computer targeting applications that require low power and low costs, yet maintain a high level of performance. As per the specification, SMARC modules support a temperature range of -20⁰C to +85⁰C (note that some SMARC modules are specified for a range of -40⁰C to +85⁰C). The SMARC specification was created within the Standardization Group for Embedded Technologies (SGET).
To simplify design, all of these hardware and software components come together in ADLINK’s Industrial Pi (I-Pi) SMARC Development Kit (Figure 2). The kit includes a power supply, a USB programming cable, and an SD memory card containing the Linux operating system. And the transparent acrylic shielding around the I-Pi SMARC adds a level of protection.
Figure 2: ADLINK’s I-Pi SMARC development kit. ADLINK’s I-Pi SMARC development kit contains everything an engineer needs to get started on an industrial prototype. (Image source: ADLINK)Looking at the underside of the I-Pi SMARC (Figure 3), you can see that the I-Pi is the larger carrier board that provides all of the interfaces to the outside world, while the SMARC processor module is the smaller board that gets plugged into the I-Pi carrier. The kit also contains functions that aren’t included on platforms like the Raspberry Pi, yet are needed to create IoT-based embedded systems and devices, like a real-time clock (RTC).
Figure 3: Shown is the underside of ADLINK’s I-Pi carrier and SMARC processing module. (Image source: ADLINK)
Consumer Verses Professional
Consumer platforms like the Raspberry Pi and Arduino are quite different as compared to professional products like ADLINK’s I-Pi SMARC. As discussed earlier, designers working with products intended for the consumer market, like the Raspberry Pi and Arduino, easily make component substitutions as they see fit. And in many cases, the end users are not even informed of the changes (nor do they need to be informed).
However, in the industrial sector, it’s a completely different story. ADLINK’s I-Pi SMARC follows industry standard ECN (engineering change notice) and PCN (process change notice) practices. This means that end users have access to an audit trail the defines what changes, if any, have been made and why.
We can make a similar argument about the reporting and debugging of production quality issues. This simply isn’t possible for Raspberry Pi and Arduino. Not only is it possible for ADLINK’s I-Pi SMARC, but the reporting and debugging mechanisms are included to simplify the process. And don’t forget about after-sales support and RMAs (return merchandise authorizations). ADLINK fully warranties and supports the I-Pi SMARC.
One feature that must be baked into any industrial product is long-term availability. In some cases, that means seven to ten years or more. Consumer platforms like Raspberry Pi and Arduino have no guarantee of longevity and frankly it’s not expected of them. They can be discontinued at any time without notice. ADLINK guarantees 10-year availability for the I-Pi SMARC.Various deployment options are available for the ADLINK I-Pi SMARC development kit. The good news is that developers who have already created prototypes using Arduino or Raspberry Pi platforms can leverage those sensor ecosystems and libraries and migrate their designs into an industrial environment, thanks to the ADLINK I-Pi SMARC development kit.
When you’re ready to move from prototype to production, the I-Pi Carrier’s open-source specification can serve as a starting point for developers looking to create their own carriers. This would be beneficial for cost reductions, as you may only want to populate the carrier with those functions and interfaces that are required for your application. There is no sense in having functions on-board that’ll never be used.
The bottom line is that developers can choose their own favorite starting point, and have a finish line that suits an industrial setting.
For more information about ADLINK Industrial-Pi (I-Pi) SMARC, please visit https://ipi.wiki/.