ENME 489B - Mechatronics and the Internet of Things

3 Credits



None required.


ENME 351


The field of mechatronics integrates dynamical systems, transducers, computation, control, and design to realize systems where complexity is shifted from solely mechanical components to a merging of mechanics with the electronic and software domains. This project-driven course will provide a structured hands-on environment to strengthen students’ understanding of mechatronics principles introduced in ENME 350/351, and extend these concepts to the Internet of Things (IoT) in which sensors and actuators are embedded into physical objects together with wireless communications, enabling remote interaction with these objects through the Internet. Students will learn about the Raspberry Pi (RPi) computing platform, wireless communication using the RPi, Python code development, and various Web-based protocols for data transfer and communication, while also gaining experience with digital circuit development and mechatronics design. Students will then explore a sequence of defined in-class labs and hands-on design projects combining these skills. The course will progress through an overview of electrical, mechanical, computing, and software systems relevant to mechatronics and IoT, in-class labs integrating a variety of sensor, actuator, computing, and communications technologies into IoT objects, and projects that will allow students to demonstrate mastery of the course materials. Performance on the two design projects will result in an assessment of interim and final mastery of course materials. As part of all projects, students will be required to explain the detailed operation of their hardware and software to demonstrate understanding.


Students will be able to design complex systems integrating sensors, actuators, electronics, and mechanical components, and develop Python code running on a mini-computer to interface with these systems. Students will further be able to develop Web-based code using HTML and CGI to remotely interface with the mechatronic systems remotely through the Internet.


  • Python code development
  • Raspberry Pi hardware
  • General-purpose input/output (GPIO) interfacing for sensors and actuators
  • Selected topics in digital electronics and coding (serial to parallel conversion, bit banging, etc.)
  • I2C interfacing
  • Wireless communications using the Raspberry Pi
  • Python-based CGI scripting for dynamic web page generation
  • Electromechanical system design

Learning Outcomes 

  • an ability to apply knowledge of mathematics, science, and engineering
  • an ability to design and conduct experiments, as well as to analyze and interpret data
  • an ability to identify, formulate, and solve engineering problems
  • an ability to communicate effectively
  • a recognition of the need for, and an ability to engage in life-long learning
  • an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice

Class/Laboratory Schedule 

  • Two 75 minute lectures per week

Last Updated By 
Don DeVoe, June 2017