Master Embedded Systems Development!
The Library Access
Collection of courses and a structured path to mastering the essentials of Firmware and Systems Software Engineering.
Embedded Systems Software Engineering includes writing firmware for micro-controllers and system software for application grade CPUs involving boot-loaders, device trees and higher level operating systems.
While there are several resources available online. Each offers a narrow view of one entity of the several. We have created and organized courses, that will take you from Zero to Hero
in Firmware and Systems Software Engineering.
Bestseller Beginner Intermediate | Delivered by Piyush Itankar Mahmad Bharmal
(4.9) (25 ratings) 731 students
Last updated: 12 June 2025 | English | Half-Yearly and Yearly Access.
includes
One IDEA to master Embedded Programming!!
courses included
This offering is a collection of courses, each of which is deliberately designed to give you insights and hands on experience on critical topics. We will continue to add more courses and content.
There are various starting points towards an end. These are discussed in detail in a later section...
what you learn
Content List
The list below is a complete list of courses, lectures, quizzes, code reviews, projects, notes etc available on the learning portal at the moment. This list is constantly update with new content every few days...
Low Level with Pyjama Brah! (Public Draft)
I am writing a book to teach C by understanding the CPU/Memory programmers model, exploring the ISA for RISC-V, the assembly, writing baremetal firmware/driver, and ends with printing “Hello, World!” on the UART. The book covers lot more than just C. Things like Assembly, Makefile, GDB based Debugging, Linker Scripts, C, Driver Writing etc… The public draft is available for FREE for online reading.
Roadmap and Career Options
This short course focuses on orienting the college graduates and those new to the industry on what the usual roles, responsibilities are and what opportunities they can expect.
The C Language
This course dives into the practical applications of the C language, emphasizing hands-on learning to solidify key concepts. Delivered in an engaging and unconventional style, the lessons go beyond theory, equipping you with the skills to apply C programming in real-world scenarios. By the end of the course, you’ll feel confident in your mastery of the C language, adept at using it alongside the tools and utilities professional C programmers rely on daily.
C Pointers
C pointers are crucial in Firmware and System Software (based on the C language) design. Linux, Unix, FreeRTOs, Zephyr, ThreadX etc kernels use C pointers heavily. This Course dives into the mental models and inner workings of pointers!
C - Mastering Bit Manipulation
A short course on how to think about and do bit manipulation in the C Language
Data Structures (in C)
A short course on understanding, implementing and using data structures in C.
ARM Cortex-M (101) - Understanding the Processor
An introductory course on the ARM Cortex-M CPUs. How to go about learning them.
ARM Cortex-M (102) - Scheduler Design using Assembly
Learn the assembly programming for ARM Cortex-M CPUs by writing a scheduler from scratch, without using any IDE, SDK or boiler plate code. Course is under development. Content will be added when it's ready.
GNU Make and Automation
Make is a build automation tool that automatically updates files in your project based on their dependencies. It's primarily used for compiling source code, but can also be used to run other commands or perform tasks.