Technical Article

Why Raspberry Pi Isn’t a Good Choice for Commercial Products

July 19, 2019 by Pallav Aggarwal

RPi has done some amazing good in the world, especially for aspiring young engineers, but here's the breakdown on why it's probably not what you need for a professional project.

RPi has done some amazing good in the world, especially for aspiring young engineers, but here's the breakdown on why it's probably not what you need for a professional project.

In a recent AAC survey, about 20% of respondents claimed using "maker" boards in end products. In a reader question, some community members reported using maker boards, including the Raspberry Pi, in various settings, including some examples of professional development.

While maker boards are important tools in many situations—including STEM education and product prototyping—in this article, I will highlight some of the shortcomings of maker boards with regard to the general requirements of a commercial or industrial product, using the Raspberry Pi as an example.

My goal here is not to discourage you from using Raspberry Pi or cast judgment upon it. Without a doubt, Raspberry Pi is a great initiative and a great embedded computer board for education and some prototyping. Rather, my goal is to inform engineers about some of the concepts which may impact their commercial product development, especially if they use Raspberry Pi as a base embedded computing board.

 

Why Do Some Engineers Choose RPi?

Let us first try to understand why many engineers may want to use Raspberry Pi for their product development.

There are various benefits to the Raspberry Pi:

  • Low cost (~35$)
  • Huge processing power in a compact board
  • Many interfaces (HDMI, multiple USB, Ethernet, onboard Wi-Fi and Bluetooth, many GPIOs, USB powered, etc.)
  • Supports Linux, Python (making it easy to build applications)
  • Readily available examples with community support
  • Developing such an embedded board is going to cost a lot of money and effort

When you are building a hobby or a personal project, all the points mentioned above are good. But, if you are building an industrial or commercial product, you have to think about a lot of other critical parameters before choosing any ready-to-use embedded board. 

So, what are the different parameters one should consider before selecting an embedded development board for their product development?

1. How Much Do You Need Long-Term Availability?

The availability of the hardware you select for your design is the most critical parameter to consider when building a product. On average, if you are building a commercial product, it will take close to 18-24 months before you can start selling it in the market. 

After this point, you would want to sell the product for a few years—let's say three to four years—before you would want to start migrating to another board. So, if you are considering a readymade embedded development board to be used in your product, I consider the minimum available of that board be seven years or more.

Now let's do a quick check, as per the Raspberry Pi website, about the committed availability of the boards: 

  • Raspberry Pi 3 Model B+ availability, January 2023 (~3.5 years left from July 2019)
  • Raspberry Pi 3 Model A+ availability, January 2023 (~3.5 years left)
  • Raspberry Pi Zero availability, January 2022 (~2.5 years left)

Bear in mind that the availability commitments mentioned above don't guarantee access to a specific number of boards when you need them. So the question for you, the designer, becomes do you want to choose a board which is just available for the next three to four years? On top of that, have you thought about how you will get your hands on the quantities you need when you need them? 

Regardless of what you're sourcing, one recommendation is to visit sites like Digi-Key, Mouser, and others to check your components' availability. You should be able to get hold of a representative who can discuss if they're able to stock the quantities you require.

2. Can You Handle Running Your Operating System (OS) on an SD Card?

Raspberry Pi Board runs Linux on an SD card. This may mean that ruggedized applications will pose a problem as this SD card connection may have issues with vibrations in the field. There is no provision to ensure connections are intact while in operation. You might end up using unreliable workarounds (double-sided tapes, glue, etc.).

 

 

Another problem with this SD card situation is that it can become corrupted if it is written heavily or if the board is not powered down properly while the file-write operation was still going on. In order to solve this, you may end up providing an external battery or supercapacitor-based power supply to provide a mains power-off interrupt signal so that your software can handle proper shutdown before the board shuts off.

3. How Important Are USB Connections to You?

RPi boards lack USB header connectors, which makes it impossible to connect sensors, modems, etc. via USB connection. This forces developers to connect those peripherals via USB cable (not the recommended way, particularly not for industrial applications). 

Next, the most important aspect is the availability of the required feature set. There are various features which are unavailable on the Raspberry Pi board which could be essential when designing a commercial product.

4. Do You Need a Real-time Clock with Battery Backup?

In most of the cases, if you want to track events using real-time, you need a real-time clock. This isn't something that comes standard with Pi boards. If you'd like to add an external RTC circuit, you can do so, but that will add cost, effort, and space.

5. Do You Need Any of these Features/Interfaces?

Here are some things you may determine that you need but the Pi family wouldn't be able to provide.

  • LCD Interface: All display RGB signals are coming on the 40-pin header. If one needs to use a TFT display, very few or no GPIOs will be available. 
  • Onboard ADC: If your product needs an ADC (8/10/12bit resolution), you will need to add an external ADC chip via I2C/SPI. 
  • EEPROM/FRAM/SPI Flash: For data logging applications, it is very important to have onboard EEPROM or FRAM or Flash for data storage. At present, there is no provision for that. 
  • Limited UARTs: Only one UART is available on the header and that doesn't allow eight signals. Usually, two or three UARTs are required for most of the requirements. 
  • A limited number of I/Os: 28 GPIOs are available on the header but these are not enough for many commercial applications. 

Due to the above points, a separate board might be required to fill the gap.

6. Will You Require an External Power Supply?

In a commercial product, you need to provide an additional AC-DC power supply (if the product is directly getting powered by AC) or DC-DC power supply (if the product is getting powered by external adaptor (6V/12/24V) or a battery) to power the board. 

The power supply connector on the board also needs to be reliable while in operation. A USB micro connector-based power supply is not recommended for a commercial product. Additionally, to save Raspberry Pi from failure, it should also have protection for reverse voltage, surge, and overload.

7. How Will You Approach Thermal Management?

The microprocessor on the Raspberry Pi generates heat which must be managed else it may impact the reliability of the board. As of now, only a small heatsink with glue can be used. There are no mounting holes provided near the processor so that heatsink can be fastened properly. 

 

Thermal image of an example circuit from ADI

 

Ultimately, if you are using the Raspberry Pi's computation abilities to 70-90%, you might need a proper heatsink and you will end up using mounting holes of the board and a bigger heatsink, which may not be readily available. There might be a need to custom design heatsink and get it manufactured. This is an extra cost and effort.

As a note, the recently-announced RPi 4 was experiencing some overheating issues that a firmware update should reportedly address.

8. How Important Is Your Form Factor Size?

As with any device design, space is a pain point. Basing a design around a board like a Pi will translate to restrictions on your end design's form factor. 

  • How would you design a product with a round shape, some amount of compromise will be required?
  • Smaller size than the Raspberry Pi board is certainly not possible, right?
  • HDMI is available on one side and USB & Ethernet connectors are provided on another side. In an application, where HDMI port access is required by the user, you need to use a cable to bring it near USB/Ethernet connectors and mount it with a custom enclosure. The HDMI cable connection is not reliable for the field operation. 
  • Extra USB(Model B+): In an application, if only two USBs need to be exposed to the user, one needs to use a custom enclosure to hide the other two USB ports.

9. How Much Development Support Do You Need?

Raspberry Pi boards are remarkably supported via online forums and community. Because RPi's strengths lie in community support, however, they do not specialize in professional dev support. Would you be able to launch the product with tight timelines using the community support or would you need dedicated support? 

Before even deciding, you should create a checklist of all the software components you are going to use and check the level of support available. Most of the time, it is recommended to test the performance so that you are sure you are going to get what you're expecting from your final product.

10. What Are Your Scalability Needs?

Because, to date, Raspberry Pi boards aren't designed with commercial products in mind, they do not have compatible boards which can be used as a replacement and/or offer different performance so that the developer can choose depending on computation requirements.

What would you do if you finished development and then realized that there was demand for different specs? Especially when trying to move from the prototyping stage into a more scalable portion of the product development process, it's important to consider designing for rework.


 

All of the above points are subjective to the commercial product requirements. In some cases, what Raspberry Pi offers is more than enough for the application. In those cases, you may want to use it for your product development. But, I hope this list of points mentioned above can act as a checklist for the engineers to consider before making decisions about using Raspberry Pi in their product. 

My advice for engineers who are looking for readily-available embedded computing boards is to use professional boards. Many companies (such as Kontron, Congatec, Compulab, etc.) offer boards with guaranteed availability for more than seven years. Many other board manufacturers will also have industrial-grade quality and the option for scalability.

Even if you choose to work with boards meant for commercial applications, however, hopefully this article will give you some things to think about when you're designing industrial products.

24 Comments
  • O
    odm4286 July 21, 2019

    I’d be interested in seeing a similar article for Ardunio. Even if the ATMEGA chip is placed on its own PCB, being stuck with that IDE seems like a big problem potentially.

    Like. Reply
    • Pallav Aggarwal July 23, 2019
      Thanks for your comment!
      Like. Reply
    • K
      krokant July 26, 2019
      I only partially agree. For any Arduino product, you don't need to use the IDE. You can use VSCode, or even use a completely different platform such as (the excellent) PlatformIO to develop for Arduino hardware boards. What you are "stuck" with is the Arduino framework, i.e. with their implementation of GPIO functions like analogRead() / digitalWrite(), their usage of timers (e.g. for millis() ), the structure of a setup() and loop() function. Personally, I don't consider that a bad thing -- for quick prototyping, having these generic, portable-across-MCU functions available makes life a breeze. And for those situations where you really need to bang the hardware, you can still revert to underlying Atmel ASF with direct register poking etc. Sure, it generates (quite) some overhead from a performance perspective, but the portability of MCU's in mind and with a huge ecosystem of ready-to-use libraries make it a great starting point. I completely agree that using an Arduino board (official or one of the many clones) just like that for production purposes is a huge operational risk and I would never recommend to do that to any of my clients.
      Like. Reply
  • Chris Crocker-White July 22, 2019

    Great article. There are boards which take the software ecosystem benefits of the Raspberry Pi and resolve all of the hardware issues named above, such as the balenaFin: https://www.balena.io/fin/

    Like. Reply
  • Pallav Aggarwal July 24, 2019

    Another drawback is the ethernet connection on the Raspberry Pi board is via USB to Ethernet Chip, which limits the practical throughput to approx 300 Mbps.

    Like. Reply
  • A
    arsviator July 25, 2019

    Some of the reasons you mentioned above can be remedied by using RPi compute module. Of course it needs to design base board, but almost all commercial product needs additional PCB even if they use Raspberry Pi.

    Like. Reply
    • Pallav Aggarwal July 25, 2019
      You are right. Thanks for your comment. I did only focus on Raspberry Pi boards, not compute-module. Other than the Raspberry Pi Computer module also, there are many companies who provide industrial-grade computer modules and even board which could be used. I am currently writing an article on the advantages & limitation of Rpi computer modules.
      Like. Reply
  • T
    triman July 26, 2019

    This was great article and well thought out. I think however, “nearly” all the issues raised are rather easily solved by taking already existing PCB layout files, modifying for your needs, and having your own custom boards made. Add super cap and proper power down management, add surface mount memory for SSD, layout main chips properly with heatsinks for thermal considerations and remove all the unnecessary parts. Taking an already proven PCB layout and doing the above modifications, is really not a lot of effort. But as you point out in your article, should not be overlooked if considered for commercial use.

    Like. Reply
    • Pallav Aggarwal July 26, 2019
      Thank you very much for reading my article and for sharing your thoughts. I want to clarify that this article is regarding covering Rpi boards and not the Rpi computer modules. If one needs to take the layout of the Rpi board(not the compute module) and modify it, that's a big task. It is not just the layout. You need to remember that now you are as good as making your own design and taking the responsibility of handling all production, keeping stock of components, handle EOL (all product life cycles challenges). Ideally, if your product volume is <5K / 10K units per year, it is much better to choose a ready board or a module + carrier board as per your need. Do you know how can you buy the Broadcom processor at the low volume, possible?
      Like. Reply
      • rsjsouza July 31, 2019
        Your last question above is the most critical to go to production; the availability of design files is almost completely moot considering the fact it is quite difficult (if not impossible) to get parts on the "retail" distributors.
        Like. Reply
  • D
    Doktor Jones July 26, 2019

    The statement “All display RGB signals are coming on the 40-pin header. If one needs to use a TFT display, very few or no GPIOs will be available.” is false; the Raspberry Pi provides a DSI (display serial interface) apart from the GPIO that is *designed* for display output.

    The article also completely overlooks the Raspberry Pi Compute Module, which is far more suitable for commercial/industrial IOT applications, as all the connections are made through SODIMM-style edge connectors that firmly lock into place without awkward cables hanging out every which way. In fact, raspberrypi.org even states “The Compute Module 3 is a Raspberry Pi 3 in a more flexible form factor, intended for industrial application”. Additionally, the Compute Module also can be equipped with onboard eMMC flash, negating your concerns about the SD card’s connectivity.

    Like. Reply
    • D
      Doktor Jones July 26, 2019
      Oh, and as for availability: "Raspberry Pi guarantee availability of CM3+ and CM3+ Lite until at least January 2026"... so that's 6.5 years out, as opposed to the 3.5 listed in the article; much more suitable for a commercial product. For prototyping, Raspberry Pi even makes a Compute Module I/O board (cleverly called CMIO) which breaks out the various connections to more suitable connectors (0.1 pin headers for GPIO, ribbon connectors for CSI/DSI, USB port, microUSB power port, and HDMI port).
      Like. Reply
      • Pallav Aggarwal July 26, 2019
        Thanks for your comments. I want to clarify that this article is regarding Rpi boards and not the Rpi computer modules. And, you are right that the Raspberry Pi computer module could be an option.
        Like. Reply
    • Pallav Aggarwal July 26, 2019
      Could you please explain how one can use GPIOs and TFT (RGB) display using 40 pin connector? Please correct me, I would like to edit the article if something I wrote is wrong (due to lack of my knowledge) You are right that DSI connector is available, but there are not many displays available out there in the market + wiring/cabling hassles would make it a little difficult to package it well. Could you please share some available displays which could be used for the product? I want to clarify that this article is regarding Rpi boards and not the Rpi computer modules. And, you are right that the Raspberry Pi computer module could be an option.
      Like. Reply
  • Andrea Montefusco July 26, 2019

    In order to circumvent the mentioned and well explained issues in the above article, one possible solution is to use CM3 modules, together with some carrier board available (see for example acmesystems.it/CM3-PANEL or acmesystems.it/CM3-HOME)

    Like. Reply
    • Pallav Aggarwal July 26, 2019
      Thanks for your comments. I want to clarify that this article is regarding Rpi boards and not the Rpi computer modules. And, you are right that the Raspberry Pi computer module could be an option.
      Like. Reply
  • Ted Crum July 26, 2019

    Is it possible to protect proprietary code on an RPi board?

    Like. Reply
  • kiwironnie July 26, 2019

    Excellent article Pallav.  As a general rule, after a few hard lessons, I try to avoid major sub-system parts that aren’t effectively (by one means or another) guaranteed to be available at an acceptable cost for the expected life of a product.  Apart from discontinuation or modified specifications there is often the risk over time of significant changes in pricing policy.  We’ve seen this happen even with major manufacturers. Typically this means developing own hardware and even then trying to select individual parts that can be multi-sourced or for which there are viable alternatives that could be swapped-in if necessary.  Most product applications don’t require a general purpose computer such as an RPi and it is relatively straightforward these days to develop simple microcontroller boards based on manufacturers’ reference designs.  The important takeaway I think is to avoid being misled by the idea that it is practical to avoid hardware development by creating a digital product based upon off-the-shelf modules.

    Like. Reply
  • D
    dcooper July 27, 2019

    If you take a look at the stock of raspberry pis that electronics suppliers are carrying and the quantity discounts available, it’s pretty clear that an lot of manufacturers think that low price, versatility and quick time to market outweigh the downsides.

    Like. Reply
    • Pallav Aggarwal July 27, 2019
      Availability, when you need, is the actual availability. When you sell you give warranties & extended warranties, just in case if you need to replace the board after a year or two, availability should be there. Another point, not every company will be ok buying from 10 different sources to get the required stock. We don't need to get emotional, the list of points is for awareness. I have mentioned in my article as well. Consider it as a checklist, if you tick all points and say nothing is a problem for your particular application, sure, go ahead and use it. If the points in the checklist affect you, don't use.
      Like. Reply