Connect to Raspberry Pi Hardware Board in MATLAB Online

Prepare your Raspberry Pi™ hardware board to establish a connection from MATLAB® Online™.


  1. Check that your board and operating system are supported for a MATLAB Online connection. The supported operating systems are Raspbian Jessie, Raspbian Stretch, or Raspbian Buster. The supported boards are the Raspberry Pi 2 Model B, Raspberry Pi 3 Model B, and Raspberry Pi 4 Model B. It is a best practice to implement the security measures outlined in Securing your Raspberry Pi.

  2. Turn on your Raspberry Pi, and make sure it is connected to the Internet. Your device does not have to be connected to the same computer or the same network as the computer running MATLAB Online.

  3. If you are using a version of Raspbian with a desktop environment, you can open a shell to enter the installation commands. If your device boots into the command line, enter the installation commands there. You can also access your device via SSH or another remote access method, as described in Remote Access.

Set Up Raspberry Pi Hardware Board

  1. Install the MATLAB package for Raspberry Pi by entering these commands in the Raspberry Pi shell:

    $sudo apt-get update
    $sudo apt-get install matlab-rpi

  2. Configure your Raspberry Pi to make it discoverable in MATLAB Online. Follow the setup steps that appear in your command line.

    $sudo matlab-rpi-setup

    1. Give your device a name.

      Step 1: Provide a name for your Raspberry Pi in MATLAB Online.
      Name: myPi
    2. Choose to enable or disable peripheral features.

      Step 2: Enable/disable peripherals on Raspberry Pi.
      Do you want to enable I2C? (y/n): y 
      Do you want to enable SPI? (y/n): y 
      Do you want to enable camera? (y/n): y
      Do you want to enable UART? (y/n): y 
    3. Provide your MathWorks® Account credentials to authenticate the MATLAB Online connection. Your user ID and email address associated with your account are both valid. This information is not stored locally on your Raspberry Pi.

      Step 3: Provide your MathWorks Account credentials. 
      Email Address or User ID: jsmith 
      Password: ***********

      If you are having problems logging in to your MathWorks Account, visit the MathWorks website. If you have Two-Step Verification enabled for your MathWorks Account, see Two-Step Verification Is Turned On for specific authentication instructions.


    This login remains valid for six months until your credentials expire. Once they expire, you will not be able connect to your Raspberry Pi from MATLAB Online. To reauthenticate your board, follow the steps in Raspberry Pi Is Not Listed in raspilist Output.

  3. Restart your Raspberry Pi to start listening for MATLAB Online connections.

    $sudo reboot

    You can modify settings at any time after the initial setup by using flags. These are the flags you can provide to matlab-rpi-setup package installation command.

    DescriptionOption syntaxExample
    Set Raspberry Pi display name in MATLAB Online.--name=namesudo matlab-rpi-setup --name myPi2
    -nsudo matlab-rpi-setup -n myPi2
    Set authentication credentials for Raspberry Pi in MATLAB Online.--loginsudo matlab-rpi-setup --login
    -lsudo matlab-rpi-setup -l
    Enable or disable I2C feature on Raspberry Pi. Requires a reboot.--i2c={enable | disable}sudo matlab-rpi-setup --i2c enable
    -isudo matlab-rpi-setup -i enable

    Enable or disable SPI feature on Raspberry Pi. Requires a reboot.

    --spi={enable | disable}sudo matlab-rpi-setup --spi enable
    -ssudo matlab-rpi-setup -s enable
    Enable or disable camera feature on Raspberry Pi. Requires a reboot.--camera={enable | disable}sudo matlab-rpi-setup --camera enable
    -csudo matlab-rpi-setup -c enable
    Enable or disable UART feature on Raspberry Pi. Requires a reboot.--uart={enable | disable}sudo matlab-rpi-setup --uart enable
    -usudo matlab-rpi-setup -u enable
    Display matlab-rpi-setup usage.--helpsudo matlab-rpi-setup --help
    -hsudo matlab-rpi-setup -h

    To see the full description of each flag in your shell, enter this command.

    $man matlab-rpi-setup
    To use enableI2C, disableI2C, enableSPI, and disableSPI functions in MATLAB Online, the I2C and SPI peripherals must be enabled during setup or using flags.

Connect to Raspberry Pi from MATLAB Online

  1. Open a MATLAB Online session at from any computer connected to the Internet. Log in with your MathWorks Account credentials.


    You must log in with the same account credentials you used during the Raspberry Pi setup.

  2. Scan for Raspberry Pi hardware configured with the same MathWorks Account credentials.

    ans =
      1x4 table
           Name        SerialNumber       PackageVersion          Status
          ______    __________________    ______________    __________________
          "myPi"    "00000000a9f2c18c"       "18.1.0"       "Ready to connect"

    These are the possible statuses for your Raspberry Pi:

    Ready to connectRaspberry Pi has the correct version of matlab-rpi package installed. You can create a MATLAB Online connection.
    ConnectedRaspberry Pi has the correct version of matlab-rpi package installed. It is already connected in MATLAB Online.
    Upgrade requiredRaspberry Pi has an outdated version of matlab-rpi package installed. See MATLAB Package on Raspberry Pi Needs to Be Updated for instructions.
    Authentication requiredProvide your MathWorks Account credentials to reauthenticate online connection. This status appears two weeks before your login credentials expire. See Raspberry Pi Is Not Listed in raspilist Output for instructions.

  3. Use raspi without any inputs to reuse the settings from the most recent successful Raspberry Pi connection. If connecting for the first time, this function creates a connection to the first Raspberry Pi device designated as "Ready to connect" in the raspilist output.

    r = raspi
    r =
      raspi with properties:
             DeviceAddress: 'myPi'
              SerialNumber: '00000000a9f2c18c'
                 BoardName: Raspberry Pi 3 Model B
             AvailableLEDs: {'led0'}
      AvailableDigitalPins: [4,5,6,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]
      AvailableSPIChannels: {'CE0','CE1'}
         AvailableI2CBuses: {'i2c-1'}
          AvailableWebcams: {'UVC Camera (046d:0809)'}
               I2CBusSpeed: 0

    Alternatively, you can specify the name or serialnumber of the Raspberry Pi from the raspilist output to connect to a certain device.

    r = raspi('myPi');
    r = raspi('00000000a9f2c18c');

After successfully connecting to your Raspberry Pi from MATLAB Online, see Getting Started with MATLAB Support Package for Raspberry Pi Hardware to perform basic operations on the hardware.

See Also


Related Topics