Raspberry Pi Compute Module 3 Development Kit - Review

Table of contents

RoadTest: Raspberry Pi Compute Module 3 Development Kit

Author: ninjatrent

Creation date:

Evaluation Type: Evaluation Boards

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Raspberry Pi 3 , BeagleBone Black Industrial, BeagleBone Black Wireless, BeagleBone Blue

What were the biggest problems encountered?: No problems encountered

Detailed Review:

Introduction

I would like to start by thanking Raspberry Pi and Element 14 for allowing me the privilege of participation in the testing and review of this product . I hope that you will find this report helpful and thank you for your time reading it. Okay let's get started. It is with great honor I present to you, the The Raspberry Pi Compute Module 3 Development Kit.

 

Raspberry Pi and The Compute Module


image

 

The Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and in developing countries. According to the Raspberry Pi Foundation, over 5 million Raspberry Pis have been sold before February 2015, making it the best-selling British computer. By November 2016 they had sold 11 million units. 

 

    The organisation behind the Raspberry Pi now consists of two arms. Originally developed under the auspices of the Raspberry Pi Foundation, the success of the Pi Model B prompted the Foundation to set up Raspberry Pi Trading, with Dr Eben Upton as CEO, to develop the third model, the B+. Raspberry Pi Trading is responsible for developing the technology while the Foundation is an educational charity that exists to get that message out to schools. Raspberry Pi Trading reinvests about a third of its profit in R&D, and the rest goes to the foundation. 

 

    The Foundation provides Raspbian, a Debian-based Linux distribution for download, as well as third-party Ubuntu, Windows 10 IOT Core, RISC OS, and specialised media center distributions. It promotes Python and Scratch as the main programming language, with support for many other languages. The default firmware is closed source, while an unofficial open source is available.

 

      The Raspberry Pi 3, with a quad-core Cortex-A53 processor, is described as 10 times the performance of a Raspberry Pi 1. This was suggested to be highly dependent upon task threading and instruction set use. Benchmarks showed the Raspberry Pi 3 to be approximately 80% faster than the Raspberry Pi 2 in parallelized tasks.

 

 

      On April 7, 2014, The official Raspberry Pi blog announced the Raspberry Pi Compute Module, a device in a 200-pin DDR2 SO-DIMM-configured memory module (though not in any way compatible with such RAM) based around the BCM2835 processor of the original Raspberry Pi. CM1 was a great success in various markets, particularly in IoT and home and factory automation. It is intended for consumer electronics designers to use as the core of their own products.

https://www.raspberrypi.org/blog/raspberry-pi-compute-module-new-product/

 

And on January 16, 2017 The Compute Module 3 and Compute Module 3 Lite are launched. 

https://www.raspberrypi.org/blog/compute-module-3-launch/

 

    The idea of the Compute Module was to provide an easy and cost-effective route to producing customised products based on the Pi hardware and software platform. The thought was to provide the ‘team in a garage’ with easy access to the same technology as the big guys. The Module takes care of the complexity of routing out the processor pins, the high speed RAM interface, and core power supply, and allows a simple carrier board to provide just what is needed in terms of external interfaces and form factor. The module uses a standard DDR2 SODIMM form factor, sockets for which are made by several manufacturers, are easily available, and are inexpensive.

 

    There are currently two versions of Compute Module 3. The first is the ‘standard’ CM3 which has a BCM2837 processor at up to 1.2GHz ( providing twice the RAM and roughly 10x the CPU performance of the original Module) with 1GByte RAM, the same as Raspberry Pi 3, and 4Gbytes of on-module eMMC flash. The second version is the ‘Compute Module 3 Lite’ (CM3L) which still has the same BCM2837 and 1Gbyte of RAM, but brings the SD card interface to the Module pins so a user can wire this up to an eMMC or SD card of their choice.

 

    Raspberry Pi has also released an updated version of the original Compute Module IO Board, the Compute Module IO Board V3 (CMIO3). This board provides the necessary power to the Module and gives you the ability to program the Module’s flash memory (for the non-Lite versions) or use an SD card (Lite versions), access the processor interfaces in a slightly more friendly fashion (pin headers and flexi connectors, much like the Pi), and provides the necessary HDMI and USB connectors so that you have an entire system that can boot Raspbian (or the OS of your choice). This board provides both a starting template for those who want to design with the Compute Module, and a quick way to start experimenting with the hardware, and building and testing a system, before going to the expense of fabricating a custom board. The CMIO3 can accept an original Compute Module, CM3, or CM3L.

 

Arrival of The Raspberry Pi Compute Module 3 Development Kit

 

imageimageimageimageimage

 

 

Raspberry Pi Compute Module 3

image

image

image

      The Compute Module 3 contains the guts of a Raspberry Pi 3 (the BCM2837 processor and 1GB of RAM) as well as a 4Gbyte eMMC Flash device (which is the equivalent of the SD card in the Pi). This is all integrated on to a small 67.6x30mm board which fits into a standard DDR2 SODIMM connector (the same type of connector as used for laptop memory). The Flash memory is connected directly to the processor on the board, but the remaining processor interfaces are available to the user via the connector pins. You get the full flexibility of the BCM2837 SoC, which means that many more GPIOs and interfaces are available as compared to the Raspberry Pi, and designing the module into a custom system should be relatively straightforward.

 

image

 

  The Compute Module 3 contains the following components contained within a 200 pin SODIMM design:

   

      Broadcom  BCM2837 processor

    1 Gbyte LPDDR2 RAM

    4 Gbytes eMMC Flash

    35u hard gold plated IO Pins

 

Raspberry Pi Compute Module 3 Lite

imageimage

The Compute Module 3 Lite product is the same as the Compute Module 3 except the eMMC Flash is not fitted, and the SD/eMMC interface pins are available for the user to connect their own SD/eMMC device The Compute Module 3 Lite contains the following components contained within a 200 pin SODIMM design:

 

    Broadcom BCM2837 processor

    1 Gbyte LPDDR2 RAM

    35u hard gold plated IO Pins

(N.B. when operating with the IO Board, an SD card with a suitable image must be connected to the IO board for the system to work)

 

Software:

ARMv7 Instruction Set

Mature and stable Linux Kernel Support

Latest Linux Kernel support

Many drivers upstreamed

Stable and well supported user enviroment

Full availability of GPU functions using standard APIs

 

The main difference between the CM3 and CM3 Lite is that the eMMC storage is not populated at all. The layout is still on the PCB, however the pin out of the compute module has changed so that the relevant SD/SDX pins are now broken out onto the 200 pin connector. This allows use of an external microSD/SDCard connector (or potentially an external eMMC storage) such as the one on the IO Board.

 

 

Compute Module 1

Compute Module 3

Compute Module 3 Lite

- BCM2835 System on Chip (SoC) processor - Single Core 32bit, 700Mhz - ARM11 with ARMv6 Instruction Set - 512MByte LPDDR2 RAM - 4GBytes eMMC

- BCM2837 System on Chip (SoC) processor - Quad Core 64bit, 1.2Ghz - 512KByte L2 Cache - ARM Cortex A53 with ARMv7 Instruction Set - 1GByte LPDDR2 RAM - 4GBytes eMMC

- BCM2837 System on Chip (SoC) processor - Quad Core 64bit, 1.2Ghz - 512KByte L2 Cache - ARM Cortex A53 with ARMv7 Instruction Set - 1GByte LPDDR2 RAM - SD/eMMC pins exposed

 


  Due to the CM3 using the BCM2837, this means that consideration needs to be made for power consumption and heat dissipation. According to the documentation, VBAT will require more power to the processor when it is under heavy load. For the CM3 module, and CM3 Lite, there are six power supply rails to the module which have to be accommodated for (excluding consideration for SDX_VDD).

 

 

Raspberry Pi Compute Module IO Board

imageimageimage

image

imageimageimage

 

The Compute Module IO Board is a simple, open-source breakout board that you can plug a Compute Module into. It provides the necessary power to the module, and gives you the ability to program the module’s Flash memory, access the processor interfaces in a slightly more friendly fashion (pin headers and flexi connectors, much like the Pi) and provides the necessary HDMI and USB connectors so that you have an entire system that can boot Raspbian (or the OS of your choice). This board provides both a starting template for those who want to design with the Compute Module, and a quick way to start experimenting with the hardware and building and testing a system before going to the expense of fabricating a custom board.

 

image

 

 

The IO board contains the following interfaces:

 

Multiple GPIO interfaces on 2 60 way 0.1" Headers

1 x Micro USB Connector Type B - USB Slave

1 x USB Connector Type A - USB Host

2 x CSI Ports for Camera Boards

2 x DSI Ports for Display Boards

Full Size HDMI Port

Micro USB Power Connector

Micro SD Connector

 

The Compute Module IO Board has a 22-way 0.5mm FFC for two camera ports, with CAM0 being a 2-lane interface and CAM1 being the full 4-lane interface. To attach a standard Raspberry Pi Camera to the Compute module IO Board a small camera adaptor board is used to adapt the 22W FFC to the Pi 15W FFC. The Compute Module also has 2 MIPI serial display interfaces (DSI); a small camera adaptor board included in the kit is used to adapt the 22W FFC to the Pi 15W FFC.

 

Raspberry Pi Compute Module IO Board Camera Display Adaptor

 

image

imageimage

imageimage


  These adapters are used to connect a standard Raspberry Pi camera board or Raspberry Pi display to the Compute Module IO Board. There is one display and one camera adapter provided within the kit.

 

Raspberry Pi Power Supply 5v 2.5A

imageimageimageimageimageimageimage

This is used to power the Compute Module IO Board.

 

USB A to micro B Cable

image

 

 

    This is provided to allow you to flash an operating system onto the 4GB eMMC flash memory within the Compute Module. (It is recommended that you use a Raspberry Pi 3 Model B to re-flash the software on the chip).

 

4 x Jumper Wires

image

These are provided to jumper the control of the Camera interface or Display interface into the GPIO banks so they can be accessed.

 

Sources for this information:

 

https://www.element14.com/community/docs/DOC-83926/l/raspberry-pi-compute-module-3

 

Raspberry Pi Compute Module 3 https://www.element14.com/community/docs/DOC-83880/l/does-this-compute-raspberry-pi-compute-module-3-and-io-board

 

Photographs captured by

 

 

Datasheets and Schematics

 

You can find all of the documentation that has been released by Raspberry Pi Trading / Raspberry Pi Foundation on their website. The documentation gives a full breakdown of the IO Board, Compute Module(s) along with guides on using the Raspberry Pi Cameras and attaching the Official Display along with software guidance on flashing the eMMC. I have provided the links below for convenience.

 

BCM2837 Processor

    https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2837/README.md

 

    https://developer.arm.com/products/processors/cortex-a/cortex-a53

 

Datasheet for the Compute Modules and related boards

    https://www.raspberrypi.org/documentation/hardware/computemodule/datasheet.md

 

Schematics for the Compute Modules and related boards

      https://www.raspberrypi.org/documentation/hardware/computemodule/schematics.md

 

Design data for Compute Module IO and camera/display adapter boards

      https://www.raspberrypi.org/documentation/hardware/computemodule/designfiles.md

 

Notes for designing with the Compute Module

    https://www.raspberrypi.org/documentation/hardware/computemodule/cm-designguide.md

 

How to (re)write the eMMC flash on the Compute Module, using a Compute Module IO Board

    https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md

 

How to attach a Raspberry Pi camera to the Compute Module IO Board

      https://www.raspberrypi.org/documentation/hardware/computemodule/cmio-camera.md

 

How to attach the Raspberry Pi 7-inch display to the Compute Module IO Board

      https://www.raspberrypi.org/documentation/hardware/computemodule/cmio-display.md

 

 

Getting Started

 

In order to get started with the compute module, it will be necessary to download the Raspbian image. I do not believe that NOOBS will work with the CM3. Other third party operating systems might be compatible with the CM3 but unconfirmed at this time.

 

https://www.raspberrypi.org/downloads/

 

Dependant on which compute module chosen to start with (CM3 or CM3L), and desired application, the following peripherals might be required:


USB to TTL Serial Debug/Console Cable

USB 2.0 Hub

USB Keyboard and Mouse

USB WiFi Module


Here is a simple tutorial on how to enable WiFi 

 

https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

 

 

Test Driving The Raspberry Pi CM3 Dev Kit

image

 

The Compute Module 3

image

(13 x 13 x 3MM Heatsink not included. Purchased from https://www.adafruit.com/product/3084 )

 

 

image

About the size of a Raspberry Pi Zero Wireless but with more power.

 

image

Raspberry Pi 3 beside the Compute Module 3 and IO Board.

 

image

Raspberry Pi 3 and Display in SmartiPi Case was used to flash CM3 eMMC with the included USB to Micro USB Cable.

 

After installation of the Raspbian Stretch Lite OS Image onto the CM3's eMMC Flash, a few tests were performed in order to determine similarity and difference between a Raspberry Pi 3 running the same Raspbian Lite image. One difference that became apparent immediately was a the need for a WiFi  Interface to simplify connection via SSH and VNC. Fortunately after the addition of a USB WiFi Module connected to the USB Host on the CM3 IO Board and creation of the wpa_supplicant.conf file, this issue was easily resolved. Out of three different USB WiFi Modules tested with the CM3, each one was successfully in operation. More information about setting up WiFi via the Command Line can be found at the following link.

    

     https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

 

 

 

 

 

The Compute Module 3 Lite

image

( 15 x 15 x 15MM Heatsink not included. Purchased from https://www.adafruit.com/product/3082 )

 

image

The CM3L and 32 GB MicroSD running Raspbian Stretch with Desktop. USB Keyboard, Mouse, and WiFi Module connected to USB Host.

 

image

This looks familiar. Latest Raspbian Stretch with Desktop running on the CM3L.

 

image

Everything seems in order here. Chromium browser with Google Search Engine.

 

image

Using the Compute Module to learn more about the Compute Module.

 

image

The capabillities of the CM3 and CM3L as a HD Media Player are truly amazing. It performed exceptionally, handling every video format thrown at it.

.avi , .mp4, .mkv, no problem. Even a16 hour non-stop Star Wars Marathon.

 

image

A Custom Made Unofficial Compute Module 3 Case with 5V Fan

 

image

The Raspberry Pi CM3L is Cool!!

 

image

Case made from Recycled Materials

 

imageimage

What is this ancient thing doing here?

 

image

Ultimate RetroPi Game Console and Media Player? Why not. The RPi CM3 and a 1 Tbyte HD.

 

image

 


  The CM3L and 1 Tbyte HD in standard sized 19" Rack Mount Caseimage

 

image

The CM3 connected to an Adafruit AMG8833 IR Thermal Camera Breakout, DS3231 Precision RTC, and BME280 Temp/Baro/Humidity Sensor.

  imageimageimage

My Body Temp with T-Shirt on, and without. And an IR Thermal Image of the BCM2837 Processor in Action.

The AMG8833 IR Thermal Sensor effectivly uses the Quad-Core processing capability of the BCM2837 to interpolate and filter the sensor output with a process called bicubic interpolation.

 

Tracking Hurricanes with The Compute Module 3

 

I even used the CM3L to track recent Hurricanes in the Caribbean with data from the NOAA GOES Geostationary Satellite Server.

    NOAA GOES Geostationary Satellite Server

 

Similar Resources Available from the following sites:

 

EUMETSAT  Geostationary Satellite Server

    https://www.eumetsat.int/website/home/index.html

 

JMA Geostationary Satellite Server

    Meteorological Satellites - Japan Meteorological Agency -

 

image

12km Visible Light Spectrum

 

image

8km Visible Light Spectrum

 

image

12km IR Light Spectrum

 

image

8km IR Light Spectrum

 

image

12km Water Vapor

 

image

8km Water Vapor

 

Various IR Composite Images

imageimageimageimage

 

Various Composite Water Vapor Images

imageimageimageimageimageimageimage

 

 

Products and Various Applications Developed with Raspberry Pi


Trident, an affordable underwater drone built with hackability in mind and powered by Raspberry Pi.

    https://www.raspberrypi.org/blog/openrov-underwater-exploration-with-raspberry-pi/


NEC combines commercial-grade displays with the Compute Module for a brilliant solution

    https://www.raspberrypi.org/blog/compute-module-nec-display-near-you/


Slice, the first ever Compute Module-based media player

    https://www.raspberrypi.org/blog/creating-and-kickstarting-slice-the-compute-module-based-media-player/

 

CubeSats, a type of miniature satellite powered by the Compute Module

    https://www.raspberrypi.org/blog/compute-module-cubesats/


The Raspberry Pi is being used to save the eyesight of people in India thanks to the Open Indirect Ophthalmoscope (OIO) project.

    https://www.raspberrypi.org/blog/ophthalmoscope-eyesight-india/

 

Otto, A Hackable Camera Powered by Raspberry Pi

    https://www.raspberrypi.org/blog/otto-a-hackable-camera-powered-by-raspberry-pi/

 

Ben Heck's DIY graphing calculator built with a Raspberry Pi

    https://www.raspberrypi.org/blog/ben-hecks-diy-graphing-calculator/

 

image

    Is your product "Powered By Raspberry Pi"?

    https://www.raspberrypi.org/blog/powered-by-raspberry-pi/

 

    https://www.raspberrypi.org/trademark-rules/powered-raspberry-pi/

 

Summary

     I am very impressed with the performance of the Raspberry Pi 3 Compute Module Development Kit. This development kit is the best way to get started with the development of your own Raspberry Pi powered product. The potential for the RPi CM3 and CM3L are only limited by one's imagination.  I highly recommend the RPi CM3 for the development of consumer and industrial applications.

Anonymous