How and why to teach wireless connectivity in embedded systems classes


•  Overview
•  Lab example
•  Downloadable lab assignment
•  Sample applications
•  Video: Wireless Example with CC3100 and TM4C123
•  Video: System with TM4C123 and CC3100BoosterPack

With all the buzz about the Internet of Things (IoT), we all have considered adding wireless connectivity to our embedded system lab. However, a flood of worries may hold us back, such as cost, complexity, and inertia.  This blog post explains how and why I added a IEEE802.11 wireless lab to my embedded systems lab.

Why 
With the proliferation of embedded systems and the pervasiveness of the internet, it is only natural to connect the two. IoT is the combination of embedded systems, which have sensors to collect data and actuators to affect the surrounding, and the internet, which provides for ubiquitous remote and secure communication. Traditional education on wireless communication focuses on the theory of communication, which is appropriate for those engineers destined to develop new channels and maintain existing ones. However, it is likely for the embedded system engineer to be asked to connect devices to the internet.  Therefore, we should add wireless connectivity to our students’ toolbox so they will be competitive in the job market.

Pedagogical Shift
I am a strong advocate of bottom-up education, which means we start with the basics, teach a topic until the student has full grasp, and then encapsulate and use that topic as we move to teach a higher-level topic. In order to connect to the internet, our device must implement a plethora of details to be fully compatible. The only way to add wireless to an existing embedded system lab is to violate the bottom up rule “students must understand everything about the devices they use” and provide them a working “black box” with which they can experiment. More specifically, we will purchase a hardware/software solution (called an internet stack) that is internet ready, and we will provide a rich set of example solutions to teach how the internet works at the component level. Students will modify and combine these examples to design systems. This purchase-and-use design process is prevalent in industry, so it will be beneficial for students to be exposed to both bottom-up and component-level design processes.

What
I added an IEEE802.11 lab where one microcontroller collects data, and a second microcontroller displays the data. Data are transmitted across a wireless network using UDP packets. I used two EK-TM4C123-GXL LaunchPads ($13 each), two SimpleLink™ Wi-Fi® CC3100 BoosterPacks ($20 each), one optional Sitronix ST7735 LCD ($20), and a standard wireless access point ($30). This means the cost of the entire lab configuration costs only $30+$86 per team.