EmbeddedExpertIO
Need Help? Contact us at:
support@embeddedexpert.io
         Your free gift is on its way to your inbox, but before you go 
check out this very special offer, just for you!

 Embedded Wifi Bare-Metal Development From Ground Up™

Connect Your Embedded Device to the Internet : STM32, Web Server, Web Client, Cloud Storage etc.

14 hours  | Complete source code included

Some Lesson Previews (2 of 75)

                                    Lesson :  Coding : Getting the IP Address of a Website
                                    Lesson : Coding : Testing the Remote Hardware Control Server
 30 Day Money Back Guarantee
  • Embedded Wifi Bare-Metal Development From Ground Up™ ($59.99 Value)
Total Value: $59.99
NOT UNDERSTANDING THE CODE


Sometimes I could get my firmware to work but I couldn’t understand a large portion of the code.

I didn’t know what some of the registers were doing. "Why do we write this hexadecimal number into that particular register ?" I would often ask.
CODE NOT WORKING - WASTED TIME

Other times I could understand every line of code in the firmware but couldn’t get the firmware to work.
CANNOT BUILD ANYTHING NEW -LACK OF CONFIDENCE, IMPOSTER

Because I wasn’t good enough, I couldn’t build exactly what I wanted if there were no already made drivers and libraries out there that I could use. Worst of all I couldn’t even get another microcontroller to work apart from the microcontroller used in class.
Long story short, I overcame all of this....
I devised a plan to master the fundamentals...
Quickly read the sections of interest in the datasheet...
Created my own firmware development checklist...
Created my own study guide...

I started creating courses to help other people like yourself master embedded systems development in the most efficient way possible, no waste of time, no frustrations. There is no need for you to go through the same roadblocks and frustrations I went through  some years ago.

Welcome to the Embedded WIFI Bare-Metal Development From Ground Up™ course.

This course teaches you how to develop drivers and libraries for connecting your embedded device to the internet.
This course uses the STM32 microcontroller and the ESP8266 WIFI chip. The ESP8266 is a low-cost WIFI chip with a full TCP/IP stack and a microcontroller. If you do not understand what TCP/IP stack means, do not worry, by the end of this course you will understand this and much more.

The course can be divided into four parts. The first part is theoretical. In this part we shall learn about some networking concepts and the fundamentals of the WIFI protocol.

In the next part of the course we shall develop bare-metal drivers for interfacing the ESP8266 chip to the STM32 microcontroller.

After developing our drivers for connecting the ESP8266 chip to the STM32 microcontroller we shall then go ahead and develop efficient data structures for managing communication data between the ESP8266 chip and the STM32 microcontroller.

In the final part we shall combine the drivers and data structures developed in the previous parts to develop a library for connecting to the internet. We shall then go on to use the library to develop a WebServer, a Web Client as well as accomplish tasks such as storing sensor data in the cloud and so much more.

Please take a look at the full course curriculum.

I personally guarantee that by the end of this  course you will be able to accomplish the following
  • ​Develop a Complete WIFI Library for ESP8266 and STM32 Microcontrollers
  • Develop an Embedded WIFI Client for Accessing Web APIs
  • Develop an Embedded Web Server for Controlling Hardware Remotely
  • Develop Bare-Metal Firmware for Storing Sensor Data in the Cloud
  • Develop Bare-Metal Drivers for Connecting ESP8266 to STM32 Microcontrollers
  • Develop First-In-First-Out (FIFO) Data Structure for Managing Communication Data
  • Develop Circular Buffer Data Structure for Managing Communication Data
  • Understand the Fundamentals of the IEEE 802.11 (WIFI) Protocol

What you will need 

  • NUCLEO-STM32F411 DEVELOPMENT BOARD
  • ​ESP8266
  • Getting Started
  • ​Downloading our Integrated Development Environment (IDE)
  • ​Installing our Integrated Development Environment (IDE)
  • ​Downloading the required documentation
  • ​Coding : Understanding the Context of Bare-Metal Development
  • ​Coding : Testing our Setup by Developing a GPIO Output Driver (Pt.1)
  • ​Coding : Testing our Setup by Developing a GPIO Output Driver (Pt.2)
  • ​ Introduction to Network Programming
  • ​Some Networking Concepts and Terms
  • ​Introduction to the WIFI Protocol
  • ​Some History of the WIFI Protocol
  • ​Operational Characteristics of the WIFI Protocol
  • ​Developing the Debug UART Driver
  • ​​ Coding : Listing the Steps
  • ​Coding : Configuring the UART GPIO Pins
  • ​Coding : Configuring the UART Parameters
  • ​Coding : Implementing the UART Write function
  • ​Coding : Testing the Debug UART Driver
  • ​Developing the ESP UART Driver
  • ​Coding : Implementing the ESP UART Driver
  • ​Developing a Timebase for the System
  • ​Coding : Writing a System Tick (SysTick) Timer Driver
  • Final Project 2 : Developing a Remote Hardware Control Server
  • ​Coding : Creating the Webpages
  • ​Coding : Implementing the Hardware Modules
  • ​Coding : Processing the Page Links
  • ​Coding : Implementing the Interactions
  • ​Coding : Testing the Remote Hardware Control Server
  • ​ Final Project 3 : Storing Sensor Data In the Cloud
  • ​Coding : Locating the ADC Bus and Pins
  • ​Coding : Implementing the ADC Initialization Function
  • ​Coding : Implementing the ADC Read Function
  • ​Coding : Testing the ADC Driver
  • ​Coding : Sending the Sensor Data to the Cloud
  • ​Coding : Testing the Cloud Storage
  • ​Coding : Using Multiple Sensors
  • Developing a First-In-First-Out (FIFO) Data Structure for Managing Data
  • ​Introduction to FIFOs
  • ​Coding : Implementing the Transmitter (TX) FIFO Put function
  • ​Coding : Implementing the Transmitter (TX) FIFO Get function
  • ​Coding : Implementing the Receiver (RX) FIFOs
  • ​Coding : Testing the FIFO functions
  • ​Developing a Circular Buffer Data Structure for Managing Data
  • Introduction to the Circular Buffer Data Structure
  • ​Coding : Implementing the Initialization function
  • ​Coding : Storing a Character in the Buffer
  • ​Coding : Finding a Substring within a String
  • ​Coding : Clearing the Buffer
  • ​Coding : Implementing the BufferRead function
  • ​Coding : Writing Data to the Buffer
  • ​Coding : Checking for Data in the Buffer
  • ​Coding : Getting the first Character of a String in the Buffer
  • ​Coding : Finding Response in the Data Stream
  • ​Coding : Getting the next String after a particular String
  • ​Coding : Copying Specific Strings in a Text
  • ​Coding : Integrating a Callback function for the Debug UART
  • ​Coding : Integrating a Callback function for the ESP UART
  • ​Coding : Testing the Circular Buffer Data Structure
  • ​Coding : Testing the Circular Buffer Implementation with the ESP UART Port
  • ​Developing an ESP8266 WiFi Connection Library using the Circular Buffer
  • ​Coding : Enabling Station (STA) mode
  • ​Coding : Connecting to a WIFI Access Point
  • ​Coding : Getting the Local IP Address of the Device
  • ​Coding : Enabling Multiple Connections
  • ​Coding : Creating a TCP Server
  • ​Coding : Sending Data to the Server
  • ​Coding : Hosting a Webpage on the Server
  • ​Coding : Configuring the RESET Pin of the ESP8266 Chip
  • ​Developing an ESP8266 WiFi Connection Library using the FIFO
  • Coding : Cleaning Up the Project
  • ​Coding : Listing the Required String Processing Helper Functions
  • ​Coding : Implementing the String Search Initialization functions
  • ​Coding : Implementing the String Search
  • ​Coding : Moving Data Between the Software FIFO and the UART Hardware
  • ​Coding : Implementing the WIFI UART Callback function
  • ​Coding : Sending Commands to the ESP8266 Chip
  • ​Coding : Resetting the ESP8266 Chip
  • ​Coding : Setting the WIFI Mode
  • ​Coding : Listing all WIFI Access Points
  • ​Coding : Joining a WIFI Access Point (Network)
  • ​Coding : Getting the Local IP Address of the Device
  • ​Coding : Creating a TCP Server
  • ​Coding : Sending TCP Packets to the Remote Server
  • ​Coding : Closing the TCP Connection
  • ​Coding : Getting the IP Address of a Website
  • ​Final Project 1 : Accessing Realtime Weather Information
  • ​Coding : Accessing Realtime Weather Information from OpenWeather.org
My  courses have been reviewed by 1000+ students
Here are some of the reviews
  • ​ Embedded Wifi Bare-Metal Development From Ground Up™ ($59.99 Value)
Total Value: $59.99
For Today Only: $29.78

Now it's time for you also to benefit from the...

Modern Embedded-C 
From Ground Up

 30 Day Money Back Guarantee

Remember, I have no doubt you will love the training but should in case you are not completely satisfied you can request a refund within 30 days of purchase and you shall be fully refunded with no questions asked.

Sounds fair ? 
I know there are some websites out there that offer you something cool for a low price, but then stick you into some program that charges your card every month.
This isn't one of them. There's NO hidden cost.

Thanks for taking the time to read this letter and I hope you enjoy the training!

-Israel N Gbati