
Explore how digital electronics build from transistors to logic gates, create adders and an arithmetic logic unit, and implement peripherals like uart, memory storage concepts and nonvolatile options.
Explain how microcontrollers store programs in program memory and load them into RAM at startup, while ROM remains non-volatile and accessible via peripherals with timing from the oscillator.
Choose a microcontroller by desired peripherals, pins, memory, speed, production life, and price, then interface hardware with gpio and program via a programmer by writing, compiling, and burning code.
Understand microcontroller architecture and memory map, including ARM Cortex-M4 core, RAM, ROM, EEPROM, registers, and buses; learn assembly language basics, addressing modes, and the assembler’s role.
Learn embedded C language fundamentals, from memory storage and variables to pointers, arrays, structs, and unions, plus operators, flow control, and program organization.
Explore how compilers and assemblers translate code to machine instructions, understand instruction sets and architecture, and examine data structures like stack and heap for an embedded engineer.
Explore how ADC reads sensor voltages and how DAC produces outputs. Learn to set analog pins, perform conversions, and use external DAC circuits when needed.
Explore how microcontrollers interface with sensors—digital switches, analog sensors, and communication-based sensors—and how actuators like motors, pumps, buzzers, and displays enable interaction with the world.
Configure microcontroller pins as general purpose input output or fixed peripherals, enabling digital or analog signals and uart or spi communication for data transfer.
Explore how two microcontrollers synchronize for serial communication, comparing synchronous and asynchronous protocols, with dedicated or bit-synchronization clocks, and the roles of arbitration, start and end bits.
Explain topology by comparing ring, star, and bus networks, with CAN bus as a scalable, fault-tolerant choice. Distinguish UART point-to-point links from internet layering, routers, IP addresses, and token-passing schemes.
Demonstrates init of uart on tm4c arm cortex-m launchpad, covering base addresses and memory-mapped registers. Shows enabling ports 0–7, clock and baud setup, and blocking vs non-blocking transmission.
Are you ever curious about how computer systems works? Even the most experience engineers sometimes fail to answer the very basic question because the basic knowledge is sometimes lost somewhere in the midst of all the new and advanced things we learn. Also, the basics get overlooked when we are working on upper layers of coding and application building.
This course delves into the concept of computer systems in a very simple and easy way. There is no practical lab or exam, so it is a stress-free environment, which is key for good learning. We will only have lectures that cover the fundamentals of computers, starting from working of processors and moving to how one is programmed. There is no practical but there are step-by-step instructions on how you can get a microcontroller and get started with your first embedded project. The lectures try to be as contained and to the point as possible.
If this is something that interests you, I will be more than happy to have you in the course.
If you are a beginner, this course can help you understand the basics. If you are at the intermediate level, this will help you brush over the fundamentals and create a mind-map to learn advance things easily.