UTAustinX: UT.6.01x: Embedded Systems - Shape The World

School: UTAustinX
Course Code: UT.6.01x
Classes Start: 22 Jan 2014
Course Length: 15 weeks
Estimated effort: 10 hours per week


Computer programming course in any language with exposure to variables, arithmetic, logic, loops, and functions. High school physics course covering current, voltage, resistance, and power.

UT AustinX Embedded Systems Course Image on edX ID Verified

Embedded Systems - Shape The World

Build real-world embedded solutions using a bottom-up approach from simple to complex in this hands-on, lab-based course.

About this Course

How do they do it? If that is your reaction every time you see an electronic gadget you like, then wonder no more. Join us on a journey that will unravel how these electronic gadgets are designed, developed, and built as embedded systems that shape the world.

This is a hands-on, learn-by-doing course that shows you how to build solutions to real-world problems using embedded systems. Each student will purchase a Texas Instruments TM4C123 microcontroller kit and a few electronic components. This microcontroller has a state of the art ARM Cortex M4 processor. The course uses a bottom-up approach to problem-solving building gradually from simple interfacing of switches and LEDs to complex concepts like display drivers, digital to analog conversion, generation of sound, analog to digital conversion, graphics, interrupts, and communication. 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 course you will be able to build your own arcade-style game.

We will provide instructions about purchasing the kit and installing required software via the course website

And be sure to connect with us on Facebook, Twitter, and Google Plus!

Ways to take this edX course:

Simply Audit this Course

Audit this course for free and have complete access to all of the course material, tests, and the online discussion forum. You decide what and how much you want to do.


Pursue a Verified Certificate of Achievement

Plan to use your completed coursework for job applications, promotions or school applications? Then you may prefer to work towards a verified Certificate of Achievement to document your accomplishment.

Course Staff

  • Dr. Jon Valvano Photo

    Jonathan Valvano

    Dr. Jon Valvano is a professor in the Department of Electrical and Computer Engineering at The University of Texas at Austin and holds the Engineering Foundation Centennial Teaching Fellowship in Electrical Engineering. He received his S.B. and S.M. in Electrical and Computer Engineering from MIT in 1977 and his Ph.D. in 1981 from the joint Harvard-MIT program in Medical Engineering and Medical Physics. He joined the faculty at The University of Texas at Austin in 1981 and has 32 years of experience in teaching and research. He has received numerous teaching awards and authored five widely-used textbooks on embedded microcomputer systems. He has co-founded a successful medical device company called Admittance Technologies. His research involves integrated analog/digital processing, low-power design, medical instrumentation, and real-time systems.

  • Dr. Ramesh Terraballi Photo

    Ramesh Yerraballi

    Dr. Ramesh Yerraballi is a Senior Lecturer in the Departments of Electrical and Computer Engineering and Biomedical Engineering at The University of Texas at Austin. He received his Bachelors degree in Computer Science and Engineering from Osmania University, India and his PhD in Computer Science from Old Dominion University, Virginia. Dr. Yerraballi worked at Midwestern State University and The University of Texas at Arlington prior to joining UT Austin in 2008. His research interests are Real-Time Systems, Multimedia and Systems Security. He has taught a broad range of computing classes but currently focusses on Embedded Systems, Circuit Theory, Computer Architecture, Programming, and Statistics. He has taught at both the undergraduate and graduate levels and particularly enjoys teaching undergraduate students.


Computer programming course in any language with exposure to variables, arithmetic, logic, loops, and functions. High school physics course covering current, voltage, resistance, and power.


Is this course related to a campus course of The University of Texas at Austin?

Yes, this course corresponds to the Electrical and Computer Engineering course EE319K Introduction to Embedded Systems, which is a required course offered in the freshman year to all ECE students and some BME students.


Is there a textbook associated with this course?

The course is based on the textbook "Embedded Systems: Introduction to ARM Cortex-M Microcontrollers ISBN: 978-1477508992" and is available on amazon.com. However, the purchase of the textbook is not required.


Do I need a Windows PC?

Yes, any system running Windows XP, Windows 7 or Windows 8 will be ok. Furthermore, with a third party virtualization software like Parallels or VMware Fusion, one can install the Windows operating system on a Mac.


How much does it cost to take this course?

It does not cost anything to take the course. However, since this is a lab-based course, there is a lab kit you will purchase.

How much does the kit cost?

In the US one can purchase the microcontroller board and parts for about $40 USD plus shipping. There is also an optional graphics display for an additional $10 USD plus shipping. The optional graphics display will make the last lab a lot more fun.


What does it mean for the display to be optional?

In the last lab you will build an arcade-style game. We expect most students will connect the microcontroller board to the PC. In this manner the game output can be displayed on a window of the PC. However, for about $10 USD plus shipping, you can order a small Nokia 5110 LCD display so your game can be operated in a stand-alone fashion.


Can I take this course without buying the kit?

Yes, there are three approaches to taking this course. You could just listen to the videos, read the assignments, and play with the interactive learning tools. The second option involves installing the Keil uVision integrated development environment on a Windows PC, and performing the lab assignments in simulation mode. The third option, which fully captures the essence of embedded systems, can be done by performing the lab assignments on a real system that you will purchase.


Will this course really take 10 hours per week?

The first option of just listening, reading and playing with interactive animations will take 2 or 3 hours per week. The second option of performing the labs in simulation will take 5 or 6 hours. The third option of building and testing systems on the real microcontroller will require 10 hours per week.


I have never programmed before, can I take this course?

Anyone is allowed register, but we believe to get the maximum benefit you should have prior programming experience at an introductory level. However, this could be your second course involving programming.


Can I contact the Instructors or Teaching Assistants?

Yes, but not directly. The discussion forums are the appropriate venue for questions about the course. Instructors will monitor these forums and try to respond to the most important questions; in many cases responses from other students will be adequate and faster.


I really want to take this course, what is next?

You should purchase the microcontroller and extra electronics before the start of course. This course is available worldwide and we will provide region-specific methods to obtain the kit at http://users.ece.utexas.edu/~valvano/edX.


Can I use another microcontroller, such as Arduino or PIC, to do this course?

If your plan is to watch the videos and not attempt certification, then yes you may do the labs with whatever microcontroller you want. From an educational perspective most microcontrollers are equivalent. On the other hand, if you wish to interact in the lab discussion groups or wish to obtain the certificate, then you must use either the EK-LM4F120XL or the EK-TM4C123GXL board from Texas Instruments. This is because we have developed grading software that will test the function of your labs running on either the EK-LM4F120XL or the EK-TM4C123GXL board.

I noticed there is a new edition of the book. I have an older edition, should I get the newer version?

First of all, the book is not required. There is very little difference between the May 2013 version of the book and the current version. Basically I changed Stellaris to Tiva. It turns out all the code in this class will run on either TM4C123 (Tiva) or LM4F120 (Stellaris). Older versions of the book focus on the LM3S microcontrollers. The LM3S1968 and TM4C123/LM4F120 are fundamentally similar but not identical. The online course will provide up to date reading, the software installation will have up to date example code. Therefore I think the old books will be fine as a reference of interface circuits and fundamental concepts. Therefore I do not recommend buying the newer version if you have an older version.


You will need to purchase either the EK-LM4F120XL or the EK-TM4C123GXL board from Texas Instruments and a set of electronic components. The cost for these parts is about $40 USD plus shipping. We will provide instructions at: http://users.ece.utexas.edu/~valvano/edX.

You will need a PC running Windows XP, Windows 7, or Windows 8. You will need to be able to install the Keil uVision integrated development environment, which will require administrative privileges to the PC. We will provide instructions at: http://users.ece.utexas.edu/~valvano/edX.