Milestone 1: Electrical Engineering Basics
- Basic Electrical Concepts and Circuit Analysis:
- Electrical quantities (current, voltage, resistance).
- Ohm's law and Kirchhoff's laws.
- DC and AC circuits.
- Capacitors, inductors, and transformers.
- Basic circuit analysis techniques.
- Electronic Devices and Circuits:
- Diodes and transistors.
- Operational amplifiers.
- Power supplies.
- Digital logic circuits.
- Basic Knowledge of Signals and Systems:
- Time and frequency domains.
- Analog and digital signals.
- Fourier series and transform.
- Sampling and quantization.
- Basic Knowledge of Control Systems:
- Closed-loop feedback control systems.
- Transfer functions and block diagrams.
- Stability and performance analysis.
- PID controllers.
- Introduction to Microcontrollers and Embedded Systems:
- Microprocessor architecture and design.
- Microcontroller main components.
- Microcontroller vs Microprocessor.
- Memory types and interface with CPU.
- Advanced Topics:
- Power electronics and renewable energy.
- Communication systems and protocols.
- Control of electric drives.
- Electromagnetic compatibility.
Milestone 2: C and Embedded C Programming
- C Programming Language
- Introduction to basic syntax of C.
- How to build C files using command line interface.
- Data types and variable scope vs lifetime.
- Bit manipulation.
- Functions and type casting.
- Array and Pointers.
- C String.
- Keywords (const, volatile, static, extern, register).
- Structure and Union.
- Typedef vs Enum.
- Dynamic allocation.
- Preprocessing directives.
- Embedded C Programming
- Embedded C Definition
- C Compilation Process.
- In-line Assembly (How to write assembly with C code).
- Memory Mapped Registers.
- Modular Programming and Software Layered Architecture Design.
- Critical Section and Call Back Function.
- Synchronous vs. Asynchronous Function.
- Reentrant vs. Non-Reentrant Function.
- Startup code vs bootloader.
- Embedded HW tools (Emulator, Debugger and Flasher).
- Embedded SW tools (Tool-chains, compilers and Simulator).
- Linker script and Makefile.
- Interrupt Handling.
- DMA and watchdog.
- Embedded C interview tricks.
Milestone 3: Interfacing with AVR Microcontrollers
- Learn the basics of microcontrollers
- Introduction to AVR Microcontrollers.
- File architecture and abstraction layer.
- I/O Ports and interfacing with switch, led and seven segment.
- Timer modes (output compare – input capture – PWM – normal – frequency generator).
- External Interrupts.
- Interfacing with EEPROM.
- Analog to digital converter (ADC).
- Interface with keypad and LCD.
- Interface with communication protocol:
- Universal Asynchronous receiver transmitter (UART).
- Inter integrated circuit (I2C).
- Serial peripheral interface (SPI).
-
Develop a basic embedded system project using a microcontroller, such as a traffic light control system or a temperature sensing system:
- Project planning and design
- Breadboarding and prototyping
- Code implementation and debugging
- Testing and validation
Milestone 4: Advanced Embedded Systems
-
Learn about advanced embedded systems concepts such as interrupts, timers, and communication protocols like SPI, I2C, UART, and CAN:
- Interrupt handling and nesting
- Timers and watchdog timers
- Serial Peripheral Interface (SPI) protocol
- Inter-Integrated Circuit (I2C) protocol
- Universal Asynchronous Receiver/Transmitter (UART) protocol
- Controller Area Network (CAN) protocol
-
Study the basics of real-time operating systems (RTOS) and how they can be used in embedded systems:
- Real-time constraints and requirements
- Task scheduling and priorities
- Semaphore and Mutexes
- Memory Management in RTOS
- RTOS for embedded systems
-
Develop an advanced embedded project such as a home automation system or a wireless sensor network using multiple microcontrollers:
- Project planning and design
- Hardware and software interfacing
- Multi-threading and synchronization
- Communication between multiple microcontrollers
- System integration and testing
Milestone 5: Automotive Embedded Systems
-
Study automotive embedded systems, including standards such as AUTOSAR and CAN bus communication:
- Introduction to AUTOSAR architecture and methodology
- CAN bus architecture and protocol
- AUTOSAR software components and APIs
- Diagnostics and calibration of embedded systems in automotive industry
-
Learn about automotive software development processes and standards:
- Automotive SPICE (Software Process Improvement and Capability Determination)
- ISO 26262 (Functional Safety of Road Vehicles)
- Automotive software validation and verification
- Model-Based Design
-
Develop an automotive embedded project, such as an OBD-II diagnostic tool or a car data logger:
- Understanding of vehicle diagnostics and communication protocols
- Design and development of a custom OBD-II diagnostic tool
- Car data logger project design and implementation
- Functional Safety and cybersecurity in automotive systems