Skip to content
Pico Flexx Backend for Pupil Capture
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


  1. cd ~/pupil_capture_settings/plugins
  2. git clone picoflexx
  3. Download the PMD Royale SDK
  4. Unzip the coorect zip file for your operating system, e.g. on macOS
  5. Copy the contents from the Python sub folder into ~/pupil_capture_settings/plugins/picoflexx

To verify that everything works as expected, run the example files:

cd ~/pupil_capture_settings/plugins/picoflexx

When starting Capture from bundle, you should see the following lines in your log file:

world - [INFO] plugin: Added: <class 'picoflexx.Picoflexx_Manager'>
world - [INFO] plugin: Added: <class 'picoflexx.Picoflexx_Source'>

If the requirements where not installed correctly, you should see the following line:

world - [WARNING] plugin: Failed to load 'picoflexx'. Reason: '<reason>'

Compile roypycy extension

Note for Windows users: VS2017 or the VS2017 Build Tools will be required to compile the extension.

  1. Copy (or symlink) the Royale SDK include folder here, e.g. ln -s /path/to/libroyale- .
  2. python build_ext

If the extension was not compiled/setup correctly, you should see the following line:

world - [WARNING] picoflexx.backend: Pico Flexx backend requirements (roypycy) not installed properly

If you're getting ImportError: cannot import name 'roypycy' even though the library was compiled, a common cause is the python version used to compile the extension differs from that used by Pupil Capture (Python 3.6).



  1. Connect your Pico Flexx to the computer
  2. Start Capture
  3. Select the UVC Manager menu on the right
  4. Select Pico Flexx from the selector
  5. Click Activate Pico Flexx

You should see a color map of the camera's depth output.

Example Plugin

  1. Run the backend usage steps above
  2. Enable the Example Picoflexx Plugin in the Plugin Manager menu

See the file on how to access the depth data from the backend.

You can’t perform that action at this time.