Embedded Systems

Embedded Systems

Remote Monitoring and Control Systems


remote monitoring and control system - wiring diagram

Wiring Diagram

This module details the process of designing and implementing a system that can remotely monitor and control environmental conditions. It provides the foundation for intelligently automating tasks that would be needed in a greenhouse such as humidity & temperature control. Participants will go through the process of remotely connecting to an embedded system, programming it to collect data and perform tasks through feedback control, and configure it to wirelessly transmit data and commands without the need to be physically present. By the end of the module, students are trained in operating and managing simple remote monitoring systems for both long and short-term projects.

About the Module

This module has been split into three 3-hour workshops. The lab manual is available for viewing and download to the right; in it you will find the details of each day with instructions and important terminology, as well as the equipment list with links for purchase if you would like to attempt these tutorials at home. Each workshop has its own prelab that must be completed before attending the relevant session. You'll be directed to online content and resources designed to give a basic understanding of what you'll be working on for that day, such as circuit simulation tools or an illustration of the different networking protocols. A key component of the prelabs is the use of a lab notebook. Make sure to bring the notebook with any questions you may have on the relevant prelab content to each session; it is important that you understand these concepts. Each day of the module will cover a different topic and will contain a postlab that must be completed on your own time before attending the next session.

Learning Outcomes: By the end of this module, students will have demonstrated familiarity and ability in:

  • Good laboratory Environment, Health and Safety practice
  • Appropriate selection and use of microcontrollers (Arduino UNO) vs single board computers (Raspberry Pi)
  • Basic control structures, Types, and Boolean Operators for general programming
  • Arduino IDE, Python, XCTU programming environments
  • Analysis, design and testing of circuit diagrams and circuits: series vs parallel, current and voltage dividers
  • General understanding of communication and networking protocols, both wired (serial and ethernet) and wireless
  • Articulation of data flow and feedback control through the use of finite state machines
  • Data storage with SQLite database
  • Appropriate selection of electronic components and the use of data sheets
  • Application of tools for project management (engineering notebook, GitHub)

The example use-case used throughout this Embedded Systems Module is a connected greenhouse. By the end of the three sessions, you will have a foundation for remotely monitoring and controlling elements such humidity and temperature, storing data, and selecting electronic components.

Session 1: Introduction to IoT Hardware and Software

In this workshop, you will learn introductory programming and basic electronic circuitry while utilizing an Arduino UNO microcontroller for temperature and light sensing. We will discuss different electronic components, explore the microcontroller hardware, and write basic control structures to perform indicator tasks. Students will gain a basic understanding of electric circuits and circuit design, and be able to test and calibrate their systems. This session assumes little to no previous experience, and can be skipped by demonstrating the circuit to S-lab staff.

Session 2: Wireless Communication

This session introduces students to the use of short range wireless communication to connect discrete embedded systems. Participants will learn the simplest form of wirelessly transmitting data using Xbee radios in point to point configuration. By the end of this module, you will be able to wirelessly communicate sensor data to a host computer for processing and display.

Remote Monitoring and Control System - Communicating with sensor over Python

Remote Monitoring and Control System - Communicating with sensor over Python

Session 3: Introduction to Embedded Systems with Feedback Control

In this workshop, you will setup and configure a single board computer, the Raspberry Pi, as your master computer. This includes installing the OS, enabling networking, and communicating with each sensor using a Python script in order to deploy a fully functioning remote monitoring and control system. Students will be taught to program at a more advanced level for flow control and to facilitate data logging.


The module will take place in the S-Lab's main facility in the Thimann Labs room 372. Please sign in with the lab manager upon arrival.

Workshops are grouped as one module, available for sign-up to the right. You may not sign up for individual workshops or split between multiple sessions. Plan to attend all three workshops in your module.

Before attending your workshop, please review the manual and complete the online training. You are required to complete the EH&S Lab Safety Fundamentals and the EH&S Electrical Safety in Research courses through the UC Learning website before beginning any work in the lab.

Note: if you would like to use your own computer for this workshop, you must complete the "Set up" section in the lab manual before attending the first session.