Linux Embedded System Topics and Projects
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Linux Embedded System Topics and Projects
This course is part of Advanced Embedded Linux Development Specialization
Instructor: Daniel Walkes
4,411 already enrolled
Included with
Learn more
Ask Coursera
20 reviews
Recommended experience
20 reviews
Recommended experience
What you'll learn
How to structure a product using Agile Scrum concepts
How to deploy a Buildroot or Yocto based project on Embedded Hardware
Relevant and recent concepts related to Embedded Linux development
Skills you'll gain
- Agile Project Management
- File Systems
- Scrum (Software Development)
- Internet Of Things
- Software Development Methodologies
- Development Testing
- Containerization
- Application Deployment
- Agile Methodology
- Electrical and Computer Engineering
- System Programming
- Embedded Systems
- Software Testing
- Agile Software Development
Details to know
12 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 4 modules in this course
This course is used as the capstone in a three course sequence, including Linux System Programming and Introduction to Buildroot and Linux Kernel Programming and Introduction to Yocto Project. Both of these courses must be completed before starting this course.
This course builds on the content in the previous two prerequisite courses to develop a final project of your choosing targeting Linux device targeting hardware. The final project is delivered using concepts from Agile Scrum. Several pertinent, recent, and relevant Embedded System development related topics are covered as a part of the course curriculum, which you may optionally choose to incorporate into your final project. Linux Embedded Systems Topics and Projects can also be taken for academic credit as ECEA 5307, part of CU Boulderβs Master of Science in Electrical Engineering. This course includes specific hardware and software requirements. Please review the FAQ below for complete details.
This module will provide an overview of the requirements for your Final Project, as well as introduce Agile Scrum concepts we will use for the project development. We'll discuss some Buildroot related hints related to supporting a physical hardware platform for those who plan to use Buildroot in their final project. In addition, we'll cover some topics which are relevant as we move to a physical hardware platform, including bootloaders, device trees, and linux networking
What's included
6 videos4 readings4 assignments1 peer review
6 videosβ’Total 63 minutes
- Agile Overviewβ’12 minutes
- Final Project Overviewβ’18 minutes
- Buildroot Additional Hintsβ’4 minutes
- Bootloaders and Device Trees Part 1β’12 minutes
- Bootloaders and Device Trees Part 2β’13 minutes
- Linux Networking Overviewβ’5 minutes
4 readingsβ’Total 31 minutes
- Course Updates and Accessibility Supportβ’1 minute
- Non-Credit Students: Welcome and Where to Find Helpβ’10 minutes
- Hardware & Software Requirementsβ’10 minutes
- Final Project Proposalβ’10 minutes
4 assignmentsβ’Total 38 minutes
- Agile Overviewβ’30 minutes
- Buildroot Additional Hintsβ’2 minutes
- Bootloaders and Device Tree Part1 & Part 2 β’3 minutes
- Linux Networking Overviewβ’3 minutes
1 peer reviewβ’Total 600 minutes
- Final Project Peer Reviewβ’600 minutes
In this module you will complete the first iteration of your final project implementation. You will also learn about topics which could potentially be incorporated into your final project, or are otherwise relevant for modern embedded system projects, including Linux Device Update, MQTT and IoT, Read Only Root Filesystems, and Application Containers and Docker for Embedded.
What's included
7 videos1 reading4 assignments1 peer review
7 videosβ’Total 92 minutes
- Final Project Sprintsβ’14 minutes
- Linux Device Update Part 1β’10 minutes
- Linux Device Update Part 2β’12 minutes
- Linux Device Update Part 3β’17 minutes
- MQTT and IoT Platformsβ’10 minutes
- Read Only Root Filesystemsβ’14 minutes
- Application Containers and Docker For Embeddedβ’15 minutes
1 readingβ’Total 10 minutes
- Final Project Sprint 1β’10 minutes
4 assignmentsβ’Total 17 minutes
- Linux Device Updateβ’5 minutes
- MQTT and IOTβ’3 minutes
- Read Only Root Filesystemsβ’4 minutes
- Application Containers and Docker For Embeddedβ’5 minutes
1 peer reviewβ’Total 600 minutes
- Final Project Sprint 1β’600 minutes
In this module you will complete the second iteration of your final project implementation. You will also learn about topics which could potentially be incorporated into your final project, or are otherwise relevant for modern embedded system projects, including Git Workflows, C++ Templates and STL, and C Dependency Generation
What's included
5 videos1 reading3 assignments1 peer review
5 videosβ’Total 39 minutes
- Git Workflowsβ’8 minutes
- C++ Templates and STLβ’12 minutes
- C Dependency Generation Part 1 GNU Makeβ’8 minutes
- C Dependency Generation Part 2 Automakeβ’6 minutes
- C Dependency Generation Part 3 CMakeβ’6 minutes
1 readingβ’Total 10 minutes
- Final Project Sprint 2β’10 minutes
3 assignmentsβ’Total 12 minutes
- Git Workflowsβ’2 minutes
- C++ templates and STLβ’5 minutes
- C dependency Generationβ’5 minutes
1 peer reviewβ’Total 600 minutes
- Final Project Sprint 2β’600 minutes
In this module you will complete the third and final iteration of your final project implementation. You will also learn about Software Testing and Software Test strategies releavnt to Embedded System development
What's included
4 videos2 readings1 assignment2 peer reviews
4 videosβ’Total 41 minutes
- Embedded Test Part 1 Conceptsβ’11 minutes
- Embedded Test Part 2 Automated Testingβ’12 minutes
- Embedded Test Part 3 CI-CDβ’12 minutes
- Embedded Test Part 4 TDD and BDDβ’6 minutes
2 readingsβ’Total 20 minutes
- Final Project Sprint 3β’10 minutes
- Final Project Demo Video and Outlineβ’10 minutes
1 assignmentβ’Total 10 minutes
- Embedded Software Testβ’10 minutes
2 peer reviewsβ’Total 660 minutes
- Final Project Sprint 3β’600 minutes
- Final Project Demo Video and Outline Updatesβ’60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.ΒΉ
Instructor
Offered by
Explore more from Software Development
- Status: Free TrialU
University of Colorado Boulder
Course
- Status: Free TrialU
University of Colorado Boulder
Specialization
- Status: Free TrialU
University of Colorado Boulder
Course
- Status: Free TrialU
University of Colorado Boulder
Course
Why people choose Coursera for their career
Frequently asked questions
System Requirements
You must have access to a computer configured with the following specifications to complete this specialization:
Operating System:
Ubuntu 22.04 (64-bit) is required, but Ubuntu 20.04 (64-bit) may also be used. Other versions of Ubuntu, or other distributions, are not officially supported and may not work properly with assignment instructions.
The build system host must use an x86_64 (amd64) architecture. ARM-based systems are not supported.
Windows Subsystem for Linux (WSL) is not supported for ECEA 5306: Linux Kernel Programming and Introduction to Yocto Project, which includes Linux kernel development and Yocto projects. If you plan to continue to this course, please prepare a dedicated build host or virtual machine.
Memory (RAM):
At least 8 GB RAM is recommended. You may be able to complete assignments with less, but 4 GB or less may cause build failures.
Disk Space:
At least 200 GB of free disk space is recommended.
Hardware Requirements
Embedded hardware of a studentβs choosing is required for the final project. Supported boards include:
Raspberry Pi (suitable for Buildroot & Yocto projects)
Raspberry Pi 4 Model B - SparkFun(Approx. $55)
Raspberry Pi 3 B+ - SparkFun(Approx. $44)
Raspberry Pi ZeroW - SparkFun (Approx. $17)
BeagleBone Black (suitable for Buildroot project)
BeagleBone Black Rev C - SparkFun(Approx. $70)
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
More questions
Financial aid available,
