Arduino Temperature Control Lab for Simulink and MATLAB

MATLAB and Simulink programs to control heaters (2), read temperatures (2), and control LED
Updated 18 Jan 2018

View License

This plug-and-play lab reinforces transient modeling, parameter estimation, and feedback control to maintain temperature. There are two heaters and two temperature sensors. The heater power output is adjusted to maintain a desired temperature setpoint. Thermal energy from the heater is transferred by conduction, convection, and radiation to the temperature sensor. Heat is also transferred away from the device to the surroundings. This lab is a resource for model identification and controller development. It is a pocket-sized lab with the purpose of reinforcing control theory for students. Many universities around the world have adopted this lab for process control education. The lab is also used for the online courses Process Dynamics and Control ( and Dynamic Optimization (
This lab teaches principles of system dynamics and control. In particular, this lab reinforces:
Dynamic modeling with balance equations
The difference between manual and automatic control
Step tests to generate dynamic data
Fitting dynamic data to a First Order Plus Dead Time (FOPDT) model
Obtaining parameters for PID control from standard tuning rules
Tuning the PID controller to improve performance Process Control Temperature Lab
Instructions are available for building the kit at or for purchase from

Cite As

John Hedengren (2024). Arduino Temperature Control Lab for Simulink and MATLAB (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes