Program Brain Academy

Embedded Engineer Career Path

Find your current skill level and continue your embedded-learning journey through structured live training and practical projects.

Colorful embedded systems career roadmap from electronics and PCB design through Embedded C, IoT, STM32, FreeRTOS and Bootloader

Topics Covered

Electronics Fundamentals
Module 1: Basic Electricity
  • Voltage, Current and Resistance
  • Ohm's Law: V = I × R
  • Series and Parallel Resistance Circuits
  • Kirchhoff's Voltage Law (KVL)
  • Kirchhoff's Current Law (KCL)
  • AC vs DC
  • Frequency, Period and Waveform Basics
Module 2: Resistors
  • Fixed and Variable Resistors
  • Resistor Color Code
Module 3: Capacitors
  • Types of Capacitors
  • Time Constant
  • Polarity in Electrolytic Capacitors
Module 4: Inductors
  • Magnetic Field
  • Time Constant
  • Inductive Reactance
Module 5: Filters
  • Low Pass Filter
  • High Pass Filter
  • Band Pass Filter
  • Decoupling and Coupling Behaviour
  • RLC Behaviour and Impedance
Module 6: Diodes
  • Diode Symbol and LED
  • Forward and Reverse Bias
  • Zener Diode
  • Rectifier Diode
Module 7: Transistors
  • NPN and PNP Transistors
  • Transistor as a Switch
  • Transistor as an Amplifier
Module 8: MOSFETs
  • N-Channel MOSFET
  • P-Channel MOSFET
  • Gate, Drain and Source
  • MOSFET as a Switch
Module 9: Voltage Regulators
  • Linear Regulators
  • Switching Regulators
  • 7805 Voltage Regulator
  • AMS1117 Voltage Regulator
  • LM2596 Buck Converter
Module 10: 555 Timer
  • Astable Mode
  • Bistable Mode
  • Monostable Mode
Module 11: Real-Time Projects
  • Hands-on Projects Using Electronic Components
  • Circuit Design and Testing
  • Hardware Debugging Techniques
  • Practical Embedded Electronics Applications
PCB Design
Module 1: Introduction to PCB Design
  • PCB basics and purpose of PCBs
  • Types: single-layer, double-layer, multilayer, flexible
  • Applications of PCBs
  • Complete PCB design flow
Module 2: Electronic Components & Symbols
  • Resistors, capacitors, inductors, diodes, transistors, ICs, connectors
  • Reading datasheets
  • THT and SMD packages
Module 3: Component Library Creation
  • Creating schematic symbols
  • Creating PCB footprints
  • Linking symbols to footprints
  • Library management
Module 4: Schematic Design
  • Project creation and schematic capture
  • Power symbols, net labels, buses
  • Hierarchical sheets
  • ERC (Electrical Rules Check)
Module 5: Component Selection
  • Reading datasheets
  • Voltage/current ratings
  • Package selection and alternatives
  • BOM preparation
Module 6: PCB Layout Fundamentals
  • Board outline
  • Importing schematic (netlist)
  • Component placement
  • Design rules, layers, keep-out zones
Module 7: PCB Layout & Routing
  • Manual routing
  • Power and signal routing
  • Track width, vias
  • Ground planes and copper pours
Module 8: Advanced PCB Design
  • Decoupling capacitors
  • EMI/EMC considerations
  • Signal integrity
  • Thermal management
  • ESD protection
Module 9: Design Verification
  • DRC (Design Rules Check)
  • ERC review
  • 3D inspection
  • Clearance checking and final verification
Module 10: Gerber Generation
  • Generating Gerber files
  • Drill files
  • BOM and pick-and-place files
  • Verification
Module 11: JLCPCB Manufacturing
  • Uploading Gerber files
  • PCB specifications
  • Cost estimation
  • Ordering and PCBA process
Practical Projects
  • LED Blinker
  • STM32 Development Board
  • ESP32 IoT Board
  • Relay Controller
  • RS485 Interface
  • Motor Driver
  • Industrial Sensor Interface

Level Details

Trainer: Jai

Duration: Approximately 6–8 weeks

Training: Live online classes

Suitable for: Complete beginners

Mini and main projects: Complete a mini project and a main project during this level to apply what you learn.

Topics Covered

Embedded C Programming
Module 1: C Programming Fundamentals
  • Introduction to Embedded C Programming
  • Development Environment & Compiler Setup
  • Structure of a C Program
  • Variables & Data Types
  • Constants & Macros
  • Arithmetic, Relational & Logical Operators
  • Input and Output Functions
  • Decision Making: if, else if, else
  • Switch Case
Module 2: Loops, Functions & Program Flow
  • For Loop
  • While Loop
  • Do While Loop
  • Nested Loops
  • Break & Continue
  • Function Declaration & Definition
  • Functions with Arguments
  • Functions with Return Values
  • Scope of Variables
  • Storage Classes Basics
Module 3: Arrays, Strings & Pointers
  • One-Dimensional Arrays
  • Two-Dimensional Arrays
  • Array-Based Applications
  • String Fundamentals
  • String Manipulation
  • Pointers Fundamentals
  • Pointer Arithmetic
  • Call by Value & Call by Reference
  • Pointers with Arrays
Module 4: Bitwise Programming
  • Binary & Hexadecimal Number Systems
  • Bitwise AND, OR, XOR & NOT
  • Left Shift & Right Shift
  • Setting, Clearing & Toggling Bits
  • Bit Masking
  • Register-Oriented Bit Manipulation
  • Practical Bitwise Programming Tasks
Module 5: Structures & Advanced C Concepts
  • Structures
  • Unions
  • Enumerations
  • Typedef
  • Preprocessor Directives
  • Header Files
  • Static & Extern Keywords
  • Const & Volatile Keywords
Module 6: Practical Programming Exercises
  • Star Pattern Program
  • Armstrong Number Program
  • Password Checking Application
  • UART Data Handling Logic
  • Bitwise Control Application
  • Menu-Driven Embedded Application
Module 7: Main Project
  • Requirement Analysis
  • Program Flow Design
  • Modular Code Development
  • Debugging & Testing
  • Hands-on Embedded C Programming Project
Embedded Systems & IoT
Embedded Introduction
  • What is an embedded system?
  • Classification of Embedded System
  • Microprocessor and Microcontroller
  • Intro to Arduino and ESP32
Software Installations
  • Arduino IDE
  • Node.js, Node-RED
I/O Programming
  • What is digital and analog
  • Intro to Digital and Analog I/Os
  • LED and button interface — Why Pull-Down Resistor
  • Demonstrate Digital and Analog I/Os
Communication Protocols
  • WiFi and Bluetooth
  • UART
  • I2C
  • SPI
Sensor Interfacing
  • Intro to sensors and how they work
  • Digital and analog sensors
  • PIR, IR, Ultrasonic, DHT11, LDR, Soil Moisture sensors
  • MPU-6050, Heart rate sensor
Motor Control
  • Motor Control by L293D IC
  • Servo Motors
Display Interface
  • 7 Segment Displays
  • Two 7 Segment Displays interference
  • LCD and I2C interface
Timers and Interrupts
  • Timer and interrupts concepts
  • PWM concept
Introduction to IoT
  • What is IoT and Cloud
Connect ESP32 with WiFi
  • How to connect ESP32 via WiFi
  • Demonstration
Cloud Connection
  • Connect to ThingSpeak
  • Data sending and receiving
  • Connect to Firebase
  • IFTTT
  • Mini project: Weather monitoring
IoT Protocols
  • WiFi
  • HTTP
  • UDP
  • MQTT
  • Hotspot access
IoT Automations (Projects)
  • Automation using Blink
  • Automation with Google Assistant
  • How to make your own website using ESP32
  • How to control LEDs using that website

Level Details

Trainer: Akash

Duration: Approximately 6–8 weeks

Requirement: Level 1 or assessment

Training: Live practical classes

Mini and main projects: Complete a mini project and a main project during this level to apply what you learn.

Topics Covered

STM32 HAL Programming
Module 1: STM32 and STM32CubeIDE Setup
  • STM32 family and Cortex-M overview
  • STM32CubeIDE installation and project creation
  • CubeMX pinout and clock configuration
  • ST-Link programming and debugging
  • Reading datasheets and reference manuals
Module 2: HAL GPIO and External Interrupts
  • HAL driver structure and generated code
  • GPIO input and output configuration
  • Push-button and LED interfacing
  • EXTI interrupt configuration
  • Interrupt callbacks and debouncing
Module 3: Timers and PWM
  • General-purpose timer configuration
  • Timer interrupts and callbacks
  • Input capture and output compare
  • PWM generation
  • Servo and DC motor control
Module 4: ADC and DMA
  • ADC fundamentals and configuration
  • Single and continuous conversion
  • Multi-channel ADC scanning
  • DMA fundamentals
  • ADC with DMA data acquisition
Module 5: UART Communication
  • Polling, interrupt and DMA modes
  • Transmit and receive APIs
  • Command parsing and ring buffers
  • Serial debugging
  • Error and timeout handling
Module 6: I2C and SPI
  • I2C master communication
  • Interfacing EEPROMs and sensors
  • SPI master communication
  • Interfacing displays and external devices
  • Protocol debugging with a logic analyzer
Module 7: System Integration Project
  • Reusable driver development
  • Sensor, display and communication integration
  • Non-blocking firmware design
  • Debugging and validation
  • Complete STM32 HAL application
STM32 Bare-Metal Programming
Module 1: STM32 Introduction & Development Setup
  • Introduction to STM32 Microcontrollers
  • ARM Cortex-M Architecture Basics
  • STM32 Architecture & Features
  • Datasheet & Reference Manual Analysis
  • STM32 Custom Board Hardware Overview
  • Development Software & Hardware
  • Creating and Programming the First Project
Module 2: Registers & Programming Fundamentals
  • What is a Register?
  • Memory-Mapped Registers
  • Bitwise Operators
  • Register Access Methods
  • Setting, Clearing & Reading Register Bits
  • Peripheral Register Configuration
Module 3: Clock & System Configuration
  • STM32 Clock System Basics
  • HSI & HSE Clock Sources
  • PLL Basics
  • Peripheral Clock Configuration
  • System Clock Configuration
Module 4: Debugging & Development Tools
  • STM32 Debugging Fundamentals
  • Breakpoints & Watch Variables
  • Register-Level Debugging
  • ST-Link Debugger
  • Logic Analyzer / Digital Storage Oscilloscope (DSO)
Module 5: GPIO Programming
  • GPIO Register Configuration
  • Digital Input & Output
  • LED Interfacing
  • Push Button Interfacing
  • Pull-up & Pull-down Configuration
  • External Interrupts
Module 6: Interrupts & NVIC
  • Interrupt Fundamentals
  • NVIC Basics
  • Interrupt Service Routine (ISR)
  • External Interrupt Configuration
  • Interrupt Priority Basics
Module 7: Timers & PWM
  • Timer Fundamentals
  • Timer Register Configuration
  • Timer Interrupts
  • ISR-Based Timers
  • PWM Fundamentals
  • PWM Generation
Module 8: Analog & ADC
  • ADC Fundamentals
  • ADC Register Configuration
  • Reading Analog Inputs
  • Potentiometer & Sensor Interfacing
Module 9: Communication Protocols
  • UART Fundamentals
  • UART Transmit & Receive
  • SPI Fundamentals
  • SPI Programming
  • I2C Fundamentals
  • I2C Programming
Module 10: Peripheral Interfacing
  • Seven-Segment Display
  • 16x2 LCD Interfacing
  • Sensor Interfacing
  • Motor & PWM Applications
Module 11: Mini Projects
  • GPIO-Based Application
  • Timer & PWM Application
  • ADC Sensor Monitoring
  • UART Communication Project
Module 12: Main Project
  • Complete Bare-Metal STM32 Application
  • Peripheral Integration
  • Hardware Testing & Debugging
  • Final Project Development

Level Details

Trainer: Lead Trainer

Duration: Approximately 8–10 weeks

Requirement: Level 2 or assessment

Training: Live hands-on classes

Mini and main projects: Complete a mini project and a main project during this level to apply what you learn.

Topics Covered

STM32 FreeRTOS
Module 1: RTOS Foundations
  • Super-loop limitations
  • Real-time system concepts
  • Scheduler, kernel and context switching
  • Hard and soft real-time requirements
  • FreeRTOS integration with STM32CubeIDE
Module 2: Tasks and Scheduling
  • Task creation and deletion
  • Task states and priorities
  • Pre-emptive and cooperative scheduling
  • Delays and periodic execution
  • Stack sizing and runtime statistics
Module 3: Queues and Task Communication
  • Queue creation and operation
  • Passing data safely between tasks
  • Producer-consumer design
  • Queue sets overview
  • ISR-to-task communication
Module 4: Semaphores and Mutexes
  • Binary and counting semaphores
  • Mutexes and shared-resource protection
  • Priority inversion
  • Priority inheritance
  • Critical sections
Module 5: Event Groups and Notifications
  • Event groups and synchronization
  • Direct-to-task notifications
  • Software timers
  • Deferred interrupt processing
  • Choosing the correct synchronization primitive
Module 6: Memory and Reliability
  • Static and dynamic allocation
  • FreeRTOS heap implementations
  • Stack overflow detection
  • Deadlock and race-condition prevention
  • Watchdog integration and fault recovery
Module 7: FreeRTOS Project
  • Multi-task sensor monitoring system
  • UART logging task
  • Peripheral resource sharing
  • System timing analysis
  • Testing and debugging with RTOS-aware tools
STM32 Bootloader
Tools and Communication
  • STM32 Bootloader: C Programming
  • Firmware Flasher: Python + PySerial
  • Communication: UART
Module 1: Bootloader Basics
  • Bootloader working principle
  • STM32 startup process
  • Bootloader and application structure
Module 2: Flash Memory
  • STM32 memory map
  • Bootloader and application partitions
  • Application start address
Module 3: UART Protocol
  • Bootloader commands
  • Firmware packet structure
  • ACK, NACK and timeout handling
Module 4: Python Flasher
  • Selecting the .bin file
  • Serial-port communication
  • Sending firmware packets
  • Upload progress and error handling
Module 5: Flash Programming
  • Flash erase and write
  • Firmware verification
  • Flash protection basics
Module 6: Application Jump
  • Vector-table relocation
  • Application validation
  • Jumping from bootloader to application
Module 7: Firmware Integrity
  • Checksum/CRC
  • Detecting corrupted firmware
  • Handling failed updates
Final Project
  • Develop an STM32 UART bootloader in C and a Python application to upload and verify firmware.

Level Details

Trainer: DevaRajan

Duration: Approximately 6–8 weeks

Requirement: Level 3 or assessment

Training: Live mentoring and projects

Bootloader final project: Develop an STM32 UART bootloader in C and a Python application to upload and verify firmware.
One Man Army learning path from Level 1 electronics and PCB design to Level 4 FreeRTOS and Bootloader