Arduino Support from MATLAB

Student-priced microcontroller board for introducing electrical engineering, motor control, and mechatronics

MATLAB Support Package for Arduino hardware enables you to use MATLAB® to communicate with the Arduino® board over a USB cable. This package is based on a server program running on the board, which listens to commands arriving via serial port, executes the commands, and, if needed, returns a result. This approach helps you:

  • Start programming right away without any additional toolboxes.
  • Work in MATLAB for interactive development and debugging.
  • Interactively develop programs to acquire analog and digital data, and to control DC, servo, and stepper motors.
  • Access peripheral devices and sensors connected over I2C or SPI.
  • Run control loops at up to 25 Hz (not real time).
  • Introduce mechatronics, signal processing, and electronics concepts in classroom labs.

Supported Devices

Arduino Board Shield Support Comments
Arduino Uno* Y  
Arduino Due* Y DAC and CAN channels not currently supported.
Arduino Mega 2560* Y  
Arduino Leonardo* Y  
Arduino Mega ADK* Y  
Arduino Micro* N  
Arduino Mini*
N Mini with ATmega168 not supported.
Arduino Nano 3.1* N Nano 2.X not supported.  Other Nano 3.X not tested but expected to work.
Arduino Pro*
N Pro with ATmega168 not supported.
Arduino Pro Mini
N Pro Mini with ATmega168 not supported.
Arduino Fio* N  
Sparkfun Digital Sandbox N  
Adafruit Motor Shield V2 See Shield Support column for compatibility.
*Also supported in Simulink Support Package for Arduino Hardware
Note: In addition to the official Arduino hardware listed above, we have also tested our support package on the following Arduino-compatible devices: Sparkfun Redboard, Sainsmart Uno, Sainsmart Mega 2560. Other devices compatible with the boards listed above are expected to work, but are not tested.


Platform and Release Support

Available on 32-bit and 64-bit Microsoft® Windows®, 64-bit Mac OS, and 64-bit Linux®.

This support package is available for R2014a and higher. It is recommended that you use the latest MATLAB release. However, for R2013b and earlier, please download the following File Exchange submission to add support: MATLAB and Simulink Support for Arduino.

Legacy Arduino Support

The MATLAB support package replaces the functionality of the legacy MATLAB and Simulink Support for Arduino.  However, it does not contain Simulink blocks for live communication between the Arduino device and Simulink.  Therefore, it is recommended to use the legacy support if you require this functionality. Please click Request Hardware Support and let us know that, in the future, you would like this capability to be built into the support.

Ready to install?

MathWorks Requirements



Also supported in student and home software.


Support Package


Support Package Installer installs this support package. To start the installer, go to the MATLAB toolstrip and click Add-Ons > Get Hardware Support Packages. For more information, read the documentation.

Third-Party Requirements




Request Hardware Support