EdX

Embedded Systems - Shape The World: Microcontroller Input/Output (edX)

Embedded Systems - Shape The World: Microcontroller Input/Output (edX)

Introduction to the world of embedded systems with a focus on microcontroller input/output in this hands-on, lab-based course. Learn how electronic gadgets are designed, developed, and built as embedded systems that shape the world.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

This is part one of a two part sequence. Together these are hands-on, learn-by-doing courses that show you how to build solutions to real-world problems using embedded systems. In this course, we take a bottom-up approach to problem solving, building gradually from simple interfacing of switches and LEDs to complex concepts like a microcontroller-based pacemaker, digital lock, and a traffic light controller. We will present both general principles and practical tips for building circuits and programming the microcontroller in the C programming language. You will develop debugging skills using oscilloscopes, logic analyzers, and software instrumentation. Laboratory assignments are first performed in simulation, and then you will build and debug your system on the real microcontroller. At the conclusion of this part 1 you will possess the knowledge to build your own traffic light controller from the ground up.

This is the fourth time we have offered this course. Since the reviews have been overwhelmingly positive we do not plan major changes over the previous offerings of the course. We did however break the large class into two smaller classes. There are eight labs in part 1 and six labs in part 2. Students can pick and choose a subset of labs to achieve certification. The three labs that students found most rewarding in this part were designing the software algorithm for a demand pacemaker, interfacing switches and LEDS, and the finite state machine traffic light controller.
To complete this course, you will be required to purchase a Texas Instruments TM4C123 microcontroller kit and a few electronic components.
This microcontroller has a state-of-the-art ARM Cortex-M4 processor.

What you'll learn

  • Understanding of embedded systems using modular design and abstraction
  • C programming: considering both function and style
  • Build and test circuits with switches, LEDs, resistors, potentiometers, and liquid crystal displays
  • Synchronizing hardware and software input/output with switches, lights, sound, sensors. motors, and liquid crystal displays
  • Learn how to solve problems using a finite state machine
  • Debug using oscilloscopes, logic analyzers, and software instrumentation
  • Learn how to read a data sheet
  • Construct traffic light controller

Syllabus

The best way to understand what you will learn in this class is to list the labs you will complete and the example projects we will build. You will complete each lab first in simulation and then on the real board. For each module we will design a system and you will build and test a similar system.
Module 1: Welcome and introduction to course and staff

  • Module 2: Fundamental concepts: numbers, computers, and the ARM Cortex M processor *

Lab 2. Run existing project on LaunchPad with switch input and LED output

  • Module 3: Electronics: resistors, voltage, current and Ohm’s Law _**
  • Module 4: Digital Logic: transistors, flip flops and logic functions *

Lab 4. Debug a system with two inputs and two outputs

  • Module 5: Introduction to C programming *

Lab 5. Write a C function and perform input/output

  • Module 6: Microcontroller Input/Output *

Lab 6. Write C software that inputs from a switch and toggles an LED output

  • Module 7: Design and Development Process *

Lab 7. Write C functions that inputs from a switch and outputs to two LEDs, which is a virtual pacemaker

  • Module 8: Interfacing Switches and LEDs *

Lab 8. Interface an external switch and LED and write input/output software

  • Module 9: Arrays and Functional Debugging *

Lab 9. Write C functions using array data structures that collect/debug your system

  • Module 10: Finite State Machines *

Lab 10. Interface 3 switches and 6 LEDs and create a traffic light finite state machine

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Semiconductors for Beginners (edX) EdX
National University of Singapore,NUS

Semiconductors for Beginners (edX)

The primary goal of the course is to enable the student to understand what semiconductors are, and why they are important to the electronics industry. Students will first learn and understand why some materials are insulators and others are conductors, and will learn how these properties can be modified. The course also explores other situations where the conductivity of an insulator can be drastically changed, such as the situation inside a bolt of lightning or inside a semiconductor.

Self Paced
Self-Paced
Microcontroller Applications with RISC-V (edX) EdX
Linux Foundation,LinuxFoundationX

Microcontroller Applications with RISC-V (edX)

Create simple embedded applications with a RISC-V microcontroller using a user-friendly integrated development environment (IDE). This course provides some basic experience in designing and developing deeply embedded bare metal applications using a microcontroller with a RISC-V core. The course is the first step to creating embedded systems using a host of new microcontrollers that use an open instruction set architecture (ISA) as an alternative to a proprietary option.

Self Paced
Self-Paced
Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Sep 14th 2026
4 Weeks
Digital Signal Processing 4: Applications (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Digital Signal Processing 4: Applications (Coursera)

Digital Signal Processing is the branch of engineering that, in the space of just a few decades, has enabled unprecedented levels of interpersonal communication and of on-demand entertainment. By reworking the principles of electronics, telecommunication and computer science into a unifying paradigm, DSP is a the heart of the digital revolution that brought us CDs, DVDs, MP3 players, mobile phones and countless other devices.

Sep 14th 2026
3 Weeks
Introduction to the Internet of Things (edX) EdX
Universitat Politècnica de València,UPValenciaX

Introduction to the Internet of Things (edX)

This is a preliminary course in which we deal with the basics of electronics and programming using Arduino and ESP boards. Internet of Things (IoT) is the present and the future of technology. Either, if you have none, few or some experience with electronics and you want to develop it projects this course will give you the necessary kick start to start creating amazing devices capable of sensing, controlling physical signals.

Self Paced
Self-Paced
Circuits and Electronics 3: Applications (edX) EdX
MIT,MITx

Circuits and Electronics 3: Applications (edX)

Learn about cool applications, op-amps and filters in the design of microchips used in smartphones, computers, and the internet. Want to learn how your radio works? Wondering how to implement filters using resistors, inductors, and capacitors? Wondering what are some other applications of RLC and CMOS circuits? This free circuit course, taught by edX CEO and MIT Professor Anant Agarwal and MIT colleagues, is for you.

Self Paced
Self-Paced
Real-Time Bluetooth Networks - Shape the World (edX) EdX
University of Texas at Austin,UTAustinX

Real-Time Bluetooth Networks - Shape the World (edX)

Learn the design fundamentals of a real-time operating system (RTOS) and how to build a Bluetooth network in this hands-on project-based course. The increased demand by consumers and businesses for more utility, connectivity and smarter and more efficient electronic technology not only creates a need for more embedded systems but also for engineers in the embedded systems field.

Self Paced
Self-Paced
AC and Switching Circuits (edX) EdX
National University of Singapore,NUS

AC and Switching Circuits (edX)

In this course, you will learn all about circuits with alternating current (AC). The course shows how to design and analyse AC circuits, and concepts like phasors and power factor are explained. We also cover transformers, fuses, relays, and the use of transistors as switches. The course is the second in our series on electronics and a working knowledge of DC circuits is assumed.

Self Paced
Self-Paced
Semiconductor Fundamentals (edX) EdX
Purdue University,PurdueX

Semiconductor Fundamentals (edX)

From smartphones to satellites, semiconductors are everywhere. Tying together physics, chemistry, and electrical engineering, this easy-to-follow introduction provides the background needed to understand devices such as transistors and solar cells. This course provides the essential foundations required to understand the operation of semiconductor devices such as transistors, diodes, solar cells, light-emitting devices, and more.

Jan 9th 2023
5-12 Weeks