Raspberry Pi compute module is a great embedded Linux development platform for building a Commercial or an Industrial Product. It is a low-cost module running Quad-core ARM (BCM2837) processor with 1GB RAM, 8/16/32GB eMMC (on CM3+ variant), bundled with a lot of IOs on a 200-pin SODIMM edge connector.
If you are planning to use Raspberry Pi compute module for your product development, you must read this article and understand the advantages and especially the limitations of the module and see if they are impacting any of your design requirements.
Advantages of using the Raspberry Pi compute module
Availability is one of the most critical parameters to consider before deciding to use any board or module for your product development. Generally speaking, it takes 18-24 months to develop a sellable product and then you need 3-4 years to sell before you start thinking about migration to a new board or module. So, 7 years is the minimum advisable availability period to be considered.
As per Raspberry Pi’s obsolescence statement, Compute Module 3+ will remain in production until at least January 2026. So the design engineer gets 7+ years (as of 2019) to develop the product and sell for a few years in the market.
Small Form Factor (edge PCB connector interface)
This is an integrated computer module with a small board (67.6mm × 31mm x 4.7mm) that fits into a standard SODIMM connector. This allows the design engineers to go really small for their end application. This was not possible with regular Raspberry Pi Boards. Raspberry Pi boards are fixed, you cannot change anything.
The Raspberry Pi compute module comes with an option of onboard eMMC ( 8GB/16GB/32GB eMMC Flash) which eliminates the unreliability of OS residing on an SD Card. The lite variant comes with an option where onboard eMMC is not present but for the commercial or industrial applications, it is recommended to use the eMMC version. Also, eMMC memory is soldered on the module itself and not plugged in some connector (which may cause issues in the field due to vibration)
Temperature Range (-25 to 85 Degree C)
As mentioned on the Raspberry Pi website: The operating temperature range of the module is set by the lowest maximum and highest minimum of any of the components used.
The eMMC and LPDDR2 have the narrowest range, these are rated for -25 to +80 degrees Celsius. Therefore the nominal range for the CM3+ and CM3+ Lite is -25C to +80C.
However, this range is the maximum for the silicon die; therefore, users would have to take into account the heat generated when in use and make sure this does not cause the temperature to exceed 80 degrees Celsius
In such a small form factor board lot of IOs are available which are quite good for any commercial or industrial applications.
- 48x GPIO
- 2x I2C, 2x SPI, 2x UART, 1x USB2 HOST/OTG
- 2x SD/SDIO
- 1x HDMI 1.3a
- 1x DPI (Parallel RGB Display)
- 1x NAND interface (SMI)
- 1x 4-lane CSI Camera Interface (up to 1Gbps per lane)
- 1x 2-lane CSI Camera Interface (up to 1Gbps per lane)
- 1x 4-lane DSI Display Interface (up to 1Gbps per lane)
- 1x 2-lane DSI Display Interface (up to 1Gbps per lane)
Please note, not all interfaces will be available at the same time, some are multiplexed. Check the datasheet in detail before proceeding with the design using compute module.
Limitations of using the Raspberry Pi Compute Module
Module form-factor gives a lot of advantages but there are some limitations also of Raspberry Pi compute module. Design engineers should consider these before building a product. One of the biggest limitations with the module approach is that you need to create a carrier board if the readily available boards in the market are not good enough for your requirements or are very expensive.
Some of the other limitations are mentioned below:
Complex Power Supply Requirement
It needs 6 power rails to be available all the time to function properly. You need to generate 1.8V, 3.3V for processor core, IOs, on module memory & 2.7V (2.5-2.8V) if you need TV-out.
And, you might also need 5V for USB, HDMI, etc. interfaces.
A single input power supply could have been implemented but I guess in order to produce at the lowest cost, they have left it for the developer to handle on their carrier or IO board.
Limited IOs & Interfaces
The ethernet interface is not available on the module. If you need Ethernet either you need to use USB to Ethernet chip (with limited throughput) or use any other board.
USB 2.0 / 3.0
Raspberry Pi compute module has only one USB interface. A single USB interface might not be enough for various requirements. If you need more USB port you need to use USB hub chips which adds the complexity of the carrier board as well as the cost. Additionally, USB throughput won’t available fully. The module doesn’t have any USB3.0 interface.
Although the compute module has two SDIO interfaces only one if available on CM3+ variant as another is used for onboard eMMC Memory.
Raspberry Pi computer module doesn’t have any special provision for thermal management like thermal pads from where the heat could be transferred or mounting holes to have a robust provision for a heatsink.
Small heat sinks with self-adhesive glue could be attached but those are not enough in many demanding applications.
The datasheet also mentions – a designer must pay careful attention to the thermal design of products using the CM3+ so that performance is not artificially curtailed due to the processor thermal throttling, as the Quad ARM complex in the BCM2837 can generate significant heat output under load.
In order to use Raspberry Pi compute module SODIMM connector is required, which adds cost & a little complexity to the carrier or IO board design.
Onboard WiFi or Bluetooth (BLE)
Unlike many Raspberry Pi SBC Boards, Compute module do not have any provision of WiFi or bluetooth connectivity.
One needs to connect appropriate modules over SPI, SDIO or USB.
Compute Module Cost
Raspberry Pi compute module CM3+ is available for 30$/35$/40$ based on onboard eMMC storage memory size. CM3+ Lite is available for 25$ without onboard eMMC.
There are other alternatives available from other embedded computer module manufacturing companies (check Variscite, Compulab, Toradex, etc.) which better features and comparable cost.
Development Board Cost
Development board cost for a Raspberry Pi computer module is quite high, approx 135$. There are some cheaper alternatives available, check details here.
Raspberry Pi foundation has launched CM, CM3 in the past but now they recommend to use the only CM3+. Their official statement says ” The latest version of the Compute Module is the CM3+. This is the recommended Compute Module for all current and future development. ”
I hope the above information was useful for you and will help you make a decision on using the Raspberry Pi compute module for your design.
If you like the article, please share it with others. Any suggestion or comments, let me know here.
Read my other articles on embedded system design.
Happy learning to you!
Good Article Pallav, i was looking for some details on the possibility of using CM3+ in our application scenario. This gives a quick overview. By the way do you have any updates on the release of CM4 and have you used any CM modules in your projects and which all carrier boards were used ?
Hi Sudesh, thanks for your comment. I have got to know from the Raspberry pi foundation forum that CM4 is planned for this year. And here is the Raspberry Pi CM4 module: https://www.raspberrypi.org/products/compute-module-4/
There is another article on my blog which gives details about the Raspberry pi compute module development board, check that out(https://pallavaggarwal.in/6-raspberry-pi-compute-module-development-board/), hope that helps.
Dear Mr. Pallav, Very nicely compiled article. You compiled so well that decision making for choice of SOM for Edge based application is simpler. The Limitations were really useful.
Thank you, Mr. Kannan. Glad you found it useful.
Wao Great article. Very helpfull. Good for Decision Making
Thank you. Glad it is helpful.
Thanks for this insightful post sir