File Exchange

image thumbnail

Interacting with an Arduino Using the Matlab Serial Commands

version 1.0 (3.65 KB) by

Two sets of files demonstrate serial communications between Matlab and the Arduino.

6 Ratings



View License

Using information from Matlab central, Robot Grrl, and the Arduino forums, four files (two .m and two sketches) demonstrate two way communications between Matlab and the Arduino. The first set of files, serialTest1, demonstrates arduino input with Matlab tic/toc timing information added, and the second set of files, serialTest2, uses clock information from the arduino. I think you'll find the results interesting when the two approaches are compared.

Load the sketch on your arduino. LED13 will light, indicating that the arduino is waiting for a response from Matlab to start. Load the m file, and change the com port to the port where the arduino USB is mapped on your PC (I use Linux, thus the /dev/ttyUSB1, it will be something like 'COM3' in windows). Run the .m file, and LED13 will turn off as Matlab signls the arduino, data is read, and a plot is created of time info versus counter data (simulating sensor data). Remember to reset the arduino before each m file run (LED13 must be on)! Used an arduino mega, but should work fine on most arduinos. Thanks to Tom Igoe and Robot Grrl (see sketch references to http addresses). Robot Grrl plots as she goes, and you can do that also, although it will slow things down slightly. But, note the key to these files, is the use of the proper TERMINATOR. The matlab set terminator statement using LF and the use of serial.println in arduino is the secret ingredient to success. If you don't use these, then you are relying on inserted timing delays, yuck.

Comments and Ratings (8)

zhaoqing li

Yingzhu Zhao

In the first file in matlab, 'me' is not defined. What is 'me'?


Asiya (view profile)

Very useful files. I used them since you uploaded them and I did extend them a lot to do many useful functions. I'll try to submit some works here.


Adam Erskine

Looks like just what I'm after but - trange one - when I download I all four files have the same content (all serialTest1.m). Any ideas?


akram (view profile)

I am try to use an Arduino Mega 1280, with simulink but it doesn't work.
please help me.

Petteri T

Tanyer Alan

Tanyer Alan (view profile)

Jeff Tuhtan

Awesome submission! Was fooling around forever with the serial Arduino/Matlab connection, and could never get it to work. Can finally graph data from my Arduino in realtime. Thanks a million!

MATLAB Release
MATLAB 7.8 (R2009a)

Inspired by: Arduino meets MATLAB

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today