We may earn an affiliate commission when you visit our partners.
Course image
Khaled Benkrid, Shuojin Hang, Mark Allen, and Tim Wilmshurst

Embedded systems are everywhere – and Arm-based technologies are the industry standard. Getting started could not be easier. This course includes instructions on how to access to an Mbed simulator (refer to the prerequisites section for more details) so you can apply your new knowledge and skills to prototype and build real-world embedded applications quickly, without the trouble or expense of sourcing hardware.

Read more

Embedded systems are everywhere – and Arm-based technologies are the industry standard. Getting started could not be easier. This course includes instructions on how to access to an Mbed simulator (refer to the prerequisites section for more details) so you can apply your new knowledge and skills to prototype and build real-world embedded applications quickly, without the trouble or expense of sourcing hardware.

From the mobile, wearable, and smart devices of today to the transformative Artificial Intelligence (AI) and 5G powered Internet of Things (IoT) of the near future, embedded systems are the fundamental building blocks of our connected world. As we move from billions to trillions of intelligent, connected devices, it’s crucial that the next generation of engineers have a thorough understanding of how to rapidly build and deploy a modern embedded system solution.

In this course, you will learn the fundamentals of an embedded system and discover why the Arm architecture and processors are particularly well suited for IoT applications.

Our interactive labs have been designed to cover the technical fundamentals, developing in-demand skills essential for any aspiring embedded systems engineer.

You will begin by learning the characteristics of an embedded system, its components, benefits, and constraints, identify cost-performance trade-offs, and explore why the Arm architecture and processors are particularly well suited for the IoT.

You will then apply your new knowledge of digital and analog I/O, interrupts, low power features, timer and pulse width modulation to program an audio wave generator and audio player, and control peripherals along the way.

All of this will be supported by the Mbed API – so no additional hardware is required, you can download and use the simulator right on your own computer.

Over the six modules, you will gain a key overview of:

  • Embedded systems and their importance in modern computing applications
  • Industry-standard Arm-based microcontroller architecture, their features and programming models.

The possibilities for future IoT development and connection are enormous. In order to achieve this vision of the future, many engineers and developers will be needed to imagine and design these connected devices and the technologies they are built on.

The world of embedded systems is your doorway into the IoT, and all the opportunities it has to offer.

What's inside

Learning objectives

  • Learn how to implement real-world embedded system projects on a simulated microcontroller using the mbed api.
  • Modify skeleton code to implement functionality for multiple applications: an audio wave generator, an audio player, and controlling peripherals using analog and digital i/o interfaces, interrupts, timers, and pulse width modulation.
  • Learn key features of arm processors and architectures as the basis of modern embedded computing.
  • Understand applications of embedded systems and how a modern api can help accelerate iot deployment.

Syllabus

The course consists of six modules:
Module 1: Introduction to embedded system
You will be able to explain the characteristics of an embedded system and evaluate its benefits and challenges.
Read more
Module 2: Introduction to the Mbed Platform and CMSIS
You will be able to identify key features of the Mbed platform and run a basic application using the Mbed simulator.
Module 3: Digital I/O
You will be able to control GPIO peripherals using digital input/output interfaces from the Mbed API.
Module 4: Interrupts and Low Power Features
You will be able to explain and implement interrupts for the purpose of controlling peripherals, utilising the Mbed API.
Module 5: Analog I/O
You will be able to implement an audio wave generator whose pitch and volume are controlled by two analog signal inputs, using the Mbed API.
Module 6: Timer and Pulse-width Modulation
You will be able to develop an audio player incorporating timers, tickers, and Pulse Width Modulation using the Mbed API.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by recognized instructors in their respective fields
Builds a strong foundation for beginners in embedded systems
Focuses on the practical application of embedded systems in real-world projects
Utilizes a simulated microcontroller environment, making it accessible without the need for specialized hardware
Emphasizes the use of Arm-based microcontrollers, which are widely used in industry
Covers key concepts and applications of embedded systems, making it relevant to both industry and academia

Save this course

Save Embedded Systems Essentials with Arm: Getting Started to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Embedded Systems Essentials with Arm: Getting Started with these activities:
Review digital and analog I/O
Reinforce your understanding of basic I/O principles before starting the course.
Browse courses on Digital I/O
Show steps
  • Review basic digital I/O concepts such as voltage levels, logic gates, and digital signal processing.
  • Explore analog I/O concepts including signal conditioning, ADC and DAC conversion, and filtering.
Solve coding challenges
Sharpen your programming skills by solving coding challenges related to embedded systems.
Browse courses on Coding
Show steps
  • Find coding challenges online or in textbooks that focus on embedded systems programming.
  • Attempt to solve the challenges without looking at solutions, but don't be afraid to seek help if needed.
  • Review solutions to understand different approaches and best practices.
Practice Embedded Systems Problem Solving
This activity reinforces your understanding of embedded systems concepts and develops your problem-solving skills.
Browse courses on Embedded Systems Design
Show steps
  • Find online tutorials or courses
  • Follow along with the tutorials
  • Complete the practice exercises
  • Attend a workshop or event
Eight other activities
Expand to see all activities and additional details
Show all 11 activities
Attend an embedded systems workshop
Gain practical experience and insights by attending an embedded systems workshop or conference.
Browse courses on Embedded Systems
Show steps
  • Research and identify upcoming embedded systems workshops or conferences.
  • Register for a workshop that aligns with your interests and learning goals.
  • Attend the workshop, take notes, and actively participate in discussions.
  • Follow up with speakers or attendees to expand your network and knowledge.
Develop an External USB Sound Card
Enhance your understanding of digital I/O and peripheral control by building an external sound card.
Show steps
  • Gather the necessary hardware components.
  • Follow a tutorial to assemble the external sound card.
  • Test the external sound card to ensure it functions properly.
Create an embedded systems project blog
Enhance your understanding and share your knowledge by creating a blog that documents your embedded systems projects.
Browse courses on Embedded Systems
Show steps
  • Choose a project idea that interests you and aligns with the course content.
  • Set up a blog and create a posting schedule.
  • Document your project progress, including design choices, code snippets, and troubleshooting tips.
  • Share your blog with classmates and other embedded systems enthusiasts.
Start an embedded systems hobby project
Apply your learning by starting a personal embedded systems project that you are passionate about.
Browse courses on Embedded Systems
Show steps
  • Brainstorm project ideas that align with your interests and skill level.
  • Gather the necessary hardware and software components.
  • Design and develop your project, utilizing the concepts and techniques covered in the course.
  • Test and refine your project until it meets your desired specifications.
  • Share your project with others to showcase your skills and learn from feedback.
Build an Embedded Systems Project
This activity provides hands-on experience in designing, implementing, and testing an embedded system.
Browse courses on Embedded Systems Design
Show steps
  • Identify a project idea
  • Design the hardware and software
  • Build and test the prototype
  • Refine and iterate the design
Contribute to an embedded systems open-source project
Deepen your understanding and make a valuable contribution to the embedded systems community.
Browse courses on Embedded Systems
Show steps
  • Identify an open-source embedded systems project that aligns with your interests and skills.
  • Familiarize yourself with the project's codebase, documentation, and community.
  • Identify an area where you can contribute, such as bug fixes, feature enhancements, or documentation improvements.
  • Submit your contributions to the project and engage in discussions with other contributors.
  • Review and incorporate feedback to improve your contributions.
Create Custom Embedded Systems Library
This activity enhances your understanding of embedded systems programming by developing your own reusable library.
Show steps
  • Identify common functions or tasks
  • Design and implement the library
  • Test and debug the library
  • Document and share the library
Develop an Embedded AI System
This advanced activity challenges you to combine embedded systems and AI concepts for real-world applications.
Show steps
  • Identify a suitable AI application
  • Design and implement the hardware and software
  • Train and deploy the AI model
  • Evaluate and refine the system

Career center

Learners who complete Embedded Systems Essentials with Arm: Getting Started will develop knowledge and skills that may be useful to these careers:
Embedded Software Developer
An Embedded Software Developer designs, develops, and tests software for embedded systems. This course may be useful for someone looking to become an Embedded Software Developer because it provides a foundation in the fundamentals of embedded systems, including hardware and software components, as well as programming and debugging techniques.
Embedded Systems Engineer
An Embedded Systems Engineer designs, develops, and tests embedded systems, which are computer systems that are part of a larger mechanical or electrical system. This course may be useful for someone seeking to become an Embedded Systems Engineer because it provides a foundation in the fundamentals of embedded systems, including hardware and software components, as well as programming and debugging techniques.
Firmware Engineer
A Firmware Engineer designs, develops, and tests firmware, which is the software that runs on embedded systems. This course may be useful for someone looking to become a Firmware Engineer because it provides a foundation in the fundamentals of embedded systems, including hardware and software components, as well as programming and debugging techniques.
System Engineer
A System Engineer designs, develops, and tests systems, which can include embedded systems. This course may be useful for someone looking to become a System Engineer because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Hardware Engineer
A Hardware Engineer designs, develops, and tests hardware for embedded systems. This course may be useful for someone looking to become a Hardware Engineer because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Product Manager
A Product Manager is responsible for the development and marketing of a product. This course may be useful for someone looking to become a Product Manager for embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Project Manager
A Project Manager is responsible for planning and executing projects. This course may be useful for someone looking to become a Project Manager for embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Technical Writer
A Technical Writer creates documentation for technical products, such as embedded systems. This course may be useful for someone looking to become a Technical Writer for embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Sales Engineer
A Sales Engineer sells technical products, such as embedded systems. This course may be useful for someone looking to become a Sales Engineer for embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Marketing Manager
A Marketing Manager is responsible for the marketing of products, such as embedded systems. This course may be useful for someone looking to become a Marketing Manager for embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Business Analyst
A Business Analyst analyzes the business needs of an organization and develops solutions to those needs. This course may be useful for someone looking to become a Business Analyst for embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Consultant
A Consultant provides advice to organizations on how to improve their operations. This course may be useful for someone looking to become a Consultant for embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Teacher
A Teacher teaches students about a particular subject. This course may be useful for someone looking to become a Teacher of embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Researcher
A Researcher conducts research in a particular field. This course may be useful for someone looking to become a Researcher in the field of embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.
Data Scientist
A Data Scientist analyzes data to extract insights. This course may be useful for someone looking to become a Data Scientist for embedded systems because it provides a foundation in the fundamentals of embedded systems, including hardware and software components.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Embedded Systems Essentials with Arm: Getting Started.
Comprehensive guide to ARM system development and will help you understand the key features of ARM processors and architectures.
Provides a comprehensive overview of embedded systems programming using C and GNU development tools.
Provides a comprehensive overview of embedded software development using C.
If you want to learn about low power features in more detail, this book will be a great reference.
Provides a comprehensive overview of the Internet of Things and will help you understand the role of embedded systems in IoT.
Provides a practical guide to machine learning using TensorFlow Lite on embedded devices.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Embedded Systems Essentials with Arm: Getting Started.
Embedded Systems Essentials with Arm: Get Practical with...
Most relevant
M2M & IoT Interface Design & Protocols for Embedded...
Most relevant
Build Your First Internet of Things (IoT) Application on...
Most relevant
Getting Started with Machine Learning at the Edge on Arm
Most relevant
IoT Full Stack Development: Getting Started
Most relevant
IoT Sensors and Devices
Most relevant
Exploring AWS IoT
Most relevant
Securely Connecting AWS IoT Devices to the Cloud
Most relevant
ARM Cortex (STM32) Deep Dive: Mastering Embedded Systems
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser