There comes a point in a professional hardware designer’s journey where a dev-board-based project needs to turn into something that can be viably manufactured. The form factor of a typical Arduino or Raspberry Pi dev board can present challenges in this regard. But designing full, custom circuitry can be daunting too, especially if it needs guaranteed processing functions. Thankfully, there exists a middle ground: Using vendor produced modules with custom breakout boards.
The IO and computing needs of your product are only one of the design considerations when sending products into the wild. How large will it be? Does it need cooling? Is weatherproofing essential? Does it have to be field-serviced? What are the power requirements? Each of these, and a host of other concerns, drive the choice of where to strike a balance between what you build and what you buy for use in a product. Boards like Arduino Uno or Raspberry Pi Model B are extremely well understood, but can be frustrating for use in productized designs. Adding Wi-Fi to most Arduinos generally requires external components, hence the common use of ESP8266’s in commercial designs. Raspberry Pis rely on SD cards that add additional points of failure or attack surfaces to a system.
Ideally, a designer will custom develop only those aspects which represent the unique value proposition of their product, and combine their custom board with commercial products providing just enough, but not too much more than their minimum needs. In some cases, the custom PCB is small enough that it can be a daughterboard (e.g. a “hat” or “shield”) to the processor; in other cases, the processor may be considerably smaller than the custom PCB and attach to it as a module. At the high end of production design, processing power may be a commercial chip soldered to the custom PCB.
A third-party board can take care of a wide variety of commodity functions: processing, networking, storage, clock, power management, GPS, etc. Few of these functions make sense to custom develop. Determining the needs of your design will drive the product selection. Why pay for an on-board GPS if your product doesn’t need location services?
Form factor and power usage are also major drivers in choosing the right component. Will the custom PCB be larger or smaller than the processor board — who’s attached to whom?
Can the product’s form factor support boards stacked via GPIO pins and headers, or does it need to stay flat and require edge connectors or ribbon cables?
Let’s take a look at some system on module (SoM) offerings that have achieved market success: Raspberry Pi Compute Module, Sparkfun MicroMod, Particle SoM, and the Nvidia Jetson series. Many other options exist, but these boards represent major vendors all providing different approaches to product integration.
RASPBERRY PI COMPUTE MODULES
The Raspberry Pi series of single-board computers have changed the landscape of embedded development by providing a full and common operating system (OS), Linux, on a platform the size of many microcontroller boards. With USB ports, a wealth of GPIO pins to interact with the world, HDMI, and extensibility via Hardware Attached on Top (HAT) boards, developers can leverage decades’ worth of Linux apps and toolsets to bring PC-level power to embedded problems.
Last year 10% of the boards Raspberry Pi sold were Raspberry Pi Compute Modules (CM), a smaller form factor version of the Pi with on-board memory instead of an SD card, pins but no ports for interfaces like Ethernet and HDMI (Above), and fewer GPIO pins. The company forecasts CMs will jump up to 15% of boards sold in 2021. Users are expected to create a custom carrier board to expose needed ports, or have to use one of the Pi IO boards. Targeted at industrial and commercial developers, the CM3 and CM4 have proven extremely popular for “deep embedded” applications.
Important features for these markets are often unfamiliar to makers. The CM4 offers asymmetric secure booting that cryptographically confirms each step of the boot process as protection against malware. This may be merely interesting to DIY users, but it’s critical to a large IoT-installed base. Additionally, Raspberry Pi has invested in creating an Integrator Programme that connects users to a dedicated team at UL to navigate the complicated world of testing and paperwork required to meet international compliance standards, an essential requirement for many products.
You’ll now find CM boards inside various consumer products, such as NEC digital signage displays, Sfera Labs’ industrial process controls and monitors , and the CutiePi tablet (cutiepi.io) .
There are also loads of baseboards that you can buy, insert your own CMs, and build into entirely new projects. The Turing Pi 2 and StereoPi options are two good examples.
Particle hit the market with a very clear target of becoming a premier IoT vendor. Their offering provides an end-to-end ecosystem consisting of hardware, OS, connectivity, and cloud infrastructure. Edge computing applications can be rapidly developed and deployed with an out-of-the-box suite of communication protocols (Wi-Fi, cellular, and BLE), management tools, reporting, and security, without assembling pieces and parts from a variety of vendors.
Particle has invested in developer kits and provides free plans for up to 100 devices, which makes for a well-documented and engaging entry path for developers. Nevertheless, for use in applications that rely on a single device, especially for DIY makers, much of Particle’s investment in handling large numbers of devices, advanced cloud computing, IoT security, and industrial hardening may not provide much value. But if you’re interested in learning how to build professional IoT solutions or you’re planning a set of devices that are going to live in the wild and communicate back home, all of these attributes, and the well-thought-out integration between them, shine.
Particle offers a broad mix of hardware offerings that provide various radio, processor, memory, and form factor configurations. Choosing the right board depends on the specific needs of your application. A Particle developer kit combined with their free-data plan offers an amazing value for a comprehensive edge-computing introduction.
Many consumer companies are now using Particle controllers as part of their IoT solutions, including Jacuzzi , Watsco (HVAC), Scientific Aviation (methane emissions for oil and gas), and Dynamis (personnel tracker for the Air National Guard). If you’re looking for a breakout board for Particle SoMs, MikroElektronika has created an option that connects to their Click boards.
Nvidia is perhaps best known as a premier graphics card vendor but their Tegra System on a Chip (SoC) processor has been an important business line for them. The Jetson line of products offers a range of Tegra-based boards intended for embedded AI development. The most recent of these boards, the Nano, is priced specifically to target the hobbyist and educational market, while the more powerful options (such as the Jetson TX2 and NX/AGX Xavier) cost quite a bit more but bring serious professional-grade performance to the table.
Jetson Nano has many specs in common with Raspberry Pi. Processor, memory, I/O, and display are almost the same. Both platforms run a Linux distro; for Nano, it’s Nvidia’s Ubuntu-based Linux4Tegra. The biggest fundamental difference is that the Nano has a 128-core Maxwell graphics processing unit (GPU) at 921MHz that’s beautifully suited to handle AI, deep learning, and machine vision applications.
To harness the complexity and power of the Jetson boards, you’ll need to develop with Nvidia’s JetPack SDK. This collection of libraries, APIs, examples, and developer tools is the same Linux-based suite of components used by Nvidia’s professional customers. While developers coming from an Arduino rather than Linux background may find the collection of components initially daunting, Nvidia has prepared a strong set of examples, tutorials, and projects to help bring devs up to speed.
Jetson and JetPack SDK put a stunning amount of power for AI and computer vision projects in the hands of makers, allowing for everything from robots that can tell weeds from crops, to cars that can do real-time pothole identification, to drones that can detect fires.
Most makers will first interface with one of the Nvidia developer kits, which consists of the Jetson module and a carrier board that breaks out all its features into easily accessible ports and pins. There are dozens of third-party carrier boards if you’re looking for more specific interfaces.
Many consumer devices use Jetson modules, such as autonomous drones from Skydio (Jetson TX2) and Coretronic (Jetson Nano and NX). The Staige K2 soccer field camera (soccerwatch.tv)is powered by the Jetson TX2 as well. And that’s just scratching the surface; find a comprehensive list at their developer site.
SparkFun takes a different aim at the commercial and embedded market. Their MicroMod ecosystem provides a mix-and-match set of boards intended to speed up prototyping and proof-of-concept work. When time-to-market is the essential driver for a company, getting stuck or making mistakes in the prototyping phase can be fatal. MicroMod provides modular processors and sensors that can be used with different carrier boards. The processors all use standard M.2 connectors and can be easily swapped out to allow rapid comparison of the different capabilities.
Current processor boards include ESP32, Artemis, SAMD51, Teensy, nRF52840, STM32, and RP2040 versions. MicroMod carrier boards offer configurations for data logging, machine learning, input and display, and ATP (“All the Pins”). Integration with SparkFun’s I2C Qwiic Connect System provides a simple 4-pin JST-connectable and chainable method to add over 100 sensors, shields, LCDs, relays, and other accessories.
While targeted at the prototype phase of the product development cycle, MicroMod is potentially appealing to DIY makers who’d like to experiment with microcontrollers using a modular toolset. The incredible number of permutations available from 7 processors, 7 carrier boards, and more than 100 sensors means that users are able to easily try lots of approaches without extensive soldering or breadboarding — think of this like the microcontroller version of SnapCircuits.
SparkFun provides guides on how to create both MicroMod carrier boards and processor boards. They also offer a SparkFun MicroMod DIY Carrier Kit for those making their own MicroMod carrier boards.
• • •
Each of these different offerings represents somewhat different paths beyond the Arduino and Raspberry Pi workhorses. SparkFun MicroMod makes me want to play. Raspberry Pi Compute Modules make me want to get to work and churn out products. Particle’s boards make me want to get VC funding for a world-dominating IoT solution, and Nvidia’s Jetson line makes me want to come up with a wild new art/robotics/AI project that breaks new ground. There have never been so many great options for scaling up SBC and microcontroller development!