Compute Module Programming Instructions


WDLabs has two new products that make use of the RPi Compute Module (not included):

I’ve attached a PDF for instructions on programming the RPi Compute Module with these two products. For convenience, I’ve also copied the relevant instructions below.

WDLabs_ PiStick Adapter CM Programming Instructions.pdf (485.9 KB)

Computer Module (CM) programming mode: program the compute module eMMC directly using a Linux computer or Windows PC running Cygwin.

  1. Install Raspberry Pi Compute Module into the Media Stick or SATA Adapter board. Do not connect anything to the two USB2.0 ports on the Media Stick or SATA Adapter at this time.
  1. Connect the USB Micro B port on the Media Stick or SATA Adapter to the host computer (For best results use a powered USB hub and a USB cable that is 18-inches or less to ensure sufficient current). Do not press the power button on the Media Stick or SATA Adapter. Follow the instructions for flashing the Raspberry Pi Compute Module eMMC at the link below.

NOTE: When you reach the steps in the link below about plugging in the Compute Module IO Board, do not do this since it is not required. Instead hold the power button down on the Media Stick or SATA Adapter until the LED flashes rapidly (about 7 sec). Release button. (The Compute Module should then be discovered by the host machine and can be programmed.)

  1. When you have completed programming, safely eject (unmount) the device from your host machine and power off (press power button) the Media Stick or SATA Adapter).
  1. Disconnect the Media Stick or SATA Adapter from the computer, USB Hub, and any other power source. Wait 20 seconds.
  1. Connect 5V USB power as well as any USB peripherals.
  2. Now, just press the power button to power on and it is ready for use!

Let me know if you run into any issues!

1 Like

I’m a newbie, so I have to follow instructions to get the results described. In the “Note” paragraph bellow instruction No. 2, ‘(The Compute Module should then be discovered by the host machine…)’ I have tried time and again to reach that step without success; I know that I’m doing it wrong, but I don’t know exactly what I’m doing wrong, since I’m following the instructions step by step. My Compute Module has not been discovered by my host raspberry pi machine. Also following the instructions of the link for “” didn’t (program) my Compute Module.
So to conclude, I’m not asking for anyone to hold my hands, however since I have to rely on instructions to arrive at the expected goal, it would be nice if those instructions work for all users, newbies as well as experts.

Hey there, Juan.

I’ll try and help you with the issues you’ve been experiencing, but I’ll need a bit more info from you.

What’s the host computer you are using (e.g. Windows laptop, Windows desktop, Mac, Mac laptop, Linux PC, an RPi)?
It might be helpful if you could post pictures of how the setup is being powered as the CM programming is extremely sensitive to low power.
How did you install RPiboot? Was it via Windows installer, or Cygwin install, or apt-get
When ready to program and you enter the Linux command line command “sudo rpiboot”, what does the display say?

Perhaps, if it won’t be too much of a hassle for you, it might be easier if you could make a short video of what happens. You could start with a shot of the setup, then continue with entering “sudo rpiboot”, then put the media stick into programming mode and finally show the response on the display.

I know it’s a lot of info, but it could prove really helpful regarding the troubleshooting process.


Hello, CK_WD

First and foremost, thank you for your reply, I didn’t expect one, and I
was not complaining; nor am I suggesting you thought so.

Now to respond to my posted message/comment.:
I did not use an 18 inch or less USB cable as the instructions recommends
in all my attempts, I bought one, and when I used it, I was finally able to
get to the next step.
Writing to the EMMC, was my next hurdle; I don’t know code nor programming,
so I must follow the instructions to get the results described (for the
sake of this message, I’ll not repeat: I don’t…described)

My Compute Module has been recognized, so I have to write the OS (Raspbian)
image to it; so I try the command recommended: sudo dd
if=raw_os_image_of_your_choice.img of=/dev/sda bs=4MiB, and type it like
this- sudo dd if=raw 2016-05-27-raspbian-jessie.img of=/dev/sda bs=4MiB,
which does not work. I tried several other ways, that don’t work until
finally I google and search for the advice of users and experts who posted
their advice, on how to write the command for copying an OS image to an

I typed this-sudo dd if=bs=1M
if=~/Downloads/2016-05-27-raspbian-jessie.image of=/dev/sda
(Which, by the way, I think is wrong, again, I don’t know how nor why, but
I feel it’s wrong)
Anyway, I got this result:
401920+0 records in
401920+0 records out
206783040 bytes (206 MB) copied, 98.4092s, 2.1MB/s

I have re-connected the Media Stick with the Compute Module “Programmed” to
my Raspberry Pi and I haven’t seen any evidence of it being recognized by
the OS of the Raspberry Pi; even though they are the same.
I have also been looking for instructions on how to connect the Media Stick
to my TV, in the correct method, because I have connected it several times
and it has not worked as expected even with an PiDrive attached, I’ll will
keep searching though.

Now, for the computers that I used:
MSI GT80 2QE-263US-BB7595 H24GIT0DB81M Notebook
HP 15-F009Wm Notebook
Both purchased from
For photos, I will have to prepare that in another email and send it to you
in attachments
For RPiboot, I believe I first tried Cygwin, as I didn’t keep a record I
can’t be totally sure; I did download most of the software recommended to
install and prepare the Compute Module.
I purchased both the CM and the WD 2.5" SATA-to-Raspberry Pi Adapter Board

Once I have assembled all the information requested I’ll email you again.

Thank you,

Hey, it sounds like you were able to program the compute module, or am I mistaken?
However, you’ve mentioned this “I have re-connected the media stick with the computer module”. The computer
module is typically programmed while it is in the computer stick, that is what
the instructions cover. You’ve also mentioned that you are connecting it to
the Raspberry Pi? You shouldn’t do that. The Media Stick is pretty
much a self-contained Raspberry Pi. If it is programmed you should be able to
plug it into a TV or monitor and power it up. Then it should

Hello, CK_WD

Even though it may sound like I was able to program the Compute Module,
nothing could be farther than the facts. Something happened, I got a
response, It was very different than before, however the designed and
designated objective was not accomplished. I still doesn’t work.
I have been searching the raspberry pi’s forum for a direction or solution
to my issue with the compute module in the Compute Module sub-subject of
the Hardware and peripherals section. I have seen that a few people have
had and are having issues with the flashing of the CM. I’ll be searching
for one where the description directs me to the method or ways to reverse
the flashing steps successfully, like a reset or re-format of the EMMC. I
have read and tried two methods, however they didn’t work in my situation.

I will need more detailed information or start from the beginning of the
programming of the compute module instructions to find the code for
preparing for the discovery of the CM, because once it is recognized by
Windows 8.1 or Ubuntu 16.04 LTS operating system, I will be able to format
it and start over; and hopefully get it right.

Hey again,

If you follow the programming steps, this should just overwrite the CM. However during the steps it is recommended that you format it to FAT32, so this would basically erase the stick before it writes the new code.

It would be beneficial to know how you’ve set up everything, with all the steps you are going through - one by one, while programing the CM.
At some point you’ve mentioned that you put it back into the stick after programming, but you shouldn’t be removing the CM from the stick. It sounds like it might have been done wrong.

Hello, CK_WD

I have been following the programming steps, even when I don’t quite
understand ,nor interpret them correctly. As things from my end stands, I
have been unable to enable the CM to be overwritten, by using my MSI
Notebook running Windows 8.1, or my HP-15 Series Notebook running Ubuntu
16.04 LTS, nor my Raspberry Pi 3 running Raspbian Jessie Distro.
I know that these steps work the way they are described because people who
I will never meet have attested to the truth about them. That I haven’t
been able to make them work for me Is My Problem; not the correctness of
the ‘programming steps’.

After poring through the Raspberry Pi’s organization’s website forum;
First time Install-Suggestions for Documentation “So I’d also suggest you
first get a Raspberry Pi with the bundled NOOBS SD card, this will get you
up and running much quicker and the instructions will be much easier to
follow there.”; at the end of the page.

I have followed that suggestion and bought a Raspberry Pi model B+ with
NOOBS SD card pre-installed Kit. Once it arrives, I’ll set it up for use
and see if it will get me out of this morass.

I will email you about my progress once I have the gear up and running.

I see. I’ll be sure to check you reply once you’ve posted it, so please don’t forget to let me know how it goes. :slight_smile:

This is my last post, concerning the Compute Module, and my interest with it. It took me on a journey, that if I had to do it again, I wouldn’t, not even for learning. As of 9/10/2016 I have both the 2.5 inch SATA-to-Raspberry Pi Adapter Board, and the Media Stick for Raspberry Pi enabled with their CM’s configured.

Are there any additional flashing instructions or firmware for the onboard Winbond 25X20CLV16 ? I am concerned that mine is not correct as though it will boot RPi CM3 and recognize the JMicron S579 adapter, it won’t recognize any SATA disk that I plug in, even if the drive itself is powered externally (and recognizable from a separate USB adapter).

I attempted to connect a clip to read the chip via an RPi3 and it refuses to be detected. I am wondering if I can flash an update to it from a running CM3 or if the chip is really dead.