element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Blog Raspberry Pi Compute Module - Getting Started
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
GPIO Pinout
Raspberry Pi Wishlist
Comparison Chart
Quiz
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: biglesp
  • Date Created: 26 Jun 2014 3:40 PM Date Created
  • Views 2747 views
  • Likes 3 likes
  • Comments 14 comments
Related
Recommended
  • raspberry
  • compute
  • raspberry_pi
  • raspberry-pi
  • raspberrypi
  • pi_compute_module
  • raspberry_pi_compute_module
  • raspbian
  • module

Raspberry Pi Compute Module - Getting Started

biglesp
biglesp
26 Jun 2014

image

 

The Raspberry Pi has become a firm favourite in the maker community and there are many thousands of projects that use the Pi including many professional products. But the form factor of the Pi, while being ideal for makers and hackers the world over is not so ideal for industrial applications or professional products. But to address these issues, the Raspberry Pi Foundation has released a new board, The Compute .

 

The Compute is a small SODIMM shaped PCB that provides the full Raspberry Pi environment from a device roughly a quarter of the size of the original Raspberry Pi.

So you might be thinking, "Why such a radical redesign and why hasn't there been a spec bump?" Well both are valid questions. The change of form factor is a conscious decision by the Foundation, and the lead for the Compute project, James Adams.

SODIMM is a cheap and common form factor which enables developers to easily integrate the Compute into any project. As for the subject of a a “spec bump” well there is no real need. The Pi is a stable development platform for educators, commercial and industrial applications and the Foundation is trying to provide a mature and feature rich hardware platform and software stack in the long term.

The Compute Module, as in the SODIMM, is nothing without an expansion PCB board and the Foundation have kindly provided a development board in the shape of the Compute Module Input Output board, or CMIO for short.

Looking around the CMIO we can see a single USB 2.0 port and two micro USB ports. To use the CMIO with a keyboard, mouse and wifi dongle we will need a powered hub. The two micro USB ports are for 5v power and USB “On The Go”, often shortened to OTG. The only way to install an OS on the Compute is via the OTG port, and we'll come to this later. Other ports include an HDMI port for connecting to a monitor. Interestingly the CMIO comes with 4 expansion ports on the perimeter of the board. These are CAM0, CAM1, DISP0 and DISP1. These ports enable the board to work with two of the official Raspberry Pi cameras and the soon to be released official Raspberry Pi display. The Compute Module Development Kit comes with adapters that enable the camera and display to be used with the CMIO as they are not the same size as those on the original Raspberry Pi.

 

image

 

What can the Compute be used for?

The Raspberry Pi is a wonderful platform to work with, and the GPIO is a great addition enabling anyone to easily work with hardware. But the original GPIO only has 26 pins with which we can work, for the average user this is more than enough, but did you know that the Raspberry Pi BCM2835 system on a chip (SoC) can support 120 GPIO pins? It's true and the CMIO breaks out ALL of these pins for us to play with. From these 120 pins the user can adapt 45 pins to meet the needs of their project. The remaining pins are reserved for power, 1V8, 3V3 and 5V and Ground (GND). The use of I2C and SPI is also available via the GPIO in the same manner as the standard Raspberry Pi. The Compute is the ideal platform for GPIO based projects and this is clearly its specialist area. Possible projects based on this board are limitless, in much the same way that the Raspberry Pi has found a home in many projects. I see the Compute as a tool to enable larger scale projects, for example large scale robotics and sensor based projects. The massive increase in the number of GPIO pins makes this possible but the lack of Ethernet connectivity may put some people off.

 

image

Installing an OS on to the Compute.

Typically a Raspberry Pi requires an SD card to store the operating system, mostly Raspbian. But as the Compute has an on-board 4GB of eMMC this is no longer required, but the trick is how do we get our OS on to it? Well with the Compute Module firmly inside the CMIO we need to download a copy of Raspbian (dated 20/6/2014 or greater) and then extract the image to our computer. At the time of writing only a Linux host system can be used to flash the eMMC of the Compute, you can of course use your spare Raspberry Pi.

 

  • On the CMIO you will see a jumper marked “J4” USB SLAVE BOOT ENABLE, make sure that this is set to “EN”.

 

  • On your Linux computer ensure that the date and time is correct. If necessary use the following command in a terminal.

 

sudo date MMDDhhmm

 

Where MM = Month DD = Day, hh = hours and mm = minutes.

 

  • Once that date has been checked complete the following lines, remembering to press enter at the end of each line.

 

sudo git clone --depth=1 https://github.com/raspberrypi/tools

cd tools/usbboot

sudo apt-get install libusb-1.0-0-dev

 

This will clone a github repo that contains all of the files necessary to interact with the Compute.

 

  • Navigate to the directory where the git files were downloaded. We now need to make a tool which will enable our host machine to talk to the Compute module.

 

sudo make

 

  • With the tool built, now is the time to start the connection process. In the terminal issue the following command.

 

sudo ./rpiboot

 

 

  • Following the last command, your host computer will now wait for the CMIO to be attached, and to do that you will need to insert a micro USB to USB connection between the two. The micro USB connection will attach to the CMIO USB slave port and the standard USB connection will attach to your host computer.

 

  • Your host computer should now register that the CMIO has been successfully attached. We will now need to identify where the device has been mounted using the following command.

 

mount

 

Typically the device will be mounted as “/dev/sdX” where X is the letter associated with your Compute, but please ensure that you correctly identify the drive BEFORE running the next command.

 

  • With the drive associated to our Computer correctly identified we now need to copy the Raspbian image that we downloaded earlier to the eMMC of the Compute. To do this we will use a command called “dd”. This command will copy the image, piece by piece to the eMMC and will take around 10 minutes to complete. You will need to navigate to the location of the extracted image file that we downloaded earlier.

 

 

sudo dd if=raw_os_image_that_you_downloaded.img of=/dev/sdX bs=4MiB

 

 

Remember to change "raw_os_image_that_you_downloaded.img" to the name of your Raspbian image, and to change “X” to match the location of your Compute module.

Always double check BEFORE running this command as dd is fairly unforgiving if you choose the wrong drive.


  • Now that the operating system as been copied to the Compute we are free to unplug the USB from our host computer, but before we test our Compute, lets put the USB back in to the host computer to check that the process was successful.

 

  • The easiest way to check is via your file manager, two new drives should be made available, one of which will have a FAT file system, the other a Linux file system. If this is the case, congratulations your Compute is ready for action. If not, repeat the above steps to find any issues.

 

Now that they Compute is ready, remove the micro USB connection to your host computer, and return J4 to it's original position.

Connect up your HDMI, USB hub with peripherals attached, and finally power up the CMIO board.

 

Your Compute should now boot as per a typical Raspberry Pi sequence.

 

image

 

Who should buy the Compute?

The Compute is a marvellous piece of kit, but who is it really for? The initial price point indicates that this is a serious board for serious projects. This board is for those wanting to integrate the Pi technology into their project,for example the OTTO camera Kickstarter project has used the Compute to create a GIF camera in a unique form factor. By changing the form factor into something more streamlined, the Compute can be easily integrated inside many different devices.

The Foundation are keen for developers to create their own printed circuit boards (PCB) for use with the Compute, the SODIMM configuration, while not being compatible with the RAM expansion slots of laptops, is a standard form factor that is cheaply available, making this an ideal solution for future projects.


The details on how the Compute Module breaks out to the PCB can be found on the Raspberry Pi website and for more information on the Compute Module Development Kit head over to Element14's Community  page dedicated to the Compute

 

The Compute Development kit is a great platform to build your expansive Internet of Things (IoT) and sensory projects. Early adopters will already have a great foundation of projects, created for the original Raspberry Pi, at their finger tips.

 

image

  • Sign in to reply

Top Comments

  • biglesp
    biglesp over 11 years ago in reply to wmoritz +1
    Hello For those pins that you reference, you used the Broadcom pin reference to identify their position in the GPIO. The Compute CMIO uses the exact same pin reference, but lays them out in a more logical…
  • clem57
    clem57 over 9 years ago in reply to inter_asp_ed2

    Kernel panic is normally software trouble and sometimes hardware. How often does it occur? Is it tied to a certain program? Can you paste it here?

    Thanks,

    Clem

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • inter_asp_ed2
    inter_asp_ed2 over 9 years ago

    Hello, to all

    As I am new to this, I have just one question, how do I recover my Raspberry Pi Compute Module from a kernel panic; or, do I have to buy a new one, because the one I have is bricked.

    I add this comment to respond to Clem Martins' s response to me; it only occurs once, as no OS is loaded, no access to console terminal, can't copy and paste, etc. The only program that I'm aware of is the raspberrypi.org Documentation and WDLabs.com Compute Module and 2.5in SATA-to-Rpi Adapter Board.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • debjyoti0891
    debjyoti0891 over 10 years ago

    I flashed the Raspian image[http://downloads.raspberrypi.org/raspbian_latest] on the emmc using the stated process[https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md] and I am able to view /sda1 and /sda2 on my system.

    After that I turned off the rpi compute module, changed the jumper position, removed the slave usb, plugged in the HDMI and powered it back on.

     

    However I am getting a series of errors at boot-

    No file system could mount root, tried ext4.

    kernel panic - not syncing : VFS: Unable to mount root fs on unknown-block(179,2).

    ...

     

    Kindly help.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 10 years ago

    Same problem as Jan  Pihigren.

    where do we go from here. only difference is I'm doing it from a pi B rev 2

     

    so frustrating

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • janpihlgren
    janpihlgren over 10 years ago in reply to clem57

    1. Right

    3. Yes

    No /dev/sd

    Why is "sudo date MMDDhhMM" so importent? My RPi has been running for more than a week and display exactly the same befor the command  as I then typed.

    I then repeated the installation procedure again and get the same result, no /dev/sdx.

    So I'm back at point one, can't do an installation.

    Edit 20150420:

    I discover that the original description is missing:

    sudo make install

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube