Skip to content

Bayt-al-Hikmah/Esp32S3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ESP32-S3 Fundamentals

This course provides a structured introduction to embedded systems, electronics, and low-level microcontroller programming using the ESP32-S3 platform. It is designed for beginners who want to understand both the theoretical foundations of electronics and the practical development of real-world embedded applications with ESP-IDF.

The course is divided into 8 lectures, progressing from basic electrical concepts to multitasking, networking, and wireless communication on the ESP32-S3.

Lectures
Language
Level


πŸ“‹ Table of Contents

  • Course Overview
  • Curriculum
    • Lecture 1 β€” Foundations
    • Lecture 2 β€” ESP-IDF Platform
    • Lecture 3 β€” GPIO, Sensors & Motors
    • Lecture 4 β€” Displays & Devices
    • Lecture 5 β€” Communication Protocols
    • Lecture 6 β€” FreeRTOS & Memory
    • Lecture 7 β€” Wi-Fi Communication
    • Lecture 8 β€” Bluetooth & BLE
  • Prerequisites
  • Learning Path

πŸ“š Course Overview

Category Details
πŸ“š Lectures 8 structured modules
πŸ”Œ Hardware ESP32-S3 Development Board
πŸ’» Framework ESP-IDF
🎯 Level Absolute Beginner β†’ Advanced Embedded
βš™οΈ Languages C / C++
πŸ“‘ Protocols UART Β· SPI Β· IΒ²C Β· Wi-Fi Β· Bluetooth
🧠 Topics GPIO · RTOS · Networking · Drivers · Memory

πŸ“– Curriculum

Lecture 1 β€” Foundations: Electricity, Electronics & Microcontrollers

This lecture starts with the fundamentals of electricity and electronics, then gradually introduces semiconductor devices and microcontrollers.

Topics Covered

  • Static electricity and electric charge
  • Voltage, current, resistance, and power
  • Ohm’s Law and circuit analysis
  • Series and parallel circuits
  • Conductors, insulators, and semiconductors
  • Diodes and transistors
  • Digital vs analogue signals
  • Introduction to embedded systems
  • What is a microcontroller?
  • ESP32-S3 architecture overview

Lecture 2 β€” ESP-IDF Platform: Setup, IDE & Programming Basics

Learn how to configure the ESP-IDF development environment and write your first ESP32-S3 applications.

Topics Covered

  • Exploring the ESP32 family and ESP32-S3 features
  • Installing and configuring ESP-IDF
  • Flashing firmware to the ESP32-S3
  • Project structure in ESP-IDF
  • app_main() entry point
  • Variables and data types
    • int
    • float
    • bool
    • char
  • Operators and expressions
  • Control flow
    • if / else
    • switch
    • for
    • while

Lecture 3 β€” GPIO, Sensors, Actuators & Motors

Learn how to interface the ESP32-S3 with external hardware using GPIO, ADC, PWM, and drivers.

GPIO & Analogue Features

  • GPIO input and output
  • gpio_set_level() and gpio_get_level()
  • Pull-up and pull-down resistors
  • ADC analogue input
  • PWM using LEDC
  • PWM frequency and duty cycle

Sensors & Output Devices

  • LEDs and brightness control
  • Buzzers and tone generation
  • Push buttons
  • LDR (light sensor)
  • Flame sensor
  • Obstacle avoidance sensor
  • Ultrasonic distance sensor (HC-SR04)

Motors

  • DC motors with L298N driver
  • PWM speed control
  • Direction control
  • Servo motor control
  • Stepper motor basics
  • Brushless DC motors (ESC control)

Lecture 4 β€” Displays & Devices

Learn how to interface common display modules with the ESP32-S3.

Topics Covered

  • 7-segment displays
    • Common anode and common cathode
    • Multiplexing
  • MAX7219 LED dot matrix
  • LCD 16Γ—2 displays

Lecture 5 β€” Communication Protocols

Understand how embedded systems communicate with peripherals and other devices.

Communication Protocols

Protocol Speed Wires Common Use
UART Up to 115200+ baud TX/RX Debugging, modules
IΒ²C 100–400 kHz SDA/SCL Sensors, displays
SPI Up to 10+ MHz MOSI/MISO/SCK/CS Displays, SD cards

Topics Covered

  • UART communication
  • Serial debugging
  • IΒ²C master communication
  • SPI communication

Lecture 6 β€” FreeRTOS & Memory

Learn multitasking, task scheduling, and memory management on the ESP32-S3.

Topics Covered

FreeRTOS

  • Tasks and multitasking
  • Task priorities
  • Delays and timing
  • Queues
  • Semaphores
  • Mutexes
  • Dual-core processing basics

Memory Management

  • Stack vs heap
  • SRAM and Flash memory
  • Memory regions on ESP32-S3
  • Dynamic memory allocation
  • PSRAM basics

Lecture 7 β€” Wi-Fi Communication

Build network-enabled embedded applications using the ESP32-S3 Wi-Fi capabilities.

Topics Covered

  • Wi-Fi station mode
  • Access Point (AP) mode
  • Connecting to a router
  • TCP/IP basics
  • HTTP server implementation
  • HTTP request methods
    • GET
    • POST
  • JSON data handling
  • REST APIs
  • Wi-Fi event handling

Lecture 8 β€” Bluetooth & BLE

Learn wireless short-range communication using Bluetooth Classic and BLE.

Topics Covered

  • Bluetooth Classic overview
  • Bluetooth Low Energy (BLE)
  • BLE services and characteristics
  • ESP32-S3 BLE server
  • ESP32-S3 BLE client
  • Sending sensor data over BLE
  • Mobile app communication
  • Wireless device control

πŸ›  Prerequisites

  • No prior programming experience required
  • ESP32-S3 development board
  • USB-C cable
  • Breadboard and jumper wires
  • Basic electronics components
    • LEDs
    • Resistors
    • Push buttons
    • Buzzers
  • Sensors and modules used throughout the course
  • VS Code installed
  • ESP-IDF installed and configured

πŸ—Ί Learning Path

Each lecture builds directly on the previous one.

[L1] Electricity & Electronics          ↓[L2] ESP-IDF & C Programming Basics          ↓[L3] GPIO Β· Sensors Β· Motors          ↓[L4] Displays & External Devices          ↓[L5] Communication Protocols          ↓[L6] FreeRTOS & Memory Management          ↓[L7] Wi-Fi Networking          ↓[L8] Bluetooth & BLE
  • Lecture 1 builds the electronics foundation needed for embedded systems.
  • Lecture 2 introduces ESP-IDF and low-level programming concepts.
  • Lecture 3 focuses on hardware interfacing and control.
  • Lecture 4 introduces display technologies and visual output.
  • Lecture 5 teaches device communication protocols.
  • Lecture 6 explains multitasking and memory management.
  • Lecture 7 enables internet-connected embedded applications.
  • Lecture 8 introduces wireless communication using Bluetooth and BLE.

πŸš€ Goals of This Course

By the end of this course, students will be able to:

  • Understand electronics fundamentals
  • Program the ESP32-S3 using ESP-IDF
  • Interface sensors, displays, and motors
  • Use communication protocols like UART, SPI, and IΒ²C
  • Build multitasking applications with FreeRTOS
  • Create Wi-Fi and BLE-enabled embedded systems
  • Develop real-world IoT applications

πŸ’– Support This Project

If you find this course helpful and would like to support its development, you can contribute via PayPal:

PayPal: alitighiouart2001@gmail.com

Your support helps improve the content, add more projects, and continue building free educational resources for ESP32-S3 and embedded systems learners.

Β© 2026 ESP32-S3 Fundamentals β€” All rights reserved

About

Course and practical examples for learning ESP32-S3 development, including Wi-Fi, Bluetooth, peripherals, and real-world projects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors