We may earn an affiliate commission when you visit our partners.
Jonathan Valvano and Ramesh Yerraballi

Learn how electronic gadgets are designed, developed, and built as embedded systems that shape the world.

Read more

Learn how electronic gadgets are designed, developed, and built as embedded systems that shape the world.

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.

We will provide instructions about purchasing the kit and installing required software at: http://edx-org-utaustinx.s3.amazonaws.com/UT601x/index.html.

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

What's inside

Learning objectives

  • 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.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Conveys embedded systems through hands-on, learn-by-doing activities
Applicable to those aiming to establish a foundation in embedded systems design and development
Teaches debugging using oscilloscopes, logic analyzers
Introduces microcontrollers, a critical component in embedded systems
Involves a final project where learners build a traffic light controller from scratch
Requires a Texas Instruments TM4C123 microcontroller kit and electronic components

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Microcontroller input/output mastery

According to students, this course is a great introduction to microcontrollers. While the course material is well-chosen, those with prior knowledge may find some portions boring. Overall, learners say that this well-received course provides hands-on experience via a Texas Instruments LaunchPad microcontroller and is ultimately a great course for gaining foundational knowledge in embedded systems.
This is a great course for beginners to get started in embedded systems.
"This is a great course for anyone who is interested in getting hands on experience with Embedded Systems."
"With some additional reading, this is a great course for a beginner to get involved in embedded systems."
The grading system is effective and tests the devices that you are working on.
"The grading system was really effective, I don't know of any other embedded course that can actually test the device you are working on."
This course provides hands-on experience with microcontrollers.
"This is a great course for anyone who is interested in getting hands on experience with Embedded Systems."
"The parts required to complete the course a relatively inexpensive."
For those with prior knowledge, the first few weeks can be boring.
"For those who have some prior knowledge, the first few weeks can be a little boring."

Activities

Coming soon We're preparing activities for Embedded Systems - Shape The World: Microcontroller Input/Output. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Embedded Systems - Shape The World: Microcontroller Input/Output will develop knowledge and skills that may be useful to these careers:
Embedded Systems Engineer
The core focus of an Embedded Systems Engineer is applying engineering techniques to the development of embedded systems that use circuit boards and microcontrollers. You would be responsible for installing, testing, and maintaining these systems in a variety of roles, such as in self-driving cars, medical devices, and aerospace, to name a few. Taking this course is a great way to start building the necessary knowledge of embedded systems, hardware, and software development. This course is a good way to earn certification without the advanced degree that is often a requirement for the role.
Embedded Software Developer
Embedded Software Developers play a key role in creating and testing software for embedded systems, with a foundation in programming languages such as C, C++, and Python. Familiarity with microcontrollers is essential in this role, making this course very relevant. You will also gain valuable experience in software design and programming, debugging, and testing which are all essential functions of this job.
Hardware Engineer
Hardware Engineers design, develop, and test computer hardware, such as circuit boards, microprocessors, and memory devices used in embedded systems. This course will introduce you to the fundamentals of electronics, digital logic, and microcontrollers, as well as provide you with valuable hands-on experience in building and testing circuits.
Robotics Engineer
Robotics Engineers design, build, and maintain robots, which are essentially advanced forms of embedded systems. This course may be helpful in gaining a foundation in the fundamentals of embedded systems, including hardware, software, and programming.
Mechatronics Engineer
Mechatronics Engineers combine the principles of mechanical, electrical, and computer engineering to design and build products and systems, such as robots, medical devices, and manufacturing equipment. This course may be helpful in gaining a foundation in the fundamentals of embedded systems, including hardware, software, and programming.
Electrical Engineer
Electrical Engineers design, develop, test, and maintain electrical systems, including those used in embedded systems. This course may be helpful in gaining a foundation in the fundamentals of electronics and electrical engineering, as well as providing hands-on experience in building and testing circuits.
Test Engineer
Test Engineers develop and conduct tests to ensure that products meet specifications and are free of defects. This course may be helpful in gaining a foundation in the fundamentals of hardware and software testing, as well as providing hands-on experience in debugging circuits and software.
Electronics Technician
Electronics Technicians install, maintain, and repair electronic equipment. This course may be helpful in gaining a foundation in the fundamentals of electronics, as well as providing hands-on experience in building and testing circuits.
Computer Hardware Engineer
Computer Hardware Engineers design, develop, and test computer hardware, including microprocessors, motherboards, and graphics cards. This course may be helpful in gaining a foundation in the fundamentals of computer hardware, including microcontrollers.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course may be helpful in gaining a foundation in the fundamentals of software development, including programming languages and software design patterns.
Computer Programmer
Computer Programmers write and maintain computer programs. This course may be helpful in gaining a foundation in the fundamentals of programming, including programming languages and software design patterns.
Systems Analyst
Systems Analysts analyze and design computer systems. This course may be helpful in gaining a foundation in the fundamentals of systems analysis and design.
Technical Writer
Technical Writers create technical documentation, such as user manuals and white papers. This course may be helpful in gaining experience in writing technical documentation, as well as in understanding the technical concepts that are covered in the course.
Quality Assurance Analyst
Quality Assurance Analysts test and evaluate software and hardware products to ensure that they meet quality standards. This course may be helpful in gaining a foundation in the fundamentals of quality assurance, as well as in understanding the technical concepts that are covered in the course.
Project Manager
Project Managers plan, organize, and manage projects. This course may be helpful in understanding the technical aspects of embedded systems, as well as in gaining experience in project management.

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser