Asee peer logo

Design and Development of Remote Testbeds Using Python

Download Paper |


2016 ASEE Annual Conference & Exposition


New Orleans, Louisiana

Publication Date

June 26, 2016

Start Date

June 26, 2016

End Date

August 28, 2016





Conference Session

Computing & Information Technology Division Technical Session

Tagged Division

Computing & Information Technology

Page Count




Permanent URL

Download Count


Request a correction

Paper Authors


Abul K. M. Azad Northern Illinois University

visit author page

Abul K. M. Azad is a Professor in the Technology Department of Northern Illinois University. He has a Ph.D. in Control and Systems Engineering and M.Sc. and B.Sc. in Electronics Engineering. His research interests include remote laboratories, mechatronic systems, mobile robotics, and educational research. In these areas, Dr. Azad has over 100 refereed journal and conference papers, edited books, and book chapters. So far, he has attracted around $1.7 million in research and development grants from various national and international funding agencies. He serves on editorial boards of a number of professional journals and is Editor-in-Chief of the International Journal of Online Engineering. He is active with various professional organizations (IEEE, IET, ASEE, and ISA) as well as a member of board of Trustees of CLAWAR Association.

visit author page

author page

Reza Hashemian P.E. Northern Illinois University

author page

Suresh Vakati

Download Paper |


It is vital to provide laboratory activities to maximize learning in STEM disciplines. Traditionally, students perform experiments by being present in a laboratory and working with physical systems. However, when considering the financial involvement, manageability, and accessibility, this arrangement is not always effective. With the emerging technologies in computing hardware and software, researchers and academics are leaning toward Internet accessible remote testbeds to replace or supplement existing laboratory experiments. Remote testbeds can maximizes utilization time, increase collaboration among universities and research centers, and provide access to expensive experimental resources.

Researchers are using various hardware and software technologies for remote laboratory developments. Thinking broadly, a remote testbed system can be divided into a few major components: the testbed itself and the interface of the testbed and a computer, graphical user interface (GUI), and server for remote access and access management. A number of software tools are used for graphical user interface development and server applications. Some of these tools are LabVIEW, Matlab, and .NET. These are expensive and the first two have some limitations in terms of flexibility in development and browser adaptability.

With these in mind, this paper will report the design and development of experimental testbeds using Python for computer interfacing, GUI development, and remote access. In addition, it will compare the feasibility of this development with the LabVIEW, Matlab, and other software tools. Python is a scripting language available on the market for software development particularly suited to internet applications. As Python is an open source tool, it has a wide variety of modules, exceptions, high-level dynamic data types, classes, and interfaces to huge libraries.

In terms of experimental development, this paper will report two remote testbeds that were developed using the Python. The testbeds are remote programming of a microcontroller system for interfacing applications and a mobile platform with self-navigation. Both systems will be integrated with a laboratory course for microcontroller and interfacing applications.

Within the first testbed, an Arduino microcontroller is interfaced with a number of output devices (liquid crystal display, seven segment display, light emitting diodes, and a stepper motors). Using a GUI, remote users can run a few pre-developed programs provided with the system as well as upload their own program to the microcontroller. The testbed has the capability to compile an uploaded program and send the compilation report to the remote user. If needed, the remote user will then debug the program and upload again. Finally, the user can verify the program implementation through a video feedback provided with the testbed. The second testbed is a self-navigated mobile platform fitted with a vacuum cleaner. The mobile platform is wirelessly connected to the server for operation and control. The system is fitted with a number of sensors to implement self-navigation through obstacles and has an onboard microcontroller system for control. A GUI was developed to facilitate interaction between the system and a remote user. Finally, discussion will highlight the features of this Python development in comparison with other approaches for remote testbed development.

Azad, A. K. M., & Hashemian, R., & Vakati, S. (2016, June), Design and Development of Remote Testbeds Using Python Paper presented at 2016 ASEE Annual Conference & Exposition, New Orleans, Louisiana. 10.18260/p.26667

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2016 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015