So today we're going to be talking about devices. We're going to be talking about the physical infrastructures behind internet of things. Later on in this class, we'll get into software, and algorithms, and protocols that help internet of things actually work. But to really understand these technologies, eg, go underneath the hood, and understand the physical infrastructure behind these devices. So as I go through these concepts, I'm going to be talking about circuits and components and how electricity flows and things like that. We're going to be getting into some really detailed stuff, really good stuff. But as we go through this, I think it's helpful to step back and think about what you'd actually use this stuff for. So as we go through this, it'll be helpful if you think about some of the use cases. So you can think about how to actually apply this stuff in the real world. So for example, you can think about, hey, maybe I went to build a drone, something that flies around, takes pictures of agricultural crops, understands how they're growing, things like that. What sort of sensors would you use for that thing? How would you put together components to make that thing fly and be autonomous? Or maybe you have a manufacturing plant with a generator. So some sort of engine, something that's spinning, and you want to figure out if that thing is going to feel. Will it be great if you could put some sensors on it, watch out vibrates, maybe it's vibrating in a an anomalous pattern, do some data analysis to figure that out. How would you build something like that? Or maybe a smartwatch, something that somebody is going to wear. Now you've going to build something that's small. You need small components, you're really careful about battery usage, you use just a tiny bit of power because that thing has to last all day. Or maybe you're going to go work for Walmart or some shopping facility, and you want to watch the shoppers going around, they're buying stuff, and you want to watch what they're doing, watch what they're looking, there's some serial on the rack and no one is looking at that serial. Maybe you need to advertise it more, direct shoppers down the aisle more. So as we go through this stuff, you can think about these different applications and think about how to apply these technologies. We're going to learn to build some of these real things. So how do you actually build IoT devices? Well, IoT is really a synthesis of hardware and software. There's a lot of intelligence in IoT, machine learning, artificial intelligence. These devices are smart, and distributed, and they work together. But underneath all that, there's hardware, there's a physical encasing of these devices, there's circuits and electricity in different components working together to make them work. So IoT is a software implementation that runs at a top a device. You might think, hey, I could just understand Arduino programming or do some programming to a set of APIs, and that's good. You'll learn a lot of things if you get into that stuff and we'll get into that stuff in this class. The good designers go underneath that. They understand what's behind the APIs. So to become a real system implementer, to build deep systems, and build things that work in practice, it's good to understand what's underneath these APIs, and we'll be learning about that in this class. So we're going to start off this lecture series by talking about the hardware behind IoT. We're going to start from the basics. We're going to start talking about how electricity flows, and what the different components are in electrical circuits, and how these things work together with a specific emphasis on IoT. How these systems and devices are applied in real contexts. Then we'll talk about IoT platform. How we take all these circuits and components and put them together to do real things. We'll talk about the Arduino platform and Raspberry Pi. We'll talk about these habeas platforms. Then we'll talk about how these technologies are applied in real commercial grade system that are done for IoT. Then we'll go into a deep dive in embedded programming and we'll look specifically at Arduino which is a great platform for learning embedded programming. We'll learn about different techniques that you can use to program IoT devices. Along the way, we'll go through some real case studies. We'll learn how to apply these techniques to build smart cars, and smart aircraft, and smart buildings, and so on.