Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Embedded Wifi Bare-Metal Development From Ground Up™

Packt via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off a Year
One Coursera Plus subscription covers most Professional Certificates on Coursera. 40% off a full year through Dec 2.
Unlock All Certificates
Develop STM32-to-ESP8266 WiFi connectivity from the ground up, including drivers, buffering data structures, web clients, remote control servers, and cloud storage. WiFi connectivity lets embedded devices interact with web APIs, remote users, and cloud storage without relying on heavyweight platforms. This course focuses on bare-metal STM32 development with the ESP8266, giving learners control over the drivers and communication layers behind connected firmware. The learning path begins with development setup, bare-metal context, GPIO testing, networking concepts, and the WiFi protocol. Learners build debug UART and ESP UART drivers, system timebase support, FIFO and circular buffer structures, ESP8266 WiFi connection libraries, and final projects for weather APIs, remote hardware control, and cloud-based sensor-data storage. By constructing the connectivity stack step by step, learners understand how data moves between the microcontroller, WiFi chip, and internet services. The project sequence builds confidence in practical IoT communication; by the end of this course, learners can create STM32 WiFi firmware that supports web clients, servers, and cloud-connected sensor workflows. Embedded firmware developers, IoT learners, and STM32 programmers who want to connect devices to the internet using ESP8266. Useful for those interested in bare-metal WiFi drivers, UART communication, buffering strategies, web APIs, remote control, and cloud sensor-data storage. The course begins with networking concepts before building the STM32 and ESP8266 driver layer. Data structures are introduced when communication management requires them. Final projects combine the library with web API access, remote hardware control, and cloud storage. This course is based on Embedded Wifi Bare-Metal Development From Ground Up™, by Israel Gbati. To be added during Production Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you.

Syllabus

  • Getting Started
    • This module guides learners through the essential setup processes for their development environment, including downloading, installing, and configuring tools and documentation. It also introduces the concept of bare-metal development and provides hands-on practice in setting up a GPIO output driver. By the end, learners will be fully prepared to begin practical coding tasks.
  • Introduction to Network Programming
    • This module introduces key networking concepts and the WiFi protocol, focusing on their role in embedded systems and IoT communication. Learners will explore the history, operational characteristics, and practical applications of WiFi in firmware development. The content helps build foundational knowledge for integrating networking capabilities into IoT devices.
  • Developing the Debug UART Driver
    • This module guides learners through the process of developing a debug UART driver, covering step-by-step implementation, configuration of GPIO pins, parameter settings, writing functions, and testing. It provides practical skills in embedded systems communication and firmware development.
  • Developing the ESP UART Driver
    • This module provides hands-on instruction on developing a UART driver for the ESP platform, focusing on firmware implementation and communication protocols. Learners will gain practical skills in embedded systems development and device communication.
  • Developing a Timebase for the System
    • This module focuses on the implementation of a System Tick (SysTick) Timer Driver, providing learners with practical skills in firmware development and real-time system timing. Students will gain an understanding of how to structure and execute low-level timer operations effectively.
  • Developing a First-In-First-Out (FIFO) Data Structure for Managing Data
    • This module covers the design and implementation of First-In-First-Out (FIFO) data structures for managing data flow in communication systems. Learners will gain hands-on experience with firmware development, focusing on both transmitter and receiver functions. The module also includes testing strategies to ensure reliable data handling.
  • Developing a Circular Buffer Data Structure for Managing Data
    • This module provides an in-depth exploration of circular buffer data structures, focusing on their implementation, management, and testing in embedded systems. Learners will develop skills in initializing, storing, retrieving, and validating data within a circular buffer, with an emphasis on firmware development and IoT communication workflows.
  • Developing an ESP8266 WiFi Connection Library Using the Circular Buffer
    • This module explores the process of building a WiFi connection library for the ESP8266, focusing on station mode, IP address retrieval, multiple connections, and TCP server implementation. Learners will gain hands-on experience in embedding IoT communication features into firmware and configuring essential hardware components.
  • Developing an ESP8266 WiFi Connection Library Using the FIFO
    • This module covers the development of a WiFi connection library for the ESP8266, focusing on firmware implementation, UART communication, and IoT workflows. Learners will gain hands-on experience in building and managing embedded networking functionalities.
  • Final Project 1: Accessing Realtime Weather Information
    • This module teaches learners how to integrate embedded systems with internet-based services, focusing on accessing real-time weather data through OpenWeather.org. It covers the foundational skills needed to connect IoT devices to external APIs and handle network communication. Learners will gain hands-on experience in implementing IoT workflows with real-world data.
  • Final Project 2: Developing a Remote Hardware Control Server
    • This module guides learners through the implementation of a remote hardware control server, focusing on web page creation, hardware module integration, and system validation. It builds practical skills in firmware development and embedded system communication.
  • Final Project 3: Storing Sensor Data in the Cloud
    • This module guides learners through the process of storing sensor data in the cloud, covering ADC configuration, firmware implementation, and IoT connectivity. Learners will gain hands-on experience in testing and integrating embedded systems with cloud-based storage solutions.

Taught by

Packt - Course Instructors

Reviews

Start your review of Embedded Wifi Bare-Metal Development From Ground Up™

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.