Can I upload Arduino Code written in MATLAB using MATLAB Arduino Support Package?

I have been using Arduino MATLAB Support Package to program and Control my Arduino UNO. Everything is interactive by using arduino('COM','UNO'). Is it possible to upload the code written in matlab(*.m file) to Arduino board.

Answers (4)

I don't think this is possible using MATLAB support package as the Simulink support package is the one that I most commonly use for standalone applications. However, you can use the code that you have written in MATLAB in a MATLAB function block in Simulink and download that code to an Arduino board for your application.

2 Comments

Sir After Uploading the code can we use arduino as a standalone device without connecting it to the computer.
After Uploading the code can we use arduino as a standalone device
Yes, you can.

Sign in to comment.

You might possibly be able to get the .m file copied to the arduino, but the arduino cannot run MATLAB code. The arduino runs compiled C or C++ code. When you use Simulink to build a model with an arduino target, Simulink generates C (or C++ ?) code and compiles it and sends it to the board.
What about using the MATLAB compiler SDK for a MATLAB script file and then deploy this to the Arduino, this is the approach we are about to try. Has anyone else tried this?

3 Comments

It will not work. MATLAB Compiler SDK can only target systems that run one of the operating systems that MATLAB itself runs on. Arduino does not even have an operating system. Arduino is also based upon ARM CPUs, but MATLAB itself (and anything created from it using MATLAB Compiler SDK) can only run on x64 architecture CPUs (so Intel or AMD).
The only thing you can do is generate code or stand-alone executables for the Arduino target, such as by using Simulink or MATLAB Coder or (perhaps) Embedded Coder.
Many thanks for this information. Much appreciated
You can use MATLAB Coder to generate C code out of the m files. Then call these C functions that you have generated from inside an Arduino sketch. This approach will allow your Arduino to work as a standalone device.

Sign in to comment.

Hi,
I had a similar question since Matlab IDE is a bit user friendly but not technology friendly.
The Arduino IDE uploads the sketches to their hardware no problem but folks at Matlab as usual decided that only Elite paying users (with Coder, Simulink, etc.) are allowed to do the same on their platform.
The work around perhaps would be, to use the DAQ toolbox to pass data to an already uploaded sketch through the Arduino IDE. Not sure if it is even possible since Matlab command will most likely wipeout the flash memory before executing on the Arduino board.

3 Comments

but folks at Matlab as usual decided that only Elite paying users (with Coder, Simulink, etc.) are allowed to do the same on their platform
I am unclear as to what you are asking for there. Are you asking for Mathworks to provide a way to run MATLAB itself on Arduino ? Even though Arduino has no operating system? And the largest amount of memory that an Arduino has is 96 kilobytes ??
Are you asking that MATLAB Compiler targetting Arduino be made part of the base MATLAB ?
Or are you just asking for a mechanism that allows you to point to an existing compiled sketch and uploads it? Which would be a matter of using system() to invoke the arduino executable with the -upload parameter https://stackoverflow.com/questions/8189306/command-line-arduino-compiling-and-uploading ?
Not asking but pointing out a teaser attitude at Mathworks to perhaps drum up business for their high end products. Which are bloated and not very pocket friendly.
Once again, if a vendor decides to make an effort and put out support for an open source platform, then at a minimum match... the minimum, i.e. the upload of an entire file to the Arduino HW from the MATLAB IDE.
ps. If I ask for anything on this supportpackage, it would be a Arduino tracer and debug after Mathworks meet the minimum.
So you are asking for a menu entry to upload a compiled sketch? Which in practice would be a matter of invoking the arduino executable with the -upload option?

Sign in to comment.

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!