Life after Raspberry Pi: Rapid System Prototyping for Professional Engineers

By Brandon Lewis

Editor-in-Chief

Embedded Computing Design

July 24, 2020

Story

Life after Raspberry Pi: Rapid System Prototyping for Professional Engineers

Arduino and Raspberry Pi don't provide a sufficient analog to the electronic hardware in commercial products. Pro engineers need industrial-grade prototyping solutions. They need an "Industrial Pi."

Aside from ease of use, the best thing about rapid prototyping platforms like Arduino and Raspberry Pi is their extremely low cost. Unless you’re a professional engineer.

So-called “maker boards” were initially designed for large-scale STEM education environments, and therefore had to be as inexpensive as possible. As a result, they integrate many electronic components that aren’t suitable for commercial deployment. In other words, they’re cheap.

While the concept of rapid prototyping is attractive to industrial designers for obvious reasons, Arduino and Raspberry Pi-class devices often don’t provide a sufficient analog to the electronic hardware that will be used in their finished product. These developers need more industrial-grade prototyping platforms that still allow them to progress through design iterations quickly.

Why not computer on modules (COMs)?

Why Not COMs for Industrial Prototyping?

COM architectures became popular in the industrial, commercial, medical, and transportation industries in the late 2000s and early 2010s as a way of extending the deployment life of electronic systems. They accomplish this via a two-board architecture:

  • First, an application-specific carrier board that contained all of the I/O and interfaces a system could conceivably ever need would be designed into a piece of machinery.
  • Then, a compute module slots in on top of the carrier to provide the processing, memory, and I/O controllers used by the end application.

To ensure compatibility between boards that are designed years or potentially decades apart, open COM standards specify connectors that carry signals between modules and carriers. The most successful of these industry standards to date have been PICMG’s COM Express, Qseven, and SGET SMARC.

The benefit of this architecture is that it guards against hardware obsolescence. For example, if a piece of machinery needs to run a more robust, sophisticated software stack than it was originally designed for, engineers can simply swap out the existing compute module for one with greater computer and memory performance. The carrier stays the same, as does everything else in the system.

SMARC modules like the LEC-PX30, for instance, are natively designed to meet the demanding mean-time between failure (MTBF), long lifecycle, and strict revision controls of industrial embedded applications (Figure 1).

Figure 1. SMARC compute modules like the ADLINK LEC-PX30 are designed for industrial use cases, and include rugged components like an edge connector to achieve high mean-time between failure and long lifecycles while maintaining strict revision control (Source: ADLINK Technology, Inc.).

So, if you can take a deployed system from Point A to Point B with a COM, why not use COMs to take designs from prototype to production? Well, COMs haven’t traditionally been used as prototyping platforms because:

  • To optimize the performance, size, and cost of designs, systems integrators or end users typically design their own application-specific carrier boards. This can be time consuming.
  • Optimizing software from one target to the next can be labor intensive, so pro developers usually want the final hardware nailed down before implementing production-quality software.
  • Industrial-grade COMs are simply more expensive than hobbyist alternatives, but they often don’t provide the same plug-and-play functionality that maker boards do.

What’s the middle ground between a rapid prototyping board and an industrial-strength COM?

An Industrial Raspberry Pi, or “I-Pi” (Figure 2).

Figure 2. The ADLINK I-Pi Industrial IoT Prototyping Platform combines the flexibility and fast prototyping capability of Raspberry Pi or Arduino with the robustness of an industrial-grade computer-on-module (COM) architecture (Source: ADLINK Technology, Inc.).

Building Blocks of an Industrial Pi

ADLINK recently introduced I-Pi, an industrial IoT prototyping platform that allows professional engineers to prove out their designs quickly using a COM-based platform.

The kit consists of the aforementioned LEC-PX30 SMARC module; a simplified, off-the-shelf SMARC carrier board; and a hardware-attached top (HAT) similar to those used in the Raspberry Pi ecosystem that converts DSI signals to HDMI (Figure 3). The HAT plugs into the I-Pi carrier via 40-pin expansion header, while the LEC-PX30 module attaches to the I-Pi carrier via the SMARC 2.1 MXM 3.0 connector

Figure 3. The MXM 3.0 connector used in the SMARC 2.1 specification carries a multitude of signals between SMARC compute modules and carrier boards, which ultimately helps simplify the overall system design (Source: ADLINK Technology, Inc.).

As shown in Figure 3, the MXM connector carries a variety of signals between the I-Pi carrier and module, connecting two 10/100 Mbps LANs, four USB 2.0 ports and one USB 2.0 OTG port, four-lane MIPI DSI, two-lane MIPI CSI, and serial interfaces like CAN, SPI, UART, and I2C. But the real beauty of the setup is that the only high-speed signals on the actual I-PI baseboard are PCI Express and HDMI.

Of course, these signals can be changed in an optimized application-specific carrier board after the prototyping phase is complete. But limiting the more complex traces to just PCI Express and HDMI reduces the complexity of I-Pi and increases the ease of use for engineers. In fact, PCI decoupling capacitors and locks are included on each module, so all an engineer has to do when changing the hardware configuration is make sure that traces are aligned between the processor board and carrier card.

This makes swapping out a SMARC module with one set of interfaces and performance for another in the middle of prototyping a breeze.

For example, the LEC-PX30 is based on the Rockchip PX30 system on chip, which includes a quad-core Arm Cortex-A35 CPU and security extensions (Figure 4). The board also equips 2 GB of memory and an ATT ECC608A cryptoauthentication chip from Microchip. However, the I-Pi carrier supports SMARC modules with processors as advanced as top-of-the-line Intel Apollo Lake processors.

Figure 4. The Rockchip PX30 SoC contains a four-core Arm Cortex-A35 CPU and Mali G31 GPU, as well as extensive multimedia, security, and connectivity blocks for general-purpose industrial applications (Source: CNX Software).

Which brings us to software. In most cases, transitioning between different compute modules, much less compute modules with different processor architectures altogether like the Arm-based Rockchip PX30 and an x86-based Intel Atom processor, means starting the prototyping process all over. However, given the extensive hardware flexibility of the I-Pi platform, ADLINK addresses this by equipping all of its SMARC modules with MRAA functionality (Figure 5).

Figure 5. The MRAA hardware abstraction layer (HAL) is a C/C++ library with Java, JavaScript, and Python integrations that allows users to easily port software from one hardware platform to another, such as different SMARC compute modules (Source: Eclipse UPM).

MRAA is an open-source hardware abstraction layer (HAL) originally developed by Intel. It is a library of C/C++ drivers and APIs with Java/JavaScript and Python integrations that allows developers to seamlessly integrate new hardware components without any code modifications. As a result, engineers can simply substitute one SMARC module for another, even if one supports the Rockchip PX30 and the other hosts an NXP i.MX8M SoC; they can add any sensor HATs they require; they can even port software from Raspberry Pi or Arduino environments to their I-Pi COM without reworking it at all.

MRAA can be downloaded via Github or folded into the Eclipse IDE via the Useful Packages & Modules for MRAA extension. It can run in Windows environments using a mock platform like the Intel Apollo Lake platform and Docker containers, as well as standard and embedded Linux distributions.

The I-Pi itself natively supports Android, Ubuntu, Debian, and Yocto.

Figure 6. All ADLINK SMARC modules integrate the MRAA hardware abstraction layer (HAL) to enable seamless software portability from one target to another, even if that code was developed in an Arduino or Raspberry Pi programming environment (Source: Intel Corp.).

Other open-source software components compatible with the I-Pi platform include portions of ADLINK’s Vortex Data Distribution Service (DDS) networking middleware, a publish/subscribe software framework that allows IoT engineers to connect their devices in a secure, scalable, fault-tolerant and deterministic manner.

Figure 7. The ADLINK Vortex data distribution service (DDS) middleware is a network abstraction software that transports messages reliably, deterministically, and securely in a publish/subscribe format (Source: ADLINK Technology, Inc.).

Accelerate Industrial Prototyping with Pi-level Risk

The I-Pi’s modular approach, both from a hardware and software perspective, bring it as close as possible to the out-of-the-box user experience of an Arduino or Raspberry Pi. That leaves only the matter of cost.

As mentioned, industrial-grade components are inherently more expensive than the technologies sourced for maker boards. After all, the I-Pi COM supports operating temperature ranges up to -20ºC to +85ºC, and shock and vibration tolerances consistent with IEC 60068-2-27/64 and MIL-STD-202 F. To cut reduce carrier board costs for customers nearing production, ADLINK also integrates USB and PCI switches onto their SMARC modules, which increases the price of those. And, of course, you have to consider that the I-Pi is really three industrial boards packaged in a single kit.

Still, the kit retails at just $125, or $136 to include a Bluetooth/Wi-Fi dongle. For that, you get the I-Pi carrier board, the LEC-PX30 SMARC module, the DSI to HDMI HAT, a 32 GB SD card, a Micro USB cable, and a power adapter. Heatsinks/heat spreaders are also available starting at around $15.

Not bad at all for professional engineers looking for a fast prototyping solution for commercially-deployable products.

So now there’s a prototyping solution for professional engineers that enables rapid hardware and software design iteration, uses commercially deployable technology, and can be purchased with a FIRST Robotics team member’s monthly allowance.

Welcome to life after Raspberry Pi. Meet I-Pi.

Brandon is responsible for guiding content strategy, editorial direction, and community engagement across the Embedded Computing Design ecosystem. A 10-year veteran of the electronics media industry, he enjoys covering topics ranging from development kits to cybersecurity and tech business models. Brandon received a BA in English Literature from Arizona State University, where he graduated cum laude. He can be reached at [email protected].

More from Brandon