Introduction to Engineering with Arduino

An introduction to fundamental concepts of modern engineering using Arduino Hardware.
Updated 26 Feb 2024

Introduction to Engineering:

A Hands-On Exploration with Arduino

View on File Exchange

Curriculum Module

Created with R2023b. Compatible with R2023b and later releases.


This curriculum module contains interactive MATLAB® live scripts introducing fundamental concepts of modern engineering using Arduino Hardware. The whole module is designed to explore these concepts using hardware using Arduino. You will explore the signals, data analysis, sensing, control and Internet of Things (IoT).


You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. This module covers the concepts of signals, control, and technical writing. It also includes examples of the Internet of Things and physical modeling.

The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the image_0.png Stop button in the RUN section of the Live Editor tab in the MATLAB Toolstrip.

Contact Us

Solutions are available upon instructor request. Contact the MathWorks teaching resources team if you would like to request solutions, provide feedback, or if you have a question.


These scripts assume no prior knowledge of hardware programming and wiring. There is minimal MATLAB & Simulink knowledge required to complete the module. It is highly encouraged to follow online self-paced training to complete most of the activities:

Getting Started

Download this repository. Open MATLAB, navigate to the folder containing these scripts, and double-click on [intro-to-engineering.prj](matlab: openProject("intro-to-engineering.prj")). It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.

To clone this repository, you can copy and paste the following command directly into your MATLAB Command Window:


Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add-On Explorer. To install an add-on, go to the Home tab and select image_1.png Add-Ons > Get Add-Ons.


MATLAB®, Simulink®, Stateflow™, Symbolic Math Toolbox™, MATLAB Support package for Arduino, Simulink Support package for Arduino.


If you are viewing this in a version of MATLAB prior to R2023b, you can view the learning outcomes for each script here.

In this script, students will...
- Check their Arduino board compatibility.
- Install MATLAB and Simulink support packages for Arduino Hardware.
- Setup ThingSpeak channel for IoT.

In this script, students will...
image_3.png - Learn the fundamental type of signals supported on and Arduino board.
- Wire a simple LED to their Arduino board.
- Control the LED from a simple blink to encoding Morse code.

In this script, students will...
image_4.png - Learn how to control Arduino with a Stateflow diagram.
- Learn data analysis techniques.
- Write and export experiment report from MATLAB.

In this script, students will...
image_5.png - Use a temperature sensor.
- Develop a control algorithm.
- Test their control algorithm.

In this script, students will...
image_6.png - Use a Simscape thermal model.
- Simulate the greenhouse over a full year of data.
- Test multiple fans to validate the design.

In this script, students will...
image_7.png - Learn how to read and write from a ThingSpeak channel.
- Log the temperature in the greenhouse on their own channel.
- Create an alert when the temperature exceeds the acceptable range.

Related Courseware Modules

Available on:
image_8.png image_9.png

Or feel free to explore our other modular courseware content.

Educator Resources


Looking for more? Find an issue? Have a suggestion? Please contact the MathWorks teaching resources team. If you want to contribute directly to this project, you can find information about how to do so in the page on GitHub.

Copyright 2023 The MathWorks™, Inc

Cite As

Valentin Boutrouche (2024). Introduction to Engineering with Arduino (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2023b
Compatible with R2023b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.