EdX

Embedded Systems - Shape The World: Multi-Threaded Interfacing (edX)

Embedded Systems - Shape The World: Multi-Threaded Interfacing (edX)

Build real-world embedded solutions using a bottom-up approach from simple to complex 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 two of a two part sequence. In this class, we will use interrupts to design a range of real-time systems including an audio player, a data acquisition system, a control system, and an interactive game. This is a hands-on, learn-by-doing course that shows you how to build solutions to real-world problems using embedded systems.

These courses use 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, motor control, 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 possess the knowledge to build your own arcade-style game 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 this class. Students can pick and choose a subset of labs to achieve certification. The three labs that students found most rewarding were the hand-held video game, generating sound using a digital to analog convertor, and creating a smart object using Wifi communication.
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
  • Implement an I/O driver and multi-threaded programming using interrupts
  • Debug using oscilloscopes, logic analyzers, and software instrumentation
  • Learn how to read a data sheet
  • Construct a smart object and create a system as part of the Internet of Things

Prerequisites
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. We expect students to have knowledge obtained in part 1 of the course including LED/switch interfacing, I/O port programming, finite state machine, microcontroller debugging, and C programming.

Course 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 11: UART - The Serial Interface, I/O Synchronization
Lab 11. Write C functions that output decimal and fixed-point numbers to serial port
Module 12: Interrupts
Lab 12. Design and test a guitar tuner, producing a 440 Hz tone
Module 13: DAC and Sound
Lab 13. Design and test a digital piano, with 4 inputs, digital to analog conversion, and sound
Module 14: ADC and Data Acquisition
Lab 14. Design and test a position measurement, with analog to digital conversion and calibrated output
Module 15: Systems Approach to Game Design
Lab 15. Design and test a hand-held video game, which integrates all components from previous labs. Lab 15 will be graded by having students watch videos of each other's’ games.
Module 16: Wireless Communication and the Internet of Things
Lab 16. Connect a CC3100 booster pack to the LaunchPad and communicate with an access point. Lab 16 will first fetch weather from the internet, and then you will send data to the class server.

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

Related Courses

AP® Physics 1 - Part 4: Exam Prep (edX) EdX
Rice University,RiceX

AP® Physics 1 - Part 4: Exam Prep (edX)

The fourth of four courses in a dynamic, comprehensive series that provides a solid base in introductory physics and helps prepare you for the AP Physics 1 Exam. Free textbook included! In this four-part series, we will explore AP Physics 1 concepts and prepare for the AP Physics 1 Exam in an exciting and entirely new way. Increase your skills – and your readiness – for the AP Exam though quality videos, inquiry labs, Hollywood-style Concept Trailers™, Direct Measurement Videos, AP problem-solving sessions and more!

No sessions available
4 Weeks
MyCS: Computer Science for Beginners (edX) EdX
Harvey Mudd College

MyCS: Computer Science for Beginners (edX)

In this fun and creative introduction to computer science for learners of all ages, you'll learn and apply concepts by programming in Scratch. How do computers work? What do computer scientists do? What does it take to make a computer or a computer program work? We answer these questions and more with MyCS: Computer Science for Beginners.

No sessions available
5-12 Weeks
Circuits and Electronics 2: Amplification, Speed, and Delay (edX) EdX
MIT,MITx

Circuits and Electronics 2: Amplification, Speed, and Delay (edX)

Learn how to speed up digital circuits and build amplifiers in the design of microchips used in smartphones, computers, and the Internet. Want to learn how to construct an amplifier for mobile phones? Wondering how energy storage elements like capacitors and inductors work, or how to make microchips run faster? This free circuit course taught by edX CEO and MIT Professor Anant Agarwal and colleagues is for you.

Self Paced
Self-Paced
Computing: Art, Magic, Science (edX) EdX
ETH Zurich,ETHx

Computing: Art, Magic, Science (edX)

Learn the basics of Information Technology and how to write quality programs in this introductory computer science course. Information Technology (IT) is everywhere. Every aspect of human activity depends on it. All IT processes, whether they drive mobile phones, the Internet, transportation systems, enterprise systems, publishing, social networks or any other application, rely on software.

No sessions available
4 Weeks
Computing for Data Analysis (edX) EdX
Georgia Institute of Technology,GTx

Computing for Data Analysis (edX)

A hands-on introduction to basic programming principles and practice relevant to modern data analysis, data mining, and machine learning. The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. In the course, you’ll see how computing and mathematics come together.

Aug 19th 2024
13-24 Weeks
Programming in Scratch (edX) EdX
Harvey Mudd College,HarveyMuddX

Programming in Scratch (edX)

See how easy learning computer science can be. Use Scratch to create games, animations, stories and more. Want to learn computer programming, but unsure where to begin? This is the course for you! Scratch is the computer programming language that makes it easy and fun to create interactive stories, games and animations and share them online.

No sessions available
5-12 Weeks
Introduction to Java Programming - Part 2 (edX) EdX
The Hong Kong University of Science and Technology - HKUST,HKUSTx

Introduction to Java Programming - Part 2 (edX)

The first MOOC to teach the fundamental elements of Java programming and data abstraction. Do you want to become a better problem solver? This Java course will provide you with a strong understanding of basic Java programming elements and data abstraction using problem representation and the object-oriented framework.

Self Paced
Self-Paced
HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

Self Paced
Self-Paced