So let's go ahead and wrap up this prototyping embedded devices section of the class. The first thing we reviewed was Pugh matrices, which is a six sigma tool for working through design alternatives by looking at different criteria that are important to the particular design. This is an element of set-based design where we try to trim away alternatives as quickly as we can, rather than point-based design where we might cycle on a design for too long by changing small elements, and then moving on to the next. We look at the actual Pugh matrix tool, the process of doing it, the template associated with it. And I included some references for you to do your own. Then we got into alternative prototype platforms. This is essentially just a survey of the different devices and hardware that you might use to put together a quick prototype of an embedded device or system. The one that we use the most in the class on campus is the Raspberry Pi, simply because it's inexpensive, it's very capable, and it's easy to network them together, network them to the cloud, connect them to a variety of sensors and other devices. Really, a great little system for this type of embedded system prototyping. But there's plenty of other single board computers you can consider. There's the MicroPython based boards, that if you're a Python person might be a quicker way to platform completion. There's other microcontrollers out there. The Arduino is the one that most of us have seen. Sybase system for creating a controller for a specific design. There's specific development kits for individual wireless devices. There's specialized connected devices, specialized microprocessors. And, of course, these days, the sources for the maker community also provide a rich array of platforms and sensors to choose from. And there's a lot of references in this section to help you go look at these sources of devices and hardware for your prototypes. Aligned with this, is the idea of alternative operating systems for your prototypes, and trying to decide whether or not it's appropriate to use an off the shelf operating system, specialized iOS, a real time operating system. And it really depends on what you're trying to do with the prototype that you're making. The alternatives vary all the way from what we would call bare metal systems, where you're really writing C or Python directly against the microprocessor that you're talking to, to RTOSes that you might select from including FreeRTOS, that might provide specific elements for performance, or other control of your system, at a very detailed level. You can step up from that to something like the Raspberry Pi OS, which is a flavor of Linux. There's also a desktop version of that available that you can run on a PC without even having a Pi. There's alternatives for the Raspberry Pi operating system, an amazing number of them actually, all usually focused on different specialties that you might be using that operating system for. You can certainly create or find a version of embedded Linux other than that, that you might run on a system. Yocto Linux is one of the ways to build a specialized embedded Linux that focuses on the elements that you need for your system. And you might consider using Android to create things that have rich user interfaces, but still have that embedded level of control. Again, a lot of references here for you to go dig into these things as you need to. One of the things we spent a little time on is FreeRTOS. And the reason for that is, it's a very good, very easy to use RTOS. Runs on a variety of platforms. But, also, because Amazon has taken over ownership of FreeRTOS, is very tied to the Amazon Web Services set of cloud tools and makes it easier for us to create systems that connect to the cloud to build out our system prototyping. We talk about licensing architecture, portability, scaling. The way that FreeRTOS builds and shares the process space with its application, how you create tasks, how they're scheduled. Things like using low power control, clocks, timers, etc. So, again, just an introduction to a much deeper topic, but there are some good references here if you decide to take a look at using FreeRTOS. So, in the wrap up for this section, you're going to be doing Project 2, which is the HTML-based device GUI. To do that one, you'll be using WebSockets to connect your pseudo device through to an HTML page that will interact with the data that's gathered. Details of this are in the class materials. The quiz for this module is out there, you'll want to do that. And then, next up, we're going to take a look at some design considerations for IOT devices, both in general and for some specific instances like wearables and voice control devices. Don't forget to ask questions, let us know what you need. Let's keep going. Thank you.