Microcontrollers and the C Programming Language (MSP430)

Create C programs for a microcontroller using inputs/outputs, timers, analog-to-digital converters, comm ports, and LCD.
Rating: 4.4 out of 5 (2,601 ratings)
50,169 students
Microcontrollers and the C Programming Language (MSP430)
Rating: 4.4 out of 5 (2,601 ratings)
50,169 students
Program microcontrollers with the C programming language.
Use timer peripherals
Use communication peripherals
Use analog-to-digital converter peripherals
Use a liquid crystal display (LCD)
Use the MSP430 to develop embedded systems


  • Information about the laboratory kit and the instructions for downloading the software will be provided in Section 1.

The course is laboratory based. Almost every lecture and section of the course leads directly to a hands-on laboratory assignment. The more practice you get using the “real world" Texas Instruments MSP430 hardware and software the more proficient you will be.

The course does not waste your time. From the very beginning, we jump right in to your first laboratory assignment – Let's Get Started.

The course is modular in nature. Are you new to the world of microcontrollers? Great! Start at the beginning, and we'll teach you everything you need to know. Do you have some background in microcontrollers but want to learn more? Fantastic! You can pick and choose the modules that you need.

The course is packed with information. From the beginnings of the C programming language to advanced microcontroller peripherals, the course teaches you all of the building blocks you would need to build your own electronic systems.

We use lots and lots of examples. We take you step-by-step through the lessons – each time providing sample code and documentation to make sure you are supported through the course.

We are here to help. We are educators with a singular focus of providing a meaningful experience for our students. And, while we cannot do the work for you, we are willing to work WITH you help you succeed.

Who this course is for:
  • This course is meant for individuals who are not familiar with microcontrollers, the MSP430, and/or the C programming language.
  • For more experienced individuals, the course will also expedite the learning curve for the Texas Instruments MSP430 and Code Composer Studio integrated development environment.
Course content
18 sections • 115 lectures • 31h 56m total length
  • What Is This Course All About?
  • Course Introduction
  • DOWNLOAD: What Do I Need For This Course?
    3 pages
  • DOWNLOAD: Let's Get Started Lab Manual
    34 pages
  • BONUS DOWNLOAD for the MSP-EXP430G2 Launchpad
  • Wrap Up
  • Getting Started
    4 questions
  • DOWNLOAD: What Are Binary Numbers?
    21 pages
  • DOWNLOAD: What Are Hexadecimal Numbers?
    7 pages
  • DOWNLOAD: What Are Bits, Nibbles, Bytes, And Words?
    3 pages
  • DOWNLOAD: How Can I Use The Programming Calculator?
    7 pages
  • DOWNLOAD: What Is The AND Operator?
    18 pages
  • DOWNLOAD: What Is The OR Operator?
    10 pages
  • DOWNLOAD: What Is The NOT Operator?
    7 pages
  • DOWNLOAD: What Is The XOR Operator?
    8 pages
  • Wrap Up
  • Quiz: Binary Numbers and Digital Logic
    7 questions
  • ACTION: What Is a FOR Loop?
  • DOWNLOAD: FOR Loops Lab Manual
    25 pages
  • What Is a Flow Chart?
  • DOWNLOAD: Flowchart Lab Manual
    3 pages
  • ACTION: What Is a WHILE Loop?
  • DOWNLOAD: WHILE Loops Lab Manual
    10 pages
  • DOWNLOAD: What Are the Different C Variable Types?
    21 pages
  • Loops Wrap up
  • Quiz: Loops in the C Programming Language
    5 questions
  • BONUS: What Are Nested Loops?
  • BONUS DOWNLOAD: Nested Loops Lab Manual
    9 pages
  • BONUS DOWNLOAD: Nested Loops Challenge
    3 pages
  • BONUS DOWNLOAD: What Are the C Shorthand Operators?
    16 pages
  • BONUS: Are FOR Loops and WHILE Loops Really the Same Thing?
  • What Is a Digital Input?
  • ACTION: What Is the P1.1 Push Button?
  • DOWNLOAD: P1.1 Push Button Lab Manual
    29 pages
  • ACTION: What Is the IF Statement?
  • DOWNLOAD: IF Statement Lab Manual
    8 pages
  • ACTION: What Are Relational Operators?
  • DOWNLOAD: Relational Operators Lab Manual
    8 pages
  • ACTION: How Do I Use More Push Buttons and LEDs?
  • DOWNLOAD: Using External Push Buttons and LEDs Lab Manual
    24 pages
  • Digital Inputs Wrap Up
  • Quiz: Digital Inputs, Push Buttons, and the IF Statement
    3 questions
    11 pages
  • What Is a Timer?
  • What Can Timers Count?
  • Introduction to Timers Wrap Up
  • Quiz: Introduction to Timers
    2 questions
  • What Is a Watchdog Timer?
  • ACTION: How Do I Use the Watchdog Timer?
  • DOWNLOAD: Watchdog Timer Peripheral Lab Manual
    18 pages
  • Watchdog Timer Peripheral Wrap Up
  • Quiz: Watchdog Timer Peripheral
    2 questions
  • ACTION: How Do I Use a General Purpose Timer?
  • DOWNLOAD: General Purpose Timer Lab Manual
    18 pages
  • DOWNLOAD: Turn On the Red LED for 20s and Then Turn It Off
    2 pages
  • DOWNLOAD: Repeatedly Turn On the LED for 3s and Then Off for 1s
    3 pages
  • Quiz: General Purpose Timers
    3 questions
  • BONUS: How Can I Pet the Watchdog with a General Purpose Timer?
  • BONUS DOWNLOAD: Petting the Watchdog with the General Purpose Timer
    5 pages
  • ACTION: How Do I Use Two General Purpose Timers to Count at the Same Time?
  • DOWNLOAD: Using Two General Purpose Timers Lab Manual
    8 pages
  • Quiz: Advanced Features of General Purpose Timers
    2 questions
  • ACTION: How Do Functions Improve Your Program?
  • DOWNLOAD: What Is a Function?
    48 pages
  • Quiz: Functions
    5 questions

Brandt Professor of Engineering, Valparaiso University
Mark M. Budnik
  • 4.4 Instructor Rating
  • 2,601 Reviews
  • 50,185 Students
  • 1 Course

Mark M. Budnik is the Paul H. Brandt Professor of Engineering at Valparaiso University. He received his bachelor of science degree in electrical engineering from the University of Illinois and his master of science and doctoral degrees in electrical engineering from Purdue University.

Prior to joining the faculty at Valparaiso University in 2006, Mark worked in the semiconductor industry, culminating as a Staff Engineer and the Director of White Goods and Motor Control at Hitachi Semiconductor. In these roles, he had a unique opportunity to work closely with a diverse customer base to identify and establish a number of best practices in embedded systems education.

In his career, he received multiple educational awards from academia and industry including ST Microelectronics, National Semiconductor, Hitachi Semiconductor, Valparaiso University, and the American Society for Engineering Education (ASEE). Most recently, Mark was an ASEE Section Outstanding Teacher of the Year and a finalist for the 2015 ASEE National Outstanding Teaching Award.

Mark is the author of more than fifty book chapters, journal articles, and conference proceedings and the recipient of five best paper/presentation awards. He is a Senior Member of the IEEE and a Fellow of the International Symposium on Quality Electronic Design.