Roadmap - Embedded Systems
An introduction to the field of Embedded System Software Engineering.
Start here - If you are looking to get a good idea of what is embedded systems and what are the typical journeys available to you based on your background in Electrical Engineering, Electronics Engineering or Computer Science.
Last Updated: 14 Mar 2026|
English|
365 day Access.
Includes
 ~2 hours 30 mins of recorded lectures.
 9 Lessons.
 Understanding Embedded Systems
 Firmware Engineering
 System Software Engineering
 Key Concepts and Skill set
What you will learn
 
Understand the relation of Embedded with other fields.
 
The difference between Firmware and System Software.
 
What is Firmware Engineering.
 
What is a micro-controller.
 
The idea of memory map and programmer’s model.
 
What is software state machine.
 
Operating System Primitives.
 
What is System Software Engineering.
 
Firmware Engineering - typical roles in the industry.
 
What is Application grade CPU.
 
The idea of Virtual Memory.
 
Higher level Operating System.
 
Systems Software - typical roles in the industry.
Details of Content
Understanding Embedded Systems
An overview of what Embedded Systems is and what the basics one needs to know.
 
what is embedded systems and how it relates to EE, ECE and CS
 
What is firmware and Systems Engineering
Firmware Engineering
Dive into the details of what Firmware engineering means and what are the skills one should have.
 
Understanding What Firmware engineering is
 
Memory Map and the Programmer's model
 
State Machines and OS Primitives
 
Roles and Exploring listing
Systems Software Engineering
Understand the meaning of what System is and what systems programming means in the context of Embedded systems software.
 
HLOS, Application Grade CPU and Virtual Memory
 
Roles and Skills
 
Exploring Opportunities and Skillset
What sets this apart?
 
Assumes no background.
 
Starts from very basics.
 
Explains the difference between Firmware and Systems Software.
 
Live exploration of roles and opportunities.
Instructors
Piyush Itankar
Embedded Engineer (L5), Google
Google, Ex-Intel
Electrical Engineer holding a Master’s degree in Embedded Systems, with a proven track record at industry giants. At Intel, contributed expertise to Navigation Firmware, Bluetooth Driver development, and RF validation software.
Currently thriving as an Embedded Software Engineer at Google, drove innovation in Firmware development for the Power Management Sub-system on Tensor SoCs (Pixel Phones) and presently advancing system software for the Pixel Watch.
Audience
 
Students with interest in learning lower level programming.
 
Firmware and System Software Engineers looking to understand the lower level programming details of the aarch64 architeture.
 
Electrical/Electronics Engineers working on hardware programming.
 
Those curious to understand the boot sequence of an Application grade CPU and attempt booting it from scratch.
Requirements
 
Indented for students.
Reviews
FAQs
What is the difference between these courses (paid) and the content on YouTube?
Some lectures from different courses have been put on YouTube as Preview. The are not structured and jump to a topic. The Courses in the Subscription are well structured and focused on developing a skill.
Is this recommended for beginners?
Yes! The courses are taught as if the learner has no idea about the subject. Each course starts of by ensuring that the basics needed to understand the followup lectures is understood.
Why a subscription model?
We are billed for the hosting and bandwidth by the platform provider. While we would very much like to offer lifetime validity, given the recurring bills, we have to ensure we continue to earn enough to be able to fund the effort and bring more value to our learners. The Monthly plan is for those who cannot afford the yearly subscription but can benefit from burst learning. To get the most out of our content, we recommend subscribing to the yearly plan.
Do I need a special machine configuration to take this course?
No! All you will need is an internet connection and the Chrome browser. The hands-on examples and lab work is based on GitHub codespaces platform. We use GitHub Codespace to ensure that you don’t struggle with the setup and focus on the learnings. You are always free to setup the environment locally. Although, we won’t support that, but you are free to do so. The courses, as much possible use a Emulator target of a real board, so if you wanted to run the code on real board. You can do so.
Why is a GitHub account needed?
The Experiments and Labs are based on the GitHub provided Codespaces virtual machine. Codespaces will enable a common work environment for all the learners and avoid the hassle of special setup.
Can I change my email-id post purchase?
As much as we’d like to support that, your account will be linked to your email-id post purchase.
What name will be printed on the Certificate?
The name you use on the platform will be printed as is on the Certificate when it is generated.
Can I follow the steps on my own PC?
Yes for the most part. Better yet would be if you have a linux machine.
I previously purchased a course from inpyjama/pyjamabrah, any discount for me?
Yes. We can offer a discount on the yearly subscription. Please reach us at
support@pyjamacafe.com and be sure to include the details of your past investment. We will work on a custom discount for you.