First of all I will assume that you have any one of the Raspbian operating systems happily running on your Raspberry Pi, I am not going to go through the installation process here, since it is very well documented at and elsewhere on the internet, and I recommend that you update and upgrade all packages.

You should have also downloaded one of the RaspiRowing Projects, even if you haven't yet, the steps here must be done before you can successfully run any of the applications from this site.


Step 1: Installing Pygame

So the latest version of Raspbian Jessie and Stretch came with Pygame pre-installed, but if you are running an older version then open a terminal window and type:

sudo apt-get install python-pygame

To test if the package installed correctly type: 


import pygame

If nothing appears, everything is good. 



Step 2: Install USB Libraries

In the terminal window type: 

  1. sudo apt-get install libusb-dev
  2. sudo apt-get install libudev-dev
  3. sudo apt-get install usbutils (included in Jessie and Stretch)


Step 3: Installing PyUSB

Goto the URL at the bottom of PyUSB page, download the last working version for my projects: ''. Extract the contents to Desktop (this makes it easier to find.) Open a terminal window and navigate to the un-zipped folder. eg cd Desktop/pyusb-master

Check if you are in correct directory (folder) type: 


to list all the files in this folder. You should see a file. Still in the terminal window type:

sudo python install


Step 4: Installing PyRow

There is no installation as such to use PyRow. Goto the URL at the bottom of the PyRow page (or it may already be included in the downloaded project), follow the link to the download package. Extract the contents onto the Desktop, and open the created folder. 

copy '', '', and '' into the same directory as the RaspiRowing project folder.


*From here you need to have the downloaded RaspiRowing project folder files extracted to a newly created folder. The Desktop is a good place to put it.


Step 5: Setup Permissions

In the downloaded RaspiRowing project folder you will find some .rules files. Open them in a text editor to view the contents. These files must be copied into the rules folder on the operating system to allow access to the connected USB Concept2 PM device. 

To do this, in the terminal navigate to the location of the rules files to be copied: Desktop/Fishy_pi/docs

then type:

sudo cp 99-pm3.rules /etc/udev/rules.d

and repeat for all rules files

OR alternativley you can create each file manualy: navigate to the rules folder '/etc/udev/rules.d', then type:

sudo nano

this opens a text editor program in the terminal. Type the text from each .rules file precisely and when you're done press CTRL + X to save the file. Save it as the same name of the .rules file you are copying from. Repeat for each .rules file until they are all saved in the rules folder.


Step 6: Run the RaspiRowing project

So, you now have PyGame, PyUSB, and all the required libusb files installed, also the three required PyRow files are in the same folder as the main RaspiRowing py file. You have also created the rules files and copied the text exactly as the files included in the downloaded project folder.

Connect your PM3/4/5 via a USB cable. You can check if the device has been recognised by the Raspberry Pi. Open a terminal window and type lsusb. Look for the Concept2 Performance Monitor in the generated list. If it is not listed, try a different USB cable or USB port, either connected directly or via a powered USB hub. 

Now to Run the RaspiRowing project you can either right click on and open in IDLE (or your preferred development software) and then Run the file from there. 

Or you can run the RaspiRowing project from the terminal. Navigate to the RaspiRowing project folder and type: 

sudo python

The project will run and open a new window with keyboard options. 


Phew.....Done. Enjoy and thanks for downloading.