Embedded Systems: Shape The World — MOOC edX UTAustinX UT.6.02x
I've been playing with embedded systems for 5 years now. Most of it was self-taught. Even if I've managed to develop complex projects, I was relying mostly on a hardware abstraction layer and never have the opportunity to deal with the registers.
I was feeling the lack of structured foundation and method, so I decided to start a course on embedded computing. The MOOC —or massive open online course— seemed to be the best solution for studying at my own pace. The teachers are Dr. Jonathan Valvano —who has written many books on embedded systems— and Dr. Ramesh Yerraballi, both at the University of Texas at Austin. The course on edX is free but you can apply for a certificate for a small fee. |
The course Embedded Systems: Shape The World has been split in two:
|
The course is 15 week long with a recommended effort of 10 hours per week, and consists on 16 chapters.
|
What's on a Chapter
Each chapter contains
This approach provides the opportunity to repeat the important things as many times as possible. Everyone knows that repetition is at the very core of teaching! I really appreciate the pace of the course. On an one hour session, I can study a whole concept with the text and the readings, and then check it with the checkpoints at the next session. |
A video comments the code of a detailed example
|
Hands On!
All the lab activities are done with a LaunchPad TM4C123 (previously LaunchPad LM4F120) I was familiar with, and other components like resistors, LEDs and switches.
A Nokia 5110 LCD screen and the CC3100 BoosterPack are optional, although the later is required for the chapter on IoT. Circuits are built on a breadboard and tested with the LaunchPad. Projects includes a piano with a 4-bit DAC, traffic lights for cars and pedestrians, and even a weather station based on internet. |
A 4-bit DAC for sound on lab 13
|
This is the real fun part. All projects are coded on Keil, the official IDE from ARM.
The laboratory comes with many instruments, of which a voltage meter, a logic analyser, an oscilloscope, and even a simulated Nokia 5110 screen. The simulator allows to generate inputs and monitor outputs. It is a plug-in specifically designed for this course and runs on Keil. |
The laboratory and its tools at home!
|
The grading process evaluates the project first on emulation mode and then on the real board. When an error occurs, a understandable message helps the student to spot and fix the code.
Be ready to try and try again. If you're stuck, you can ask for help on the forum. Students exchange tips and tricks, and teachers provide pointers to the right direction. Most of the labs are doable, except Lab 10 which combines two topics, Finite State Machine and GPIOs. I was close to the suggested 10 hours per week. |
The lab of chapter 16 for Internet of Things
|
My Own Experience
This MOOC gave me a good understanding of the embedded systems and reviewed the most important components of a micro-controller.
Obviously, covering such a large topic as embedded computing is just impossible, but the course succeeds in providing a sure path to explore new fields. Among other methods, it teaches how to write a requirements document, how to read a data-sheet —the Tiva TM4C123 data-sheet is 1400-page long!— and how to perform debugging. The forum plays an important part on the course, as teachers provide help and students discuss about alternatives and other projects. The only caveat I've found so far, there is no mention of the frameworks like TivaWare or mbed or Energia. Coding 13+4 lines for an analog input seems tedious when a couple of lines would do the work. But it's worth knowing what's behind. Now, to be really successful, be ready and commit yourself with one hour distraction-free session a day for 15 weeks, a notebook to take notes, and a large desk for the labs! Let's hope about a new MOOC on RTOS next year! |
// Declare analog input PE2/A1 |
Pros
|
Cons
|
Wrap-Up
|
Links
Published: 03 May 2015
Updated: 30 Mar 2019
Updated: 30 Mar 2019