Read more Embedded World 2021 coverage.
What you’ll learn
- What’s in Adlink’s latest SMARC module?
- How to design SMARC carrier boards using Altium’s Upverter.
One of the products given special attention by Adlink Technology at Embedded World was its I-Pi SMARC IMX8M Plus Starter Kit. The kits are complete systems that include a SMARC module like the LEC-iMX8M (Fig. 1), along with a carrier board and software.
SMARC is a module standard from the Standardization Group for Embedded Technologies (SGeT). There are two modules sizes: 82 × 50 mm and 82 × 80 mm. Each has a 314-pin edge connection. The SMARC 2.1 specification is the latest with support for PCI Express and multiple display options like LVDS and HDMI. The standard defines interfaces for typical module interfaces such as Gigabit Ethernet, serial interfaces, and USB.
The LEC-iMX8M SMARC module family is based on the NXP i.MX8M SoC family that’s built on Arm’s 64-bit Cortex-A53 and 32-bit Cortex-M4. Multiple configurations exist of each type, which is an advantage to using SMARC since you simply replace the module in a system with another.
The modules usually include support for one or more MIPI-CSI-2 camera inputs, 4K UltraHD HDMI 2.0a, and LVDS displays. USB 2.0/3.0 and OTG support is in the mix as well. The PCI Express interface allows access to peripherals on the required carrier board and can incorporate devices like an M.2 PCI Express NVMe memory stick.
Among other useful features are cryptographic co-processor support and some modules, like the i.MX8M Plus, have a neural processing unit (NPU). The NPU can deliver up to 2.3 TOPS of performance for running machine-learning inference models.
As noted, SMARC modules require a carrier board. The Adlink kits come with one that exposes all of the peripheral interfaces.
Designing a Carrier Board
I’ve written a good deal about Gumstix Geppetto. It’s a neat, online design tool that creates a complete board design without requiring extensive training and expertise. The pick-and-place interface hides all of the printed-circuit-board (PCB) routing and guarantees a good design by requiring all necessary connections to be specified by the designer (Fig. 2). This is done by providing prompts and selections while showing the design status using color coding.
For example, I started a design by dragging a SMARC connector for an i.MX8M module to the board layout section; it had the color red. The minimum connections are power, which required grabbing a power connector and a pair of voltage regulators. There’s a limited selection, but they tend to be sufficient for most designs. The colors change to green as the various pieces are linked together.
I also added a USB 3.0 connector and an M.2 socket for an NVMe memory module with logic connectors to the SMARC module.
Well, Gumstix is now part of Altium and Geppetto is now Altium’s Upverter. Adlink has partnered with Altium to support its SMARC modules. Significant advances have been made to Geppetto/Upverter since I first looked at it. For instance, PCI Express support was a major jump forward. It’s possible to drop USB hubs and Ethernet switches onto the board, not just connectors. There are wireless and security options, and headers come in various forms.
The system doesn’t solely verify connections—power requirements are considered as well. Trying to put too much of a load on a part will prompt for adding or swapping in a part that has more capacity.
The best way to see what the system can do is to try it. It’s free—cost enters the picture if you want to buy a board.
A complete custom design using a tool like Altium Designer can come up with more advanced solutions than is possible with Upverter. However, the cost, verification, and time to market is significantly longer because there’s another piece to the Upverter puzzle.
Once you have a design, you also know how much it will cost to get fully functional boards. It has a one-time $1999 startup charge and then a per-board cost for delivery of fully functional boards. Upverter also lists the cost of individual items. On top of that, the system generates a bill of materials (BOM) and documentation, including device tree definitions for Linux and other operating systems.
Also, SMARC is only one of many module form factors supported by Upverter. It’s even possible to design boards for platforms like Raspberry Pi.
Time to market is one reason for using modules like Adlink’s SMARC solutions. Getting a carrier board is a necessary requirement. Many designs will warrant more sophisticated designs than can be provided by Upverter, but it will be hard to beat the cost and turnaround time of Upverter if it can meet your needs.
Now if they could just come up with a better name.