Information for Spring 2022

Amazing things happen when you connect software to the physical world. You may have already experienced the delight of doing this an Arduino or Raspberry Pi, logging sensor data to the internet or controlling an electromechanical device with a few lines of code. In this course, we’ll take this to the next level and tackle the challenges of deploying embedded and “Internet of Things” products in the real world. For example:

  • What microcontroller should you choose when you have to justify every penny of the cost?
  • How do you handle software updates when you have no physical access to the device? What happens when your code crashes?
  • What does it take to make a computer system run for days or weeks on a single battery charge?
  • How do you fabricate a circuit board and package your system to withstand daily use or outdoor weather?

Throughout the semester you’ll work with a large team to build, program, and deploy a real embedded system, from concept to circuit board to code to web interface. Class sessions will mix hands-on project work with bits of instruction on immediately relevant topics.

Contact Steven Bell with questions (sbell@ece.tufts.edu).

FAQ

Is this the same as “Advanced Embedded Systems”?

Yes. I’m renaming the course to better differentiate it from Joel Grodstein’s “Real-time embedded systems” course. The emphasis in this course is on low-power networked systems for IoT, while the real-time embedded course focuses on real-time systems and signal processing.

What are the prerequisites for the course?

This will be a highly collaborative course, and I expect that each person will bring different skills to the project. At a minimum you should have some experience with writing code (e.g., ES 2, CS 11) and building circuits (e.g., EE 20, ME 30), but we’re looking for a mix of expertise in software, circuit design, mechanical design, and web development. You must have junior, senior, or graduate standing to take the course.

Do I need to be an EE major to take the course?

Not at all! I hope to have a mix of majors in the course, and part of the experience will be working together from different perspectives and learning from each other.

This has a time conflict with some other course I need to take! Will it be offered next year?

Yes, we are making plans to get a permanent course number and offer it every spring.

How will this be different from EE 14 (Embedded Systems)?

EE 14 focuses on the nuts and bolts of writing C and assembly code for microcontrollers, and interfacing with various peripherals. This course will focus on IoT topics and the practical challenges of deploying devices in the real world. We’ll write our share of low-level code, but the emphasis will be on going from an Arduino or a prototype on a breadboard to a fleet of devices deployed in the real world.