Hardware Support

Arduino Support from Simulink

Create and run Simulink models on Arduino boards


Capabilities and Features

With Simulink® Support Package for Arduino® Hardware, you can use Simulink to develop and simulate algorithms that run standalone on your Arduino. The package includes:

  • Hardware plugin detection for Arduino boards in MATLAB and setup screens for initial Arduino board configuration
  • UDP and TCP/IP blocks in the Ethernet shield library and Wi-Fi library to let your Arduino hardware communicate with LEGO MINDSTORMS® EV3, Raspberry Pi™, and mobile devices (Android™ and iOS) over Ethernet or Wi-Fi
  • Simulink blocks for configuring and accessing Arduino inputs and outputs
  • Write and read blocks to communicate directly with a ThingSpeak™ channel from your algorithms running on an Arduino board
  • Access to Arduino WiFi Shield, onboard Wi-Fi chip on Arduino MKR1000, ESP8266 modules, and Ethernet Shield
  • External mode for interactive parameter tuning and signal monitoring as your algorithm runs on the device (not available on some boards – see list below)
  • Model deployment for standalone operation on Arduino boards
  • Simulink I/O access to peripherals connected to Arduino boards before deploying models to hardware, including digital inputs and outputs, I2C read and write, SPI write/read, analog inputs, and pulse width modulated outputs
  • Documentation that guides you on how to create a device driver block to access specific features of your hardware board

Learn more about Arduino programming with MATLAB and Simulink.

Arduino Engineering Kit

Learn important engineering concepts while programming fun Arduino projects with MATLAB and Simulink.

Supported Hardware

Arduino Board Shield Support Interactive Tuning and monitoring Comments
Arduino Due* Y Y Supported from R2014a to the most recent release. CAN channel not currently supported.
Arduino Uno* Y Y Supported from R2012a to the most recent release. Interactive tuning supported as of R2016b. You can log one signal at 1 kHz or up to 6 signals at 5 ms rate.
Arduino Leonardo* Y Y Supported from R2014b to the most recent release.
Arduino Mega 2560* Y Y Supported from R2012a to the most recent release. Log one signal at 1 kHz or up to 6 signals at 5 ms rate in R2016b and more recent releases.
Arduino Mega ADK* Y Y Log one signal at 1 kHz or up to 6 signals at 5 ms rate in R2016b and more recent releases.
Arduino Micro* N N Supported from R2014b to the most recent release.
Arduino LilyPad USB N N Supported from R2014b to R2017b. 
Arduino Esplora N N Supported from R2014b to R2017b.
Additional IO supported via analog multiplexer. 
Arduino Robot N N Supported from R2014b to the most recent release.Additional IO supported via analog multiplexer.
Arduino Mini*
(ATmega328)
N N Supported from R2014b to R2017b.
Mini with ATmega168 not supported. 
Arduino Nano 3.X*
(ATmega328)
N N Supported from R2013b to the most recent release. Nano 2.X with ATmega168 not supported.
Arduino Pro*
(ATmega328)
N N Supported from R2014b to R2017b.
Pro with ATmega168 not supported. 
Arduino Fio N N Supported from R2014b to R2017b.
Arduino Yún N Y Supported from R2015b to R2017b.
Arduino MKR1000 N Y Supported from R2017b to the most recent release. MKR1000 has an onboard Wi-Fi chip to provide Wi-Fi capabilities. 
Arduino Ethernet Shield     See Shield Support column for compatibility
Arduino WiFi Shield     See Shield Support column for compatibility
ESP8266 Module     ESP8266 is a low-cost chip that can add Wi-Fi® capability to a microcontroller. See example.
*Also supported in MATLAB Support Package for Arduino Hardware
 

Platform and Release Support

See the hardware support package system requirements table for current and prior version, release, and platform availability.

View enhancements and bug fixes in release notes.

*Also supported in MATLAB Support Package for Arduino Hardware
 

Platform and Release Support

See the hardware support package system requirements table for current and prior version, release, and platform availability.

View enhancements and bug fixes in release notes.


Related Hardware Support Views: Simulink, Arduino, Consumer Electronics, Control Systems, C ∕ C++ Code Generation, Embedded Systems, Ethernet, Internet of Things, MathWorks Supported, Mechatronics, Motor and Power Control, Project-Based Learning, Run on Target Hardware, Serial, Simulink Product Family, Support Package Installer Enabled

Ready to install?

Before installing the support package, confirm you have the correct setup. View system requirements and installation options.

Get support package

Software

Required

Recommended

Support Package

Required

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

Get support package

Hardware

Required

Recommended

Optional supported Arduino shields or modules: Arduino Ethernet Shield, Arduino WiFi Shield, ESP8266 Wi-Fi Module

Software

Required

All required third-party software is installed by the Support Package Installer.

Don't see the hardware you're looking for?

Explore the MATLAB Maker Community