Next Article in Journal
Analysis of In-to-Out Wireless Body Area Network Systems: Towards QoS-Aware Health Internet of Things Applications
Next Article in Special Issue
A Raspberry Pi Based Portable Endoscopic 3D Measurement System
Previous Article in Journal
Virtual Machine Replication on Achieving Energy-Efficiency in a Cloud
Previous Article in Special Issue
Erica the Rhino: A Case Study in Using Raspberry Pi Single Board Computers for Interactive Art
Order Article Reprints
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:

Developing an Affordable and Portable Control Systems Laboratory Kit with a Raspberry Pi †

Mechanical Engineering Department, Kettering Unviersity, 1700 W University Avenue, Flint, MI 48504, USA
Industrial and Enterprise Systems Engineering Department, University of Illinois at Urbana-Champaign, 104 S. Mathews Ave, Urbana, IL 61801, USA
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in R. M. Reck and R. S. Sreenivas, Developing a new affordable DC motor laboratory kit for an existing undergraduate controls course, Proceedings of the 2015 American Control Conference (ACC), Chicago, IL, USA, 1–3 July 2015, doi: 10.1109/ACC.2015.7171159, pp. 2801–2806
Current address: 1700 University Ave. Flint, MI 48504, USA
These authors contributed equally to this work.
Electronics 2016, 5(3), 36;
Received: 10 May 2016 / Revised: 26 June 2016 / Accepted: 27 June 2016 / Published: 4 July 2016
(This article belongs to the Special Issue Raspberry Pi Technology)


Instructional laboratories are common in engineering programs. Instructional laboratories should evolve with technology and support the changes in higher education, like the increased popularity of online courses. In this study, an affordable and portable laboratory kit was designed to replace the expensive on-campus equipment for two control systems courses. The complete kit costs under $135 and weighs under 0.68 kilograms. It is comprised of off-the-shelf components (e.g., Raspberry Pi, DC motor) and 3D printed parts. The kit has two different configurations. The first (base) configuration is a DC motor system with a position and speed sensor. The second configuration adds a Furuta inverted pendulum attachment with another position sensor. These configurations replicate most of the student learning outcomes for the two control systems courses for which they were designed.

Graphical Abstract

1. Introduction

Instructional laboratories are a common part of undergraduate engineering education. Historically, these laboratories have taken place on campus with expensive equipment. However, with the rise in popularity of online classes and low cost hardware there are new alternatives to the traditional on-campus instructional laboratory. This research developed a modular, portable, and affordable laboratory kit to support the accompanying curriculum for the introductory controls course in the general engineering (GE) program at the University of Illinois at Urbana-Champaign. The objective was to design each kit to be assembled for around $100 while replicating the educational functionality of a lab bench in a university controls laboratory. A kit will also allow older analog computers to be updated with newer technology that is more representative of what is currently used in industry [1]. Replacing expensive equipment with an affordable kit that can be shipped anywhere in the world increases the accessibility of the controls laboratory experience for students on campus and remote locations. Previous research shows that hands-on laboratory experiments help students understand and apply course material [2].
Some affordable and transportable laboratory devices for engineering education have already been developed, such as the Mobile Studio IOBoard, which is centered on a custom-built board that “replicates the functionality of an oscilloscope, function generator, multimeter, and power supplies” and is primarily used in introductory circuits courses [3].
The target course for the kit is GE 320 (an introduction to control systems for general engineering students). This course is representative of the first course in controls for many electrical, mechanical, and aerospace engineering programs. The kit design consists of a Raspberry Pi (a fully functional ARM-based computer that is the size of a deck of cards), a DC motor, and the various circuits required to drive the motor, to measure position and speed, and perform system identification.

1.1. Background

The need for laboratory experiences in control systems courses has been well established in [4,5,6,7] and others, however there are challenges associated with including them. Some hurdles include: budget constraints, space limitations, class size, and limited teaching resources [5,8,9,10]. Additionally, the increasing popularity of online courses has added a new consideration for laboratories [4,11,12].
The literature shows that the cost of equipment per laboratory station varies from $180 [13] to $32,493.74 [14]. This research looks to replace the basic functionality of these laboratories with an affordable kit. The target budget of $100 for the kit was used because it is the approximate cost of a textbook. The budget is also only three times the cost of an iClicker, another common piece of technology that students purchase for courses, and the approximate cost of other low-cost kits for other courses found in literature [3,15]. The Arduino prototyping kit described in [15] is approximately $95 and was designed for a multidisciplinary course on perception, light, and semiconductors. The Mobile Studio IOBoard described in [3] has multiple versions ranging in price from $80–$130. The primary application of the Mobile Studio IOBoard is undergraduate circuits courses.
In addition to monetary cost, dedicated laboratory space is also limited and class sizes are increasing. These factors place restrictions on the capabilities of face-to-face laboratories. Not all students can attend and complete face-to-face laboratory experiments due to time, location, or physical disability [16]. An alternative to face-to-face laboratory experiences are laboratory kits.
A lab kit allows students to take home the laboratory equipment to complete the experiments on their own time [13,15]. These kits started to become more popular as the cost of the required hardware has decreased [15]. The kits’ contents vary based on the objectives of the course and can be assembled by the instructor [8,15], adapted from an existing kit [13] or purchased as a complete kit such as Lego Mindstorms NXT [17,18]. These kits have been well received by students [8,10,15].
The science and engineering active learning (SEAL) system created a take-home kit for students to develop a cart with an inverted pendulum attachment [8]. It was designed to be used in controls courses. The cost of the kit is approximately $100 plus $179 for a myDAQ from National Instruments [8,19]. The MESAbox was also designed for controls and mechatronics courses; it uses an Arduino and costs approximately $180 [13]. The MESABox kit includes multiple motors and sensors and is based on an off-the-shelf kit from Sparkfun; however, this includes more components than required for the GE courses. The laboratory experiments designed for the MESABox cover a variety of controls topics including using the Arduino programming language and wiring all of the circuits.
The DC Motor control equipment detailed in [6] includes $80 of hardware and a motor, gearbox, and encoder. The cost of the latter three components are not included; the motor manufacturer’s website indicates these components are more than $100 each [20]. The total cost for each station with this equipment is approximately $400 and it is not designed to be portable.
All undergraduate laboratory experiences still need to meet the course goals and objectives as well as ABET accreditation requirements [7,12]. There are several goals that can be applied to laboratory experiences based on the outcomes in the ABET Criterion; a student should have the ability to conduct experiments, analyze and interpret data, use modern engineering tools, design experiments, solve engineering problems, and function in teams [21]. In general, the controls laboratory experience should prepare students for a career in control systems [1] by performing the following steps: building the system [5], modeling and analyzing the system, developing a controller to meet performance requirements, simulating the controller and system, observing the physical system, collecting the data, and using the data to improve the system model or control tuning [4,10]. Experiments based on DC motors [6,22] have been identified to meet these goals for controls laboratory experiences. Another advantage of using a DC motor for a control systems laboratories is the range of experiments that are possible. One example is a simple proportional-integral-derivative (PID) control of the motor’s position [22]. A more complex example is to add an attachment to make an inverted pendulum [6].

1.2. Motivation

There were four primary considerations driving the development of this kit: achieve the same educational objectives as the current laboratory equipment, cost and accessibility of parts, portability of the complete kit, and student interface. Within the first consideration, it was important to have a seamless transition in the laboratory without changing the lecture part of the course.
A budget of approximately $100 and the desire to be able to quickly obtain replacement parts if something breaks drove the second consideration of cost and availability of parts. The budget is similar to other kits found in the literature and approximately the same cost as a textbook. All of the parts in the kit are available at major online retailers or 3D printed.
Cost and accessibility is also closely tied with the third consideration of portability. Portability is a long-term goal of the project, so that the students can take the kits home or the kits can be shipped to students taking online courses.
The last consideration, student interface, placed the most restrictions on the current design of the kit. The lecture portion of the course and some of the existing laboratory experiments use MATLAB and Simulink as the simulation and development platform. Therefore the new kit uses MATLAB and Simulink as well. At the start of the development of the kit only two small, low-cost, hardware platforms had Simulink support: Arduino and Raspberry Pi. The latter was chosen for its flexibility and potential to expand into other controls courses with more complex algorithms and possibly object tracking via video.

2. Materials and Methods

The laboratory equipment was developed in two phases. The first phase developed a DC Motor kit for an introductory control systems class (GE 320). The second phase added a Furuta inverted pendulum attachment for a second class in digital control systems (GE 420).

2.1. DC Motor Laboratory Kit Development

From the considerations in the previous section, a goal was set to develop a kit that would replicate the educational objectives of the existing lab for around $100. Off-the-shelf parts were selected when possible to make replacement parts easy to obtain. Parts that could not be purchased were 3D printed. The simplicity of the design and availability of the parts will make future expansions with the kit feasible. Figure 1 shows the assembled kit. Table 1 details the supplies needed to build a complete kit, including the supplier for each part.

2.1.1. Raspberry Pi

The Raspberry Pi model B brought a lot of functionality to the kit; however, it also provided some challenges. The Raspberry Pi includes several useful drivers in the WiringPi library [23] which is included in the Raspberian Linux distribution. These libraries are very helpful in setting up built in functions. The processing power and peripheral interface provide resources for potential future functionality. There are also several predefined functions in MATLAB and Simulink that make it straight forward for students to develop code. The cost and availability of the Raspberry Pi and accessories like the Pi Cobbler breakout board from Sparkfun are also advantages. The Raspberry Pi also has 17 general purpose input/output (GPIO) pins available for use; however, these pins can only be used for digital signals and this kit requires an analog position to be used. An additional limitation is that the Raspberry Pi requires an Ethernet communication with another computer for programming and setup. It also requires a separate USB micro power source. There are other alternatives to the Raspberry Pi that do not have the limitations of Ethernet or an additional power supply, including the Arduino and BeagleBone Black. The rest of the kit could be adapted to work with these platforms as well.

2.1.2. Circuits and Sensors

The full circuit diagram is included in Figure 2. The sections below describe the major components in the circuit diagram.


The digital GPIO pins do not supply enough voltage or current to drive the DC motor. An H-Bridge was selected to create the interface between the Raspberry Pi and the motor. L293D H-Bridge has four channels; two of these are used in the kit so that the direction can also be controlled.

Speed Sensor

To measure the speed of the motor, a 3D printed encoder wheel is attached to the shaft of the DC motor. The encoder wheel has 20 evenly spaced holes. The wheel passes through a photo interrupter to create a digital signal that is connected to a GPIO pin on the Raspberry Pi. See 3D model in Figure 3.

Position Sensor

A rotary potentiometer is used to measure the position of the motor. The potentiometer measures 340 of the 360 degrees of travel. It is mounted on a table shaped surface that is part of the 3D printed base. A motor shaft extension was printed as one part with the encoder wheel, see Figure 2. However, it was found that the accuracy of 3D printing can cause inconsistencies between kits. For example, there is a hole in the bottom of the encoder wheel that was designed to fit tightly over the shaft of the motor. In some cases the part fit and did not wobble, however others the hole was too big and would not stay attached to the motor. Looseness and wobbling caused the encoder wheel to hit the photo interrupter. An aluminum hub with set screw was added to some kits for stability.

Analog-to-Digital Converter

There is not an analog input on the Raspberry Pi so an analog-to-digital converter (ADC) was selected to convert the potentiometer voltage to a digital signal. As a substitute, the Raspberry Pi has a built in serial peripheral interface (SPI) and inter-integrated circuit (I2C) interfaces that make connecting the ADC straight forward. The MCP3002 and MCP3008 ADC were both tested with the kit. These ADCs use the SPI interface and have the added benefit of having predefined functions included in the WiringPi library that is available for the Raspberry Pi. Ultimately, the MCP3002 was selected for cost and availability. It has two available input channels instead of eight, which is sufficient for this course.

2.1.3. Simulink

The primary software package used in the course is MATLAB and Simulink. Therefore it was important to use it in the laboratory experiments as well. Two non-standard blocks needed to be developed. All of the models are run in Simulink’s external mode. This mode allows the data collected by the Raspberry Pi to be viewed while the simulation is running on the Raspberry Pi [24]. The models were built and tested in MATLAB Release 2014a.

Reading the Potentiometer Voltage through ADC and SPI Interface

To take advantage of the libraries provided with WiringPi, an S-Function builder block is used to generate the output to the ADC and read the input from the ADC. The block outputs the value from the potentiometer at a rate of 100 Hz, which is set on the Initialization tab of the S-Function Builder. In the Libraries tab the following WiringPi libraries are included:
  • wiringPi.h
  • wiringPi.c
  • mcp3002.h
  • mcp3002.c
  • piHiPri.c
  • wiringPiSPI.c
The following code was added in the Outputs tab:
if(xD[0] == 1)
y0[0] = analogRead(100);
Additionally, the following code was added to the Discrete Update tab:
if(xD[0] != 1){
wiringPiSetup() ;
mcp3002Setup(100, 0) ;
//done with initialization
xD[0] = 1;
The SPI interface on the Raspberry Pi also needs to be enabled through the MATLAB workspace by entering the following commands:
  • mypi=raspi(’ipaddress’,’pi’,’raspberry’)
  • mypi.enableSPI
where ipaddress in the above command refers to the actual IP address of the Raspberry Pi.

Encoder to Tachometer Reading

The digital signal created by the photo interrupter can be read directly by the Raspberry Pi. Once the signal is in Simulink it needs to be converted from a digital signal to a speed in radians per second. A counter block is used to count the number of pulses per tenth of a second and then the count is converted to a speed.

Interface between a Computer and the Raspberry Pi

Based on the type of experiment students create inputs for the motor or closed-loop control laws in Simulink. Then the software is built using Simulink’s Embedded Coder and deployed on the Raspberry Pi via the Ethernet connection. When the Simulink model is run in External mode, data can be collected and viewed as the code runs via scopes or other sinks provided in Simulink. This mode requires a high volume of Ethernet traffic while the model is running; therefore it is recommended that an independent network be created between the computer and the Raspberry Pi. The kit was tested using an independent network within the laboratory with only traffic between the laboratory computers and the Raspberry Pis. Manual network settings were used when setting up the Linux distribution with MATLAB, to allow each Raspberry Pi to be assigned a known and unique IP address on the independent network set up in the laboratory. The IP address was printed on a label and affixed to the base for easy access during laboratory experiments.
There are other alternatives that can be used when the code is run as a standalone application on the Raspberry Pi. Data can be collected in a file or sent back to the host computer via User Datagram Protocol (UDP) Send and Receive blocks provided in Simulink. When the data is saved to a file on the Raspberry Pi a File Transfer Protocol (FTP) connection can be established to transfer the file to the host computer for analysis.

2.2. Furuta Inverted Pendulum Kit Development

In the second phase of development, a Furuta inverted pendulum attachment was added to the kit. Inverted pendulums are common systems for control systems laboratories. There are multiple designs of inverted pendulums. The Furuta version of the inverted pendulum was already in use in GE 420, the second required control systems course for general engineering majors. An illustration of a Furuta inverted pendulum is included in Figure 4.
The Furuta inverted pendulum currently being used costs about $1,220. The Furuta pendulum attachment was added to the existing DC motor kit for an additional $4. The additional cost was from an additional potentiometer to measure the angle of Link 2, two resistors, and 3D printing the attachment. A photo of the kit with the Furuta Pendulum attachment is in Figure 5. The resistors are used to create a voltage divider, as in the implementation for the first potentiometer shown in Figure 3. The wiper of the second potentiometer is connected to the second input of the ADC. All of the rest of the circuits remain the same and the interface to the Raspberry Pi is still through MATLAB and Simulink.


Just like the DC motor kit, the student interface is through MATLAB and Simulink. In order to read the position of Link 2 from the second potentiometer, the s-function in Simulink needs to be modified. In the Data Properties tab, a second output y1 is added. The code on the Outputs and Discrete Update tabs require two modifications. One line of code was added in the Outputs tab to make an output for the second potentiometer.
if(xD[0] == 1)
y0[0] = analogRead(100);
y1[0] = analogRead(102);
Additionally, one line of code is added to the Discrete Update tab to initialize the second SPI channel:
if(xD[0] != 1){
wiringPiSetup() ;
mcp3002Setup(100, 0) ;
mcp3002Setup(102, 1) ;
//done with initialization
xD[0] = 1;
The control objective with an inverted pendulum is to keep the pendulum link in the vertical upright position. The state equations for inverted pendulums also include angular velocity. The angular velocities can be calculated with a derivative of the position or a partial state observer. The design depicted in Figure 6 uses derivatives and pole placement to keep the inverted pendulum in the upright position.

3. Results

Within the two phases of this study, we developed two kits for use in instructional laboratories for control systems courses. The total cost for the complete kit for both courses is under $135. The complete kit weighs less 0.68 kilograms and can fit inside a shoe box. All of the components of the kit are readily available from internet retailers or 3D printed. The availability and flexibility of parts makes it easy to repair.
For off-campus students, the complete kit could be shipped to them directly. As 3D printers become more available, students could be provided a parts list and 3D models. Then they could assemble the kit themselves and complete these experiments in their own home. If the kit or parts could not be made available to students off campus, most kit functions can be operated remotely. The Raspberry Pi is programmed via network connection and the data is collected through the same internet connection. However, when operating the kit remotely, the data may not be able to be viewed in real time. If necessary, a live video feed could also be established.
While connected to a computer with MATLAB and Simulink, most of the laboratory experiments of the GE 320 and GE 420 courses can be replicated. The following sections list the objectives and experiments specific to each course.

3.1. GE 320

As the introductory control systems course GE 320 covers the basics of linear, continuous-time, control development. The objectives of the GE 320 laboratory experience are to apply the following course concepts: system identification, system frequency response, stability, and PID control. These concepts are applied using a DC motor and the associated sensors in the kit.
During six of the fifteen weeks in a semester, students spend two hours in the laboratory completing six different experiments [25]. The experiments with the new kit and existing equipment are compared in Table 2. During the pilot study there were six kits purchased and assembled then made available in the laboratory. The students use MATLAB and Simulink to deploy programs on the Raspberry Pi and visualize data collected from the sensors. An example experiment can be viewed here:
During the GE 320 pilot study half of the laboratory sections used the existing equipment (baseline) and the other half used the new kit (treatment). In order to keep the laboratory experiences similar, the treatment group used the new kit in the same physical laboratory space on campus with the same number of contact hours. The midterm and final exams scores of the existing and treatment groups were compared using a student t-test. With a significance level, α, of 0.05 we could not reject the null hypothesis that the average score of the two groups was different [26]. In end of semester surveys, students had both positive and constructive feedback for both types of equipment. After initial analysis, the kit seems to be at least as good as the existing equipment used in GE 320.

3.2. GE 420

The digital control systems course introduces filters and control of linear, discrete-time systems. The objectives of the GE 420 laboratory experiences are to apply the following course concepts: linear discrete systems, control using a digital computer, digital signal processing, and digital design. These concepts are applied using a Furuta Inverted Pendulum, digital signal processor (DSP), and the associated sensors. The Furuta inverted pendulum kit does not include a DSP, so that part of the laboratory cannot be replicated. However, the digital control concepts can be taught through a digital implementation within Simulink and on the Raspberry Pi. Table 3 compares the Furuta inverted pendulum experiments with the existing equipment and the new kit.

4. Discussion

The course objectives for GE 320 and GE 420 are similar to introductory courses at other universities [1,5,6,8,11,13]. Since the kit was designed for GE 320 and GE 420, it could also meet the objectives for these other courses. DC motor and inverted pendulum experiments are generally popular in control systems courses.
At $135, this kit costs about the same as other kits described in the literature [3,8,13,15]. It was built by university staff involved with the course and uses off-the-shelf parts like other kits [8,13]. Unlike the Mobile Studio IOBoard [3] which had a printed circuit board made specifically for their kit, the kit in this study uses a breadboard for flexibility during prototyping and future growth. Additionally, using a breadboard also allows the flexibility for students to complete the wiring for required circuits.
Future work with the kit in this study includes a more detailed comparison of the student learning outcomes with the kit and existing equipment. The kit has yet to be tested for use in an online course. If these kits are proven effective, similar kits for other systems will be developed. Additionally, a detailed comparison of hardware and kits for control systems laboratories is planned.

5. Conclusions

A kit was developed for around $140 and replicates most of the existing experiments in the introduction to control systems course and state-spate control systems course for general engineering majors. The kit contains off-the-shelf parts including a Raspberry Pi as well as 3D printed parts. In the 2014-15 academic year, half of the students in the introductory course used the new kit, while the other half used the existing equipment. With both types of equipment, students performed system identification and designed control systems for a DC motor. Overall, the students using both types of equipment achieved the same learning objectives in the laboratory. Feedback through focus groups and surveys produced positive and constructive feedback for both types of equipment. The student feedback has been used to improve the laboratory experiments in the 2015-16 academic year.
With an additional $4, the DC motor kit can be converted to a Furuta inverted pendulum kit for the state-space control systems course. The Furuta inverted pendulum kit has been tested, however it has yet to be deployed in this course. Plans are being made to use the inverted pendulum in other courses as well.
In the future, the kit will be used in upper division courses and online courses. Expansions to this kit and new kits are also being developed. In addition to instructional laboratories, there are also plans to use these kits as low-cost platforms for applied research.


The authors would like to thank Dan Block, Controls Lab Specialist, Jim Leake, Director of Engineering Graphics, and Dr. Michael Loui, Professor of Electrical and Computer Engineering, for their support of this research.

Author Contributions

R.R. and R.S. conceived of the kit design; R.R. prototyped and tested the laboratory kit; R.S. provided advice and suggestions for the final design; R.R. wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest.


The following abbreviations are used in this manuscript:
ADCAnalog to Digital Converter
DCDirect Current DSP: Digital Signal Processor
FTPTransfer Protocol
GEGeneral Engineering
GPIOGeneral Purpose Input/Output I2C: Inter-integrated Circuit
SPISerial Peripheral Interface
UDPUser Datagram Protocol


  1. Leva, A. A hands-on experimental laboratory for undergraduate courses in automatic control. IEEE Trans. Educ. 2003, 46, 263–272. [Google Scholar] [CrossRef]
  2. Connor, K.A.; Ferri, B.; Meehan, K. Models of mobile hands-on STEM education. In Proceedings of the 2013 American Society for Engineering Education Annual Conference and Exposition, Atlanta, GA, USA, 23–26 June 2013.
  3. Millard, D.; Chouikha, M.; Berry, F. Improving student intuition via Rensselaer’s new mobile studio pedagogy. In Proceedings of the 114th Annual ASEE Conference and Exposition, Honolulu, HI, USA, 24–27 June 2007.
  4. Aktan, B.; Bohus, C.A.; Crowl, L.A.; Shor, M.H. Distance learning applied to control engineering laboratories. IEEE Trans. Educ. 1996, 39, 320–326. [Google Scholar] [CrossRef]
  5. Dixon, W.E.; Dawson, D.M.; Costic, B.T.; Queiroz, M.S.D. A MATLAB-based control systems laboratory experience for undergraduate students: Toward standardization and shared resources. IEEE Trans. Educ. 2002, 45, 218–226. [Google Scholar] [CrossRef]
  6. Gunasekaran, M.; Potluri, R. Low-Cost Undergraduate Control Systems Experiments Using Microcontroller-Based Control of a DC Motor. IEEE Trans. Educ. 2012, 55, 508–516. [Google Scholar] [CrossRef]
  7. Feisel, L.D.; Rosa, A.J. The role of the laboratory in undergraduate engineering education. J. Eng. Educ. 2005, 94, 121–130. [Google Scholar] [CrossRef]
  8. Borgstrom, P.H.; Kaiser, W.J.; Chung, G.; Nelson, Z.; Paul, M.; Stoytchev, S.M.; Ding, J.T.K. Science and engineering active learning (SEAL) system: A novel approach to controls laboratories. In Proceedings of the 119th ASEE Annual Conference and Exposition; 2012. [Google Scholar]
  9. Khan, F.; Birchfield, N.; Singh, K.V. Revitalizing the engineering curriculum through studio based instruction. In Proceedings of the ASME 2012 International Mechanical Engineering Congress and Exposition, Houston, TX, USA, 9–15 November 2012; Volume 5.
  10. Ionescu, C.M.; Fabregas, E.; Cristescu, S.M.; Dormido, S.; Keyser, R.D. A Remote Laboratory as an Innovative Educational Tool for Practicing Control Engineering Concepts. IEEE Trans. Educ. 2013, 56, 436–442. [Google Scholar] [CrossRef]
  11. Boubaker, O. The inverted pendulum: A fundamental benchmark in control theory and robotics. In Proceedings of the 2012 International Conference on Education and e-Learning Innovations (ICEELI), Sousse, Tunisia, 1–3 July 2012; pp. 1–6.
  12. Hyder, A.C.; Thames, J.L.; Schaefer, D. Enhancing mechanical engineering distance education through IT-enabled remote laboratories. In Proceedings of the ASME 2009 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, San Diego, CA, USA, 30 August–2 September 2009.
  13. Stark, B.; Li, Z.; Smith, B.; Chen, Y. Take-Home Mechatronics Control Labs: A Low-Cost Personal Solution and Educational Assessment. In Proceedings of the ASME 2013 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference ASME, Portland, OR, USA, 4–7 August 2013; Volume 4.
  14. Egbert, R. New electrical engineering laboratory facility combines traditional laboratory experiments, computer-based lab exercises, and labs taught via distance. In Proceedings of the 2009 Annual Conference & Exposition, Austin, TX, USA, 14–17 June 2009.
  15. Sarik, J.; Kymissis, I. Lab kits using the Arduino prototyping platform. In Proceedings of the 2010 Frontiers in Education Conference (FIE), Washington, DC, USA, 27–30 October 2010; pp. T3C:1–T3C:5.
  16. Sanchez, J.; Dormido, S.; Pastor, R.; Morilla, F. A Java/Matlab-based environment for remote control system laboratories: Illustrated with an inverted pendulum. IEEE Trans. Educ. 2004, 47, 321–329. [Google Scholar] [CrossRef]
  17. Cruz-Martin, A.; Fernandez-Madrigal, J.; Galindo, C.; Gonzalez-Jimenez, J.; Stockmans-Daou, C.; Blanco-Claraco, J. A LEGO Mindstorms NXT Approach for Teaching at Data Acquisition, Control Systems Engineering and Real-Time Systems Undergraduate Courses. Comp. Educ. 2012, 59, 974–988. [Google Scholar]
  18. Kim, Y. Control Systems Lab Using a LEGO Mindstorms NXT Motor System. IEEE Trans. Educ. 2011, 54, 452–461. [Google Scholar] [CrossRef]
  19. Studica. Available online: (accessed on 26 September 2014).
  20. Maxon motor. Available online: (accessed on 13 March 2015).
  21. Nickerson, J.V.; Corter, J.E.; Esche, S.K.; Chassapis, C. A Model for Evaluating the Effectiveness of Remote Engineering Laboratories and Simulations in Education. Comp. Educ. 2007, 49, 708–725. [Google Scholar]
  22. Kelly, R.; Moreno, J. Learning PID structures in an introductory course of automatic control. IEEE Trans. Educ. 2001, 44, 373–376. [Google Scholar] [CrossRef]
  23. Henderson, G. Available online: (accessed on 26 September 2014).
  24. Mathworks. Available online: (accessed on 29 July 2014).
  25. Reck, R.M. BYOE: Affordable and portable laboratory kit for controls courses. In Proceedings of the ASEE Annual Conference and Exposition, Seattle, WA, USA, 14–17 June 2015.
  26. Reck, R.M.; Sreenivas, R.S.; Loui, M.C. Assessing an affordable and portable laboratory kit in an undergraduate control systems course. In Proceedings of the 2015 IEEE Frontiers in Education Conference (FIE), El Paso, TX, USA, 21–24 October 2015; pp. 1–4.
  • Sample Availability: MATLAB, Simulink, and 3D Model files are available from the authors.
Figure 1. Complete DC Motor Kit.
Figure 1. Complete DC Motor Kit.
Electronics 05 00036 g001
Figure 2. Breadboard Schematic.
Figure 2. Breadboard Schematic.
Electronics 05 00036 g002
Figure 3. Encoder Wheel and Motor Shaft Extension.
Figure 3. Encoder Wheel and Motor Shaft Extension.
Electronics 05 00036 g003
Figure 4. Complete Furuta Pendulum Motor Kit.
Figure 4. Complete Furuta Pendulum Motor Kit.
Electronics 05 00036 g004
Figure 5. Complete Furuta Pendulum Motor Kit.
Figure 5. Complete Furuta Pendulum Motor Kit.
Electronics 05 00036 g005
Figure 6. Complete Simulink model to control the Furuta Inverted Pendulum.
Figure 6. Complete Simulink model to control the Furuta Inverted Pendulum.
Electronics 05 00036 g006
Table 1. Components of the Kit.
Table 1. Components of the Kit.
ItemSupplier Cost
Raspberry Pi Model BAdafruit$39.95
12V DC motorSparkfun$12.95
3D printed standin house$5.00
Bread boardAdafruit$5.95
H bridge (L293D)Adafruit$2.50
ADC (MCP3002)Sparkfun$2.30
Power supply (for RPi)Adafruit$9.90
Power supply (for DC Motor)Adafruit$14.95
Rotary Position Sensor (3382)DigiKey$2.60
Photo InterrupterSparkfun$3.45
Pi T-cobbler breakout & cableSparkfun$6.95
ResistorsECE Store$0.15
SD CardAmazon$17.09
Total $125.93
Note: based on approximate 2016 prices.
Table 2. Comparison of GE 320 Experiments.
Table 2. Comparison of GE 320 Experiments.
1Introduction to GP-6 Analog ComputerIntroduction to Simulink and Raspberry Pi Interface
2Motor and sensor characteristicsMotor and sensor characteristics
3Motor identification via physical and electrical characteristicsFunctionality not available within the cost of the kit
4Motor identification via step and frequency responseMotor identification via step and frequency response
5Motor control (Proportional, Proportional + Derivative, & Proportional + Speed)Motor control (Proportional, Proportional + Derivative, & Proportional + Integral)
6System ID and Control of a non-linear system via the webSystem ID and Control of a non-linear system via the web
Table 3. Comparison of GE 420 Experiments.
Table 3. Comparison of GE 420 Experiments.
1Equipment OverviewEquipment Overview
2Introduction to DSP programming with TI Code Composer StudioIntroduction to Raspberry Pi Programming with Simulink
3More DSP/BIOSMore programming with Raspberry Pi
4Introduction to the I/O Daughter CardIntroduction to Raspberry Pi GPIO through T-Cobbler interface
5DAC and ADC Signal I/ODAC and ADC Signal I/O
6DC Motor Discrete Transfer Function IdentificationDC Motor Discrete Transfer Function Identification
7PI Motor Speed ControlPI Motor Speed Control
8Positioning Control of a Motor Using PD, PID, and Hybrid ControlPositioning Control of a Motor Using PD, PID, and Hybrid Control
9Notch FilterNotch Filter
10Discrete Full State Feedback Control of the Furuta PendulumDiscrete Full State Feedback Control of the Furuta Pendulum
11Control of the Furuta Pendulum using a Full Order ObserverControl of the Furuta Pendulum using a Full Order Observer

Share and Cite

MDPI and ACS Style

Reck, R.M.; Sreenivas, R.S. Developing an Affordable and Portable Control Systems Laboratory Kit with a Raspberry Pi. Electronics 2016, 5, 36.

AMA Style

Reck RM, Sreenivas RS. Developing an Affordable and Portable Control Systems Laboratory Kit with a Raspberry Pi. Electronics. 2016; 5(3):36.

Chicago/Turabian Style

Reck, Rebecca M., and R. S. Sreenivas. 2016. "Developing an Affordable and Portable Control Systems Laboratory Kit with a Raspberry Pi" Electronics 5, no. 3: 36.

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop