Arduino Support from MATLAB 
and Simulink

Control peripherals and run algorithms on Arduino boards

With MATLAB® and Simulink® Support Packages for Arduino® Hardware, you can use MATLAB and Simulink to interactively communicate with your Arduino respectively. Simulink also enables you to perform model deployment for standalone operations on Arduino boards.

Connected I/O

You can connect to and control Arduino inputs and outputs from MATLAB and Simulink. Connected I/O enables you to acquire data from sensors, control peripherals, and analyze and visualize it in MATLAB. Connected I/O also helps you prototype your ideas by using real-world data acquired from your Arduino before deploying it on the hardware. This functionality is supported from both MATLAB and Simulink through their respective hardware support packages.

MATLAB Support Package for Arduino

  • Write MATLAB programs to read and write data to your Arduino hardware and access connected peripheral devices such as motors, LEDs, and I2C devices.
  • Prototype and refine your algorithms in MATLAB while using the data from the Arduino peripherals.
  • Use MATLAB commands to control the peripherals without using any compiled code on your Arduino.
  • Analyze and process the data using one of the many built-in math, engineering, and plotting functions within MATLAB.

Simulink Support Package for Arduino

  • Extend Simulink with blocks for configuring and accessing Arduino sensors, actuators, and communication interfaces.
  • Access the peripherals connected to Arduino boards from Simulink during normal mode simulation without having to deploy models on hardware.
  • Access digital inputs and outputs, I2C read and write, SPI read and write analog inputs, and pulse width modulated outputs.


You can develop algorithms and deploy your Simulink models as standalone executables that run on your Arduino hardware. Deployment is only supported by the Simulink Support Package for Arduino.

Simulink Support Package for Arduino

  • Develop algorithms in Simulink, which provides a block diagram environment for modeling dynamic systems and developing algorithms, and run them standalone on your Arduino hardware.
  • Monitor and tune your model parameters from Simulink while the algorithm is executing in real time on your Arduino.
  • With the help of MATLAB Function block, you can incorporate MATLAB code into your Simulink model.

Arduino Engineering Kit

MATLAB and Simulink provide hardware support and reference examples for the Arduino Engineering Kit Rev 2.0. The kit helps students and enthusiasts learn basic engineering concepts and mechatronics through fun projects connected to real-world applications.

Pre-Configured Projects

The pre-configured projects are developed in MATLAB and Simulink. They offer an easy way for students to program and explore the Arduino Engineering Kit.

The Arduino Support Package for MATLAB and Simulink contains the project files needed to run three application projects that are included with the kit: drawing robot, webcam controlled rover, and self-balancing motorcycle.

The Arduino Engineering Kit Rev 2, developed by Arduino in collaboration with MathWorks.

Drawing Robot

Use MATLAB code to replicate a reference image on a whiteboard.

Webcam Controlled Rover

Navigate the rover with position tracking, and move objects with its lifting mechanism.

Self-Balancing Motorcycle

Maneuver the motorcycle and watch it remain upright using a reaction wheel and movement gyro for balance.