Embedded Expertise

Raspberry Pi – Prototyping Hero, Production Headache?

The Raspberry Pi’s affordability and user-friendly Linux environment make it a popular choice for embedded systems. But is it truly the best fit for every project, especially when it comes to professional products and production environments?

Raspberry Pi: A Rapid Prototyping Powerhouse

There’s no denying the Raspberry Pi’s prowess in rapid prototyping. Its ease of use and readily available libraries allow developers to get a proof-of-concept up and running quickly. This frees them to focus on core functionalities without getting bogged down in low-level hardware specifics. Furthermore, Linux familiarity for programmers translates to a comfortable starting point, reducing development time. The vast software ecosystem offers pre-built tools and functionalities for various tasks, further streamlining the process.

Limitations Emerge in Production

While the Raspberry Pi shines in prototyping, its limitations become evident when transitioning to production environments. Here’s where the Pi’s weaknesses as a production component come to light.

One size does not fit all

The allure of familiarity can cloud judgement in embedded system production. Powerful, Linux-based Raspberry Pi prototypes might seem like a natural fit for production due to developer comfort level. However, this “one size fits all” approach often leads to suboptimal outcomes.

  • Overkill Processing Power: Production environments prioritize efficiency. The Raspberry Pi’s impressive CPU, while great for prototyping, may be overkill for many embedded tasks. Microcontrollers (MCUs) offer a more targeted approach, vastly optimizing cost, computing efficiency, and minimizing power consumption.
  • Unnecessary Operating System Complexity: A full-fledged Linux OS, while familiar, may introduce unnecessary complexity and consume valuable resources in a production setting. Embedded systems benefit from lightweight operating systems designed for determinism and real-time performance. Of course, this statement depends on the specific requirements of the application.
  • Extended surface of exposure to vulnerabilities: This is related to the system complexity discussed above. The official Raspberry Pi OS combines comprehensive packages with features and functionalities that may not be relevant to your specific application. Including unused components increases the system’s attack surface, making it more vulnerable to cyberattacks. This is why you must always customize your BSP to include only the necessary drivers, libraries, and functionalities required for your application. This reduces the system’s complexity and potential security risks. It can however be a tedious task that can obliterate the benefits of using a ready-to-use RPi.
  • Development Time vs. Production Realities: Migrating a Raspberry Pi PoC directly to an MCU or otherwise more optimized platform might seem intuitive. But the architectural and programming model differences often necessitate a thorough redesign for production that translate to additional effort, cost, delay and risk.

Embedded Expertise advice: Carefully evaluate the project needs and prioritize production-specific requirements. This may require the developers to move beyond the comfort of powerful and familiar tools. However selecting the optimal hardware and software platforms early are the key to ensure a timely right-first-time success.

Reliability Concerns

Although these concerns were vastly mitigated in the later Compute Modules, Raspberry Pi’s are designed for consumer use, not the rigors of industrial environments.

They may not withstand extended uptimes, extreme temperatures, vibrations (bye-bye edge connectors), dust (ditto), or sudden power surges that embedded systems often encounter on the field. Don’t even think about the ‘lite’ variants that rely solely on an SD-Card to store the filesystems.

Admittedly some qualification reports are available from the Raspberry Pi’s website, but as far as I could read they don’t cover industry standards like ATEX, IEC 60068 and the like.

  •  

Limited Control

Unlike dedicated MCUs with readily available schematics, the Raspberry Pi CM4’s schematics are partial and the Broadcom CPU datasheet requires an NDA and potentially a minimum business volume to access. This limited access hinders control over the hardware and makes customization, troubleshooting, and long-term product support challenging

Let me tell you this real-life anecdote to illustrate just one example of what you could face even with the best willingness and skills.

True StoryA client threw me a curveball: U-Boot with UMS (USB mass storage) mode for their Compute Module 4 (CM4). Totally reasonable request, no arguments there. But unlike its platform cousins, the CM4’s U-Boot lacked the magic “ums” command.

Intrigued, I dug deeper. The System on Module (SoM) and underlying CPU sported all the necessary hardware – a pristine USB On-The-Go (OTG) controller just begging to be unleashed. Implementing it myself, inspired by other manufacturers, seemed tempting.

Then reality bit. No schematics for the CM4’s USB block, no CPU documentation. The official CM4 manual offered this gem: “‘The port can be used as a true USB OTG port. While there’s no official documentation, some users have had success…'”

As an embedded professional developer, basing a critical feature on whispers of internet success stories? No way, José.

Uncertain Security

 Furthermore, in its most accessible incarnation, the Raspberry Pi OS is distributed in binary. The Raspberry Pi Foundation doesn’t explicitly commit to addressing security vulnerabilities (CVEs).

While the Yocto Project offers more control over security updates, the onus falls on developers to track and integrate them without official Raspberry Pi Foundation support.

The combination of limited control (see above) and uncertain security creates significant risks for production environments.

Limited Professional Support

While the Raspberry Pi boasts a large and active user community, this translates to a lack of dedicated, professional support channels often expected in production environments. The Raspberry Pi Foundation focuses on user education and community-driven support. This approach, while valuable for hobbyists and learners, may not meet the needs of businesses relying on the Raspberry Pi for production systems. Production environments require a more structured and accountable support system. Community responses are inconsistent in quality and may not provide definitive solutions. Furthermore, the lack of official guarantees and limited 24/7 availability can lead to delays in resolving critical issues and potential production downtime.

True Story

Remember the CM4 UMS fiasco? With no official documentation and a DIY approach ruled out, I cast a lifeline to the community forum. Thankfully, responses poured in. But instead of the magic “ums” command incantation I craved, they offered a treasure trove of… well, let’s just say their solutions were as creative as they were unconventional. How to not use UMS for dummies.

Sure there are plenty of highly competent professionals out there who will happily help. While professional resources are readily available, they come at a cost. This can significantly impact the project budget, especially compared to SoM vendors who often offer dedicated production support as part of their service package.

Here comes the hidden cost of “free” support: Even if you manage to find helpful advice within the community, the time investment required to navigate forums, research solutions, and implement fixes can be significant. This hidden cost of “free” support can outweigh the upfront investment in professional support from SoM vendors, especially when considering potential production delays and the impact on your bottom line.

Restricted Ecosystem

Broadcom’s policy of not releasing complete documentation limits the pool of SoM manufacturers for the Raspberry Pi. This dependence on a single or few SoM providers can lead to higher costs, reduced negotiation power, and potential supply chain bottlenecks.

Furthermore, if the Pi manufacturer encounters production issues or discontinues the production, finding a suitable alternative becomes a significant challenge due to the lack of offering with the same chipset. This can lead to production delays and potentially force a redesign of the entire system including hardware and embedded firmware.

My Experience with Alternative SoM Vendors:

Having spent years designing hardware and developing software on System on Modules (SoMs) similar to the CM4, I’ve found alternative SoM vendors like Boundary Devices (now Ezurio), Phytec, Variscite, Dusun, Myirtech and others to be far more production-friendly. These companies consistently provide top-notch support that caters to the specific needs of businesses operating in production environments. Here’s what sets them apart:

  • Comprehensive Documentation: Complete schematics and detailed datasheets are readily available, empowering developers with a deep understanding of the hardware and enabling customization if necessary.
  • Yocto Project Support: Pre-configured Yocto Project environments with custom layers for their SoMs simplify development and ensure compatibility.
  • Professional Support: These vendors offer dedicated, professional support channels with technical assistance, bug fixes, and even on-site support for critical production issues, providing the peace of mind businesses require.
  • Supply Chain Commitment: Alternative SoM vendors prioritize long-term planning. They commit to extended hardware production lifespans and software maintenance, ensuring your product’s longevity. Additionally, they offer production volume ramp-up capabilities and can provide second sources for critical components when necessary, mitigating supply chain risks.

My Experience With Other Professional SoM Vendors

Having spent years designing hardware and developing software on System on Modules (SoMs) similar to the CM4, I’ve found alternative SoM vendors like Boundary Devices (now Ezurio), Phytec, Variscite, Dusun, Myirtech and others to be far more production-friendly. These companies consistently provide top-notch support that caters to the specific needs of businesses operating in production environments. Here’s what sets them apart:

  • Comprehensive Documentation: Detailed datasheets and often complete schematics are readily available, empowering developers with a deep understanding of the hardware and enabling customization if necessary.
  • In-House Yocto Project Support: Pre-configured Yocto Project environments with custom layers for their SoMs simplify development, eensure compatibility and guarantee result.
  • Professional Support: These vendors offer dedicated, professional support channels with technical assistance, bug fixes, and even on-site support for critical production issues, providing the peace of mind businesses require.
  • Supply Chain Commitment: Alternative SoM vendors prioritize long-term planning. They commit to extended hardware production lifespans and software maintenance, ensuring your product’s longevity. Additionally, they offer production volume ramp-up capabilities and can provide second sources for critical components when necessary, mitigating supply chain risks. Should a SoM reach end-of-life, the truly competitive landscape is likely to offer alternatives with minimal reworks.

Wrap-Up

The Raspberry Pi’s affordability and user-friendly Linux environment make it a popular choice for embedded systems. However, its strengths in rapid prototyping can mask its limitations in production environments.

When to Embrace The Raspberry Pi

  • Rapid Prototyping: Get your proof-of-concept up and running quickly with readily available libraries and a familiar Linux environment.
  • Learning and Development: Experimentation and education are where the Raspberry Pi truly shines. Its affordability makes it a great platform for beginners and hobbyists.

When to Look Beyond The Raspberry Pi

  • Production Environments: For production-ready embedded systems, prioritize efficiency, reliability, and long-term support. In some cases, microcontrollers (MCUs) offer a more lightweight and optimized solution.
  • Security Concerns: The Raspberry Pi’s limited control over hardware and uncertain CVE coverage can pose security risks in production settings. Alternative SoM vendors often provide better documentation and support for security updates.
  • Supply Chain, Scalability and Support: Production environments with rapid volume ramp-up or specific support requirements may find the Raspberry Pi ecosystem lacking compared to established SoM vendors.

Choosing the Right Platform For The Job

The Raspberry Pi is a valuable tool in the embedded systems developer’s toolbox, but it’s not a one-size-fits-all solution. By carefully evaluating your project’s needs and prioritizing production-specific requirements, you can select the optimal hardware and software platform for success.

To me, the supply chain uncertainties in production settings are the #1 showstopper due to the detrimental consequences they can have on a commercial product.

Need help selecting your next embedded platform? We’re here to help.