Embedded Ethernet Programming with HAL (Udemy.com)
Build Embedded Ethernet Firmware : HTTP, SSI, CGI etc
Created by: BHM Engineering Academy
Last updated February 2023
What you will learn
- Understand the Fundamentals of Networking.
- Understand the Fundamentals of the Light Weight IP (LwIP) Stack.
- Write Drivers for the STM32F7 Ethernet Peripheral using HAL APIs.
- Write Embedded Ethernet Applications for Hosting Webpages
- Write Embedded Ethernet Applications for Controlling Hardware through Webpages.
- Write Embedded Ethernet Applications for Sending Sensor Data to Webpages.
How it compares
Against the other 295 rated Udemy courses in Arduino on CourseDuck:
- Rating4.4 out of 5higher than 50% of them
- Reviews60#245 of 296 by number of reviews
- Length11.1 hourslonger than 82% of them
- Last updatedFebruary 2023earlier than 53% of them
Course Description
Welcome to Embedded Ethernet Programming with HAL Training.
This course is the intermediate level course of a 3 course learning path teaching you how to write drivers for the ethernet peripheral as well as write embedded ethernet firmware for different networking protocols such as http, dhcp etc.
The goal of this course is to teach you how to build real world embedded ethernet applications.
What make this course different from the beginner course ?
In this course we write all the ethernet drivers ourselves using the the STM32 HAL APIs. Unlike the beginner course, in this course we also implement the ethernet interface files linking our ethernet module to the LwIP library ourselves.
The STM32 Hardware Abstraction Layer (HAL) provides a simple, generic multi-instance set of APIs (application programming interfaces) to interact with the upper layers like the user application, libraries and stacks.
In this intermediate course we also implement more examples of embedded ethernet applications.
So with that understood, let me tell you…
Exactly What You’re Getting
This intermediate course can be divided into 4 major sections.
First Section
In the first section we give a short introduction to networking and then explore the ethernet capabilities of the STM32F7 microcontroller.
Second Section
In this section we write drivers for all the peripherals we will be using in the course. We write drivers for the ADC, UART, RCC and GPIO.
Third Section
In the third section we write all the drivers required to fully configure the ethernet module. We will implement a driver for configuring the ethernet gpio pins to operate in RMII mode, we will implement a driver for transmitting packets, another one for receiving packets etc.
It is in this section that we decide on the ethernet parameters such the speed, the duplex, whether to use auto-negotiation or not etc. After configuring the ethernet module we conclude this section by implementing a function that interfaces our ethernet module to the Light Weight IP (LwIP) library. LwIP is a small independent open-source implementation of the TCP/IP protocol stack designed for embedded systems.
Last Section
The final section begins by giving an introduction to Light Weight IP (LwIP) and then goes on to build embedded ethernet applications. Here are some the applications we shall build:
Programming : Checking if the cable is connected
Programming : Getting an IP address from DHCP
Programming : Hosting Webpages with httpd
Programming : Displaying Realtime Data on Webpages with SSI
Programming : Working with Multiple SSI Tags
Programming : Controlling Hardware from WebServers using CGI
Programming : Injecting HTML code into a Webpage using SSI and CGI
Instructor Details
- 4.4 Rating
60 Reviews
BHM Engineering Academy
Bohobiom Engineering is a 21st century Computer Engineering online Academy based in London U.K.
We have experienced instructors in the areas of Assembly Programming, Hardware Engineering, Signal & Image Processing, Embedded Firmware Development, Deep Learning and other high demand 21st century skills.
As of today we have trained over 35,000 happy pupils. Please take a look at our available courses and message us if you have any questions.
More courses by BHM Engineering Academy
Mastering STM32CubeMX 5 and CubeIDE - Embedded Systems (2023)
4.3 (396 Reviews)
Provider: Udemy
Time: 10.1h
$69.99
Embedded Systems STM32 HAL APIs Driver Development (2023)
4.4 (353 Reviews)
Provider: Udemy
Time: 11.3h
$69.99
Advanced Embedded Systems Bare-Metal Programming Ground Up™ (2025)
4.3 (251 Reviews)
Provider: Udemy
Time: 22.6h
$69.99
Embedded Systems STM32 Low-Layer APIs(LL) Driver Development (2023)
4.5 (127 Reviews)
Provider: Udemy
Time: 25.7h
$11.99
Embedded Bootloader Development from Ground Up™ (2023)
4.5 (121 Reviews)
Provider: Udemy
Time: 6.8h
$11.99
More Arduino courses
Learn to Build a Computer (PC) in 2026 - all types!
4.9 (245 Reviews)
Provider: Udemy
Time: 6.1h
$74.99
Raspberry Pi For Beginners - 2026 Complete Course
4.8 (3,105 Reviews)
Provider: Udemy
Time: 10.6h
$89.99
Ultimate Guide to Raspberry Pi : Tips, Tricks and Hacks (2023)
4.8 (2,363 Reviews)
Provider: Udemy
Time: 5.2h
$69.99
Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL (MCU3) (2026)
4.8 (487 Reviews)
Provider: Udemy
Time: 8.1h
$79.99
Arduino Step by Step: Getting Started (2024)
4.7 (8,714 Reviews)
Provider: Udemy
Time: 21.4h
$159.99
Reviews
By Sascha IACOPINI on 8/25/2026
Buona didattica.
By Rajeev Arora on 2/7/2026
Most of the informed initial settings are available thorough STM32CubeMX.
By Rahul Kumar Bansal on 11/7/2025
No theory explanation that can be understand, just coding Source code also not provided
By Markus Vogt on 5/13/2025
So far its amazing
By Austin Eubank on 4/28/2025
I just have two recommendations for you: 1) I found it difficult to hear you. Whatever you need to do to get some volume into your voice, it will be worth it to improve the quality of your courses. 2) I don't see much value in requiring your audience to watch you type (typo) the code out and go through the whole process of building the program. Setup and build the code before you start recording. Then use the video time to explain it and to demonstrate it. You could also make use of some diagrams in your explanations. Take a look at the diagrams generated by doxygen or some other program to help you. Thanks!
By Tomas Zurek on 4/29/2024
The clock for the CPU is not set correctly, because the XTAL is not 25 MHz, it is 8 MHz. See chapter "6.8.1 OSC clock supply" in um1974. Insert the line "#define HSE_VALUE 8000000UL" to "stm32f7xx_hal_conf.h". Then set PLLM to 4 and PLLN to 200 in sysclock_config(). Then delete the line "uart3_set_baudrate( 16000000UL, 115200UL );" from uart3_tx_init().
By Franklin Antonio Salazar Rondon on 4/22/2026
By Anonymized User on 3/10/2026
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100












