# Rapid-Embedded-Education-Kit Welcome to our Rapid Embedded Systems Design Education Kit! ### [Download the EdKit here](https://github.com/arm-university/Rapid-Embedded-Education-Kit/archive/refs/heads/main.zip) Our flagship offering to universities worldwide is the Arm University Program Education Kit series. These self-contained educational materials offered exclusively and at no cost to academics and teaching staff worldwide. They’re designed to support your day-to-day teaching on core electronic engineering and computer science subjects. You have the freedom to choose which modules to teach – you can use all the modules in the Education Kit or only those that are most appropriate to your teaching outcomes. Our Rapid Embedded Systems Design Education Kit covers the fundamental principles of how to accelerate the development of embedded systems and rapidly prototype various embedded applications. A full description of the education kit can be found [here](https://www.arm.com/resources/education/education-kits/rapid-embedded-systems). ## Getting Involved We welcome contributions, amendments & modifications to this education kit. For details, please click on the following links: * [How to contribute](https://github.com/arm-university/Rapid-Embedded-Education-Kit/blob/main/Contributions_and_Modifications/Contributions_And_Modifications.md) * [Type of modifications](https://github.com/arm-university/Rapid-Embedded-Education-Kit/blob/main/Contributions_and_Modifications/Desired_Contributions.md) we are looking for. We also use [Projects](https://github.com/arm-university/Rapid-Embedded-Education-Kit/projects) to track progress. * [Workflow](https://github.com/arm-university/Rapid-Embedded-Education-Kit/blob/main/Contributions_and_Modifications/workflow.pdf) ## Kit specification: * A full set of lecture slides, ready for use in a typical 10-12-week undergraduate course (full syllabus below) . * Lab manual with code solutions for faculty. Labs are based on low-cost but powerful Arm-based hardware platforms. * **Prerequisites:** Basics of programming in C / C++. ## Course Aim To produce students who can design and program Arm-based embedded systems and implement them using commercial API. ## Syllabus 1. Introduction to Embedded Systems 1. The Arm Cortex-M4 Processor Architecture 1. Introduction to Arm Cortex-M4 Programming 1. Introduction to the Mbed Platform and CMSIS 1. Digital Input and Output (IO) 1. Interrupts and Low Power Features 1. Analog Input and Output 1. Timer and Pulse-Width Modulation 1. Serial Communication 1. Real-Time Operating Systems 1. Final Project: Audio Player **Extra Reading:** The Arm Cortex-M Processor Architecture: Part 2. ## License You are free to amend, modify, fork or clone this material. See [LICENSE.md](https://github.com/arm-university/Rapid-Embedded-Education-Kit/blob/main/License/LICENSE.md) for the complete license. ## Inclusive Language Commitment Arm is committed to making the language we use inclusive, meaningful, and respectful. Our goal is to remove and replace non-inclusive language from our vocabulary to reflect our values and represent our global ecosystem. Arm is working actively with our partners, standards bodies, and the wider ecosystem to adopt a consistent approach to the use of inclusive language and to eradicate and replace offensive terms. We recognise that this will take time. This course contains references to non-inclusive language; it will be updated with newer terms as those terms are agreed and ratified with the wider community. Contact us at education@arm.com with questions or comments about this course. You can also report non-inclusive and offensive terminology usage in Arm content at terms@arm.com. ------------------------------ In this material, we use the terms ‘Controller’ and 'Target' in the context of the the I2C and SPI protocols, instead of the terms ‘Master’ and ‘Slave’, which were conventionally used until recently. As a result, the related concepts of 'MISO' and 'MOSI' become 'CITO' and 'COTI'.