Table of Contents Author Guidelines Submit a Manuscript
Mathematical Problems in Engineering
Volume 2015 (2015), Article ID 236749, 8 pages
Research Article

Project-Based Learning Laboratory for Teaching Embedded Systems

Department of Computer Engineering and Automation, Federal University of Rio Grande do Norte (UFRN), 59078-970 Natal, RN, Brazil

Received 24 April 2015; Accepted 16 June 2015

Academic Editor: Zhen-Lai Han

Copyright © 2015 Marcelo A. C. Fernandes. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


This paper presents a project-based learning laboratory for the teaching of embedded systems. The main objectives are to encourage students studying the embedded systems course in developing hardware solutions for real engineering problems and to include aspects of other courses studied within the academic programmes. One of the aims of project-based learning (PRBL) is to integrate different courses in the achievement of a common objective, within a multidisciplinary course of the academic programme. In the present case, this module is the final project of the embedded systems course. The project in question concerns a temperature control system for an industrial drier, equipped with a remote system for configuration and data acquisition. The design of the drier, as well as elaboration of the entire electronic system involving drivers and sensors, was undertaken by the students using a kit with a microcontroller specific for the development of embedded systems. The results of opinion surveys conducted with the students following implementation of the PRBL proposal were used to validate the procedure. Full details of the development and results of the project are provided, with the aim of assisting professors and students of similar courses.

1. Introduction

The development of solutions for embedded systems (ES) is a strategic area of research in Brazil. New postgraduate programmes are being offered, and existing undergraduate programmes are updating courses in order to incorporate recent developments in the area of ES. Many of these courses are by nature interdisciplinary, since the development of embedded systems involves aspects of diverse areas including automation, robotics, and telecommunications, amongst others [1]. For this reason, traditional learning techniques are often inappropriate for use in these courses of the postgraduate and undergraduate programmes [25].

Project-based learning (PRBL) is a pedagogical strategy of learning, where the students work on a complex project for an extended length of time leading to deeper knowledge about the subjects associated with the project. PRBL uses practical techniques to deliver a set of fundamental concepts that the student must be able to learn, understand, and apply in order to complete the project [14, 69]. The methodology employed in PRBL enables the student to visualize concepts, collect and interpret data, and connect theory with the real world. The set of competencies associated with PRBL provides an incentive for the student to learn. Several engineering courses already include PRBL in the curriculum, employing a variety of delivery strategies. A feature in common is the integration of one or more courses of the academic programme during the development of the project [14, 10]. The studies presented in [1118] describe various methodologies for the application of PRBL in the teaching of ES. The results of opinion surveys conducted in these works demonstrated greater motivation of the students as well as qualitative improvements in learning.

The objective of this paper is therefore to present a PRBL proposal for a laboratory-based project designed to teach basic and more advanced concepts related to ES involving microcontrollers (uCs), employing a real control problem. The problem chosen is the development of an industrial drier. In order to solve the problem, groups of students are required to elaborate the design of the system, including an embedded control system based on a previously established set of functional requirements. The ES implements a closed-loop system for temperature control and an open-loop system for control of the air flow. In addition to the concepts associated with the embedded systems course, the student is encouraged to develop the project using a variety of tools and techniques already studied in other related courses, emphasizing the interdisciplinary nature of the project.

This paper presents details of the proposed project, together with results obtained following its implementation within the Digital Systems course of the Computer Engineering programme of the Federal University of Rio Grande do Norte (Brazil). The results of student opinion surveys are also presented as a means of validating the proposal.

The work is divided into separate parts. Section 2 provides a description of the proposed project. Section 3 presents the modeling related to the project design, and Section 4 presents details of the embedded system. Implementation of the proposal by the students is described in Section 5, together with the results of questionnaire surveys. The conclusions of the work are provided in Section 6.

2. The Laboratory Project

Figure 1 provides a detailed schematic illustration of the proposed laboratory project. The industrial drier consists of a PVC tube of length and internal diameter , coated internally with aluminum foil in order to improve heat transfer. The flow of air, at a rate (in ), is produced by a fan located within the tube, and the heat flow rate, (in ), is generated by a resistor, , also fixed within the tube. As shown in Figure 1, the flow of air enters the system at a temperature of and arrives at the end of the tube at a temperature of . The heating process occurs by convection from resistor [1921].

Figure 1: Architecture of the laboratory project presented to the students.

The function of the embedded system is to control the temperature, , and the air flow, , at the output of the tube. The temperature control is performed by a closed-loop system with a PID controller [19] that uses a temperature sensor, , at the output of the tube to control the heat flow rate, . Control of the air flow is performed using an open-loop system that acts on the fan speed.

The resistor drivers, and , whose circuits are shown in Figures 2(a) and 2(b), respectively, act as bridges between the modules related to power (fan and resistor ) and control (embedded in the uC). Decoupling of the power modules is achieved using the photocouplers and . The power modules are actuated proportionally by the drivers, using pulse width modulation (PWM) signals and , which are generated by the ES in the uC [22]. The drivers and are fed independently by the sources and , respectively.

Figure 2: Schematics of the circuits for drivers and .

The ES is governed by a remote computational system called the RCDAS (remote configuration and data acquisition system). The RCDAS communicates with the ES by means of a USART protocol (universal synchronous asynchronous receiver transmitter) [22], collecting the output temperature, . The RCDAS can also alter the control system parameters in real time.

3. Modeling of the System

The dynamics of the design [20, 21], shown in Figure 1, can be described by the following equation: where(i) is heat flow rate generated by resistor , in ;(ii) is losses by conduction in the aluminum foil walls (inside the tube), in ;(iii) is air flow, in ;(iv) is input temperature, in °C;(v) is output temperature, in °C;(vi) is volume of the tube, in ;(vii) is density of the fluid (air), in ;(viii) is specific heat of the fluid (air), in cal/(kg°C). The heat flow rate generated () can be characterized as where is the value of the factor used to convert watts (or ) to () and is the flow rate in watts.

The loss of heat by conduction [20, 21] in the aluminum foil walls (within the tube), in Joules, is given by Supposing that is constant, the heat loss flow rate (in ) can be described by where is the heat capacity of aluminum, is the mass of aluminum used, and is the specific heat of aluminum.

Since the heat flow rate generated, , will be adjusted using PWM, it can be characterized as where is the value of the size of the PWM pulse, in (0–100%), and is the maximum flow rate of heat generated (in watts), described by (2). The air flow, , is also controlled using PWM and can be described by where is the value of the size of the PWM pulse, in (0–100%), and is the maximum air flow generated by the fan. Using (4), (5), and (6), (1) can be rewritten as where

Figure 3 presents the model developed using the Xcos dynamic simulation platform [23]. With this model, the students can obtain experimental data for the design, prior to its construction, which minimizes the wastage of material and helps to optimize the control system project. With this theoretical information, the students use the knowledge acquired in the previous courses (modeling of dynamic systems and control systems) to develop their project.

Figure 3: Dynamic model of the design of the industrial drier (see (7)), developed in Scilab/Xcos.

4. Functional Requirements

Using the definitions presented in Sections 2 and 3, each group of students is required to develop the design of the industrial drier, the drivers, the embedded application, and the remote configuration and data acquisition system. This section presents the details of the project’s functional requirements presented to students during the course. The parameter values employed are shown in Table 1. In the case of the aluminum foil, the mass () can be obtained from the density of the foil and the internal area of the tube with diameter .

Table 1: Parameters and values used as initial conditions in the industrial drier project.

4.1. Operational Range of the Industrial Drier

By setting the derivative of the output temperature, , equal to zero in (7), and substituting the values presented in Table 1, the following expression is obtained: Supposing that the minimum working air flow rate of the drier is of and that at this flow rate the maximum output temperature, , is 100°C, (9) can be used to obtain the maximum power, , necessary for operation of the drier, which in the case of this project is  watts. Using this information, it is simple to calculate the valor of resistance (48 Ω) and predict the values of source (24 V and 0.5 A) associated with . Considering the power of  watts and a minimum working temperature equal to 25°C, it is also possible to calculate the value of the maximum flow supported by the system, which in this case is of . Table 2 provides a list of the components that can be used.

Table 2: List of components used in the industrial drier project.

4.2. Simulations Requirements

Figure 4 presents the results obtained for simulation of the open-loop system, with air flows set at and , respectively, of the maximum value () attainable by the fan. It can be seen that the critical response time of the system, , is around seconds (with the flow at of ). This information will be used to configure the time for interruption of execution of the PID controller, as shown in the next section. Figure 5 shows the results obtained for simulation of the closed-loop system in order to tune the PID controller and obtain the parameters , , and [19].

Figure 4: Simulation results for the industrial drier (open-loop system).
Figure 5: Simulation results for the industrial drier (closed-loop system).
4.3. Embedded System Requirements

The embedded system must be developed using an ATmega328p chip [22] and an Arduino Uno kit [24]. The ATmega328p is an 8-bit uC that operates at 1 MIPS/MHz and possesses 32 Kbytes of program memory and 2 Kbytes of RAM memory. The Arduino Uno is a development kit that combines an ATmega328p chip and a programmer circuit in a single hardware kit, hence facilitating the development process. The ES must be developed in C language, using the Atmel Studio 6 development environment, available from Atmel (the manufacturer of the ATmega328p chip). Figure 6 presents the layout of the ATmega328p chip, showing only the pins to be used in the project.

Figure 6: Summary layout of the Atmega328p chip, showing the pins to be used.

The embedded system (to be developed) should be subdivided into four modules, here denoted by , , , and . Module is responsible for receiving the data (via the USART protocol) from the RCDAS and updating the control parameters. Module performs the transmission, in real time, of the output temperature () data. The control algorithms are implemented in modules and , where implements the closed-loop control system for the output temperature, , via a PID controller, and implements the open-loop control of the air flow, . As illustrated in Figure 7, the algorithms for modules and must be executed in the main loop of the ES. Modules and (Figure 7) must be executed with an internal interrupt (using the timer TIMER1) to ensure that the control system can function independently of the data communication system governed by modules and . The interruption time, , should be sufficient to execute and and is times shorter than the critical response time, . The value of and must be specified by the students. The variables declaration and configuration register should be implemented in module . It is important to emphasize that the global variables shared between the main program and the interruptions must be of the volatile type.

Figure 7: Positioning of the modules in encoding the ES.
4.4. Flow Data Control Requirements

Figures 8(a) and 8(b) illustrate the minimum requirement for flow data control associated with the the RCDAS. At each instant, the RCDAS sends a code of byte to the uC. When the code value is , the RCDAS sends no further information, and the uC returns the value of by means of module . For code values that differ from , the RCDAS also sends the value of one of the configuration parameters. All the values concerning the parameters are fixed at byte.

Figure 8: Flow of data between the RCDAS and the uC.
4.5. PID Control Algorithm

The PID should be implemented in a discrete manner, following parallel topology as presented in [19] and expressed by where is PID output and , , and are the proportional, integral, and derivative gains, respectively. The variable could be expressed by where is the temperature set point. The integral error of the temperature, , could be characterized as Finally, the derivative error, , could be expressed by The th values are sampled in interruption time, , and the variables and are the discret version of the and variables, respectively.

5. Project Evaluation

The project proposed here was implemented as part of the Digital Systems (DS) course, in the Computer Engineering programme at the Federal University of Rio Grande do Norte. This 60-hour course, taught every semester, currently presents the concepts of DS for programmable hardware platforms that employ uCs. Figure 9 illustrates the projects undertaken by the students during the 2012.2 semester, when the PRBL project described here was used. All the projects were developed by groups of up to four students.

Figure 9: The projects undertaken by the students.

In order to validate the PRBL proposal, a survey was conducted of the opinions of the students in the 2012.2 class. The survey was conducted on a voluntary and anonymous basis, using the electronic forms tool of Google. Based on the methodology employed in earlier work [3, 5, 11, 14], the electronic form contained five statements (shown in Table 3), each with five possible responses that corresponded to five levels of agreement. This format type, known as a psychometric response scale, is widely used in questionnaires where the interviewee is required to grade items according to their degree of importance. Table 4 shows the formats of the responses associated with each of the statements given in Table 3.

Table 3: Statements sent to the students.
Table 4: Formats of the responses associated with each of the five statements.

Table 5 and Figure 10 present the results of the survey conducted exclusively to analyze the PRBL proposal. The questionnaire was sent to a total of students registered during the 2012.2 semester, of which students (41%) responded. It should be noted that the questionnaires were sent to the students independent of their degree of success in the discipline.

Table 5: Statements results.
Figure 10: Bar chart of the statements results.

The replies for statements 1 and 2 (Table 5 and Figure 10) indicated that the methodology involving hands-on lab and building the plant with the driver circuits and sensors received a positive response, with grades 4 or 5 given in around of the replies. For statements 3 and 4 (results presented in Table 5 and Figure 10), which concerned the views of the student regarding his/her learning, grade 4 or 5 was obtained in around of the responses (for both statements). Statement 5 (results presented in Table 5 and Figure 10) aimed to summarize the opinion of the student regarding the entire methodology employed in the training. In this case, of the students gave grades 4 or 5. Finally, considering the replies obtained for all the statements, it could be concluded that the proposed methodology was well received, since grade 4 or 5 was given in more than of the responses.

6. Conclusion

This paper presents the development of a laboratory project suitable for teaching the principles of embedded systems. Using PRBL methodology, the aim of the project is to encourage students to develop solutions to problems in the area of embedded systems. The detailed description provided of the development of a closed-loop control system for an industrial drier should enable the proposal to be more widely adopted in other similar courses and academic programmes. The results of a questionnaire survey of students were encouraging and indicated that the proposal could be successfully used for learning purposes.

Conflict of Interests

The author declares that there is no conflict of interests regarding the publication of this paper.


The author is grateful to the students of semester 2012.2 of the Digital Systems discipline of the Computational Engineering course at the Federal University of Rio Grande do Norte (UFRN), who responded anonymously to the opinion survey and contributed to the results presented in this work.


  1. W. Balid, I. Alrouh, A. Hussian, and M. Abdulwahed, “Systems engineering design of engineering education: A case of an embedded systems course,” in 1st IEEE International Conference on Teaching, Assessment, and Learning for Engineering, TALE 2012, pp. D7–D12, hkg, August 2012. View at Publisher · View at Google Scholar · View at Scopus
  2. C.-S. Lee, J.-H. Su, K.-E. Lin, J.-H. Chang, and G.-H. Lin, “A project-based laboratory for learning embedded system designs with support from the industry,” in Proceedings of the 38th ASEE/IEEE Frontiers in Education Conference (FIE '08), pp. F1B-1–F1B-6, October 2008. View at Publisher · View at Google Scholar · View at Scopus
  3. C.-S. Lee, J.-H. Su, K.-E. Lin, J.-H. Chang, and G.-H. Lin, “A project-based laboratory for learning embedded system design with industry support,” IEEE Transactions on Education, vol. 53, no. 2, pp. 173–181, 2010. View at Publisher · View at Google Scholar · View at Scopus
  4. D. L. Maskell and P. J. Grabau, “A multidisciplinary cooperative problem-based learning approach to embedded systems design,” IEEE Transactions on Education, vol. 41, no. 2, pp. 101–103, 1998. View at Publisher · View at Google Scholar · View at Scopus
  5. Z. Ali and M. Samaka, “ePBL: design and implementation of a problem-based learning environment,” in Proceedings of the IEEE Global Engineering Education Conference (EDUCON '13), pp. 1209–1216, Berlin, Germany, March 2013.
  6. E. Guzmán-Ramírez and I. A. Garcia, “Using the project-based learning approach for incorporating an FPGA-based integrated hardware/software tool for implementing and evaluating image processing algorithms into graduate level courses,” Computer Applications in Engineering Education, vol. 21, no. 1, pp. E73–E88, 2012. View at Publisher · View at Google Scholar · View at Scopus
  7. J. Ma, “Problem-based learning with database systems,” Computers & Education, vol. 22, no. 3, pp. 257–263, 1994. View at Publisher · View at Google Scholar · View at Scopus
  8. S. Waks and N. Sabag, “Technology project learning versus lab experimentation,” Journal of Science Education and Technology, vol. 13, no. 3, pp. 333–342, 2004. View at Publisher · View at Google Scholar
  9. Z. Shen, W. Jensen, T. Wentz, and B. Fischer, “Teaching sustainable design using bim and project-based energy simulations,” Education Sciences, vol. 2, no. 3, pp. 136–149, 2012. View at Publisher · View at Google Scholar
  10. Y. Ugurlu and T. Nagano, “Project-based learning using LabVIEW and embedded hardware,” in Proceedings of the IEEE/SICE International Symposium on System Integration (SII '11), pp. 561–566, December 2011. View at Publisher · View at Google Scholar · View at Scopus
  11. A. Kumar, S. Fernando, and R. C. Panicker, “Project-based learning in embedded systems education using an FPGA platform,” IEEE Transactions on Education, vol. 56, no. 4, pp. 407–415, 2013. View at Publisher · View at Google Scholar · View at Scopus
  12. M. Winzker and A. Schwandt, “Teaching embedded system concepts for technological literacy,” IEEE Transactions on Education, vol. 54, no. 2, pp. 210–215, 2011. View at Publisher · View at Google Scholar · View at Scopus
  13. J.-S. Chenard, Z. Zilic, and M. Prokic, “A laboratory setup and teaching methodology for wireless and mobile embedded systems,” IEEE Transactions on Education, vol. 51, no. 3, pp. 378–384, 2008. View at Publisher · View at Google Scholar · View at Scopus
  14. J. Kim, “An ill-structured pbl-based microprocessor course without formal laboratory,” IEEE Transactions on Education, vol. 55, no. 1, pp. 145–153, Feb 2012. View at Google Scholar
  15. H. Lim, H. Yu, and T. Suh, “Using virtual platform in embedded system education,” Computer Applications in Engineering Education, vol. 20, no. 2, pp. 346–355, 2012. View at Publisher · View at Google Scholar · View at Scopus
  16. V. Bonato, M. M. Fernandes, J. M. P. Cardoso, and E. Marques, “Practical education fostered by research projects in an embedded systems course,” International Journal of Reconfigurable Computing, vol. 2014, Article ID 287205, 12 pages, 2014. View at Publisher · View at Google Scholar · View at Scopus
  17. W. Balid, M. Abdulwahed, and I. Alrouh, “Development of an educationally oriented open-source embedded systems laboratory kit: a hybrid hands-on and virtual experimentation approach,” International Journal of Electrical Engineering Education, vol. 51, no. 4, pp. 340–353, 2014. View at Publisher · View at Google Scholar
  18. K. Lamár and P. Zalotay, “Microcontroller implementation of lookup table-based control functions with special emphasis on sequential control according to IEC 61131-3,” International Journal of Electrical Engineering Education, 2015. View at Publisher · View at Google Scholar
  19. K. Ogata, Modern Control Engineering, Prentice Hall, Upper Saddle River, NJ, USA, 4th edition, 2001.
  20. W. Luyben, Process Modeling, Simulation and Control for Chemical Engineers, McGraw-Hill Chemical Engineering Series, McGraw-Hill, 1990.
  21. B. Bequette, Process Control: Modeling, Design, and Simulation, Prentice-Hall International Series in the Physical and Chemical Engineering Sciences, Prentice Hall, 2003.
  22. Atmel, “ATmega 328p,” 2013,
  23. Scilab, Scilab/Xcos, 2013,
  24. Arduino, Arduino Uno, 2013,