EmbeddedExpertIO
Need Help? Contact us at:
support@embeddedexpert.io

Wireless Firmware Engineering Learning Path

8 courses | 112+ hours | Complete Source Code Included

         Your free gift is on its way to your inbox, but before you go 
check out this very special offer, just for you!

1.   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


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.

Previews

2. Embedded Systems Cellular Firmware Development(GSM)

Communicate with your embedded devices using cellular technology : Phone Call, SMS, M2M etc.

 10+ hours | Complete Source Code Included

This course teaches you how to develop drivers and libraries for adding cellular functionality to your embedded device.

This course uses the STM32 microcontroller and the A6 GSM/GPRS chip. The A6 is a low-cost quad band GSM/GPRS chip equipped with  850/900/1800/1900MHz worldwide communication band.  If you do not understand what a band means, do not worry, by the end of this course you will understand this and much more.

The drivers developed in this course will work on almost all cellular chips out there, this is because most of them use the UART for communication.

Some Highlights

  • If you want to understand the concept of a SIM card see section 2
  • If you want to know the difference between 1G, 2G, 3G, 4G, 5G see section 2
  • If you want to know the difference between GSM, LTE, WCDMA, see section 2
  • ​If you want to control hardware modules by SMS see section 10
  • ​If you want to control hardware modules by Phone Call see section 10
  • ​If you want to automatically send SMS or make a Phone Call by hardware trigger see section 10
  • ​If you want to develop a bare-metal realtime clock(RTC) driver see section 9
  • ​If you want to send sensor data by SMS triggered by an RTC alarm see section 10
  • ​If you want to send sensor data as SMS periodically with RTC see section 10

Preview 

 Lesson : Sending Sensor Data as SMS Periodically with RTC
In this lesson we see how to send sensor data as SMS periodically using the RealTime Clock (RTC)
 So with that understood, let me tell you…:

       Exactly What You’re Getting

                 This beginner course can be divided into 3major parts.

       First Part

 In this part we shall learn about some cellular technology concepts and the fundamentals of the GSM architecture.

       Second Part

 In the next part of the course we shall develop bare-metal drivers for interfacing the A6 chip to the STM32 microcontroller. After developing our drivers for connecting the A6 chip to the STM32 microcontroller we shall then go ahead and develop efficient data structures for managing communication data between the A6 chip and the STM32 microcontroller.

       Last Part

 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 cellular network. We shall then go ahead to develop some real world applications.
By the end of this course...

         You Will Be Able To :

  • Understand the Fundamentals of Cellular Technology
  • ​Develop a Complete Library for using Cellular chips with STM32 microcontrollers
  • ​Develop First-In-First-Out (FIFO) Data Structure for Managing Communication Data
  • ​Develop Bare-Metal Firmware for Controlling Hardware Modules by SMS
  • ​Develop Bare-Metal Firmware for Controlling Hardware Modules by Phone Call
  • ​Develop Bare-Metal Firmware for automatically sending SMS or making Phone Call by Hardware Trigger
  • ​Develop Bare-Metal Firmware for automatically sending Sensor data when an RTC alarm occurs
  • ​Develop Bare-Metal Firmware for sending Sensor data periodically by RTC
  • ​Develop a Bare-Metal Realtime Clock (RTC) driver

3. Bluetooth Low Energy (BLE) From Ground Up™

Build BLE Firmware for Microcontrollers. Practices on STM32 boards.

Complete source code included

Welcome to the Bluetooth Low Energy (BLE) From Ground Up™ course.
This practical Bluetooth Low Energy (BLE) course will provide you with a solid in-depth training to be able to build BLE embedded devices and use them to communicate with other smart devices and mobile phone apps. This course aims to provide a solid practical understanding of Bluetooth Low Energy: the protocol, how data is organized, and the key design trade-offs that were made in the creation of the protocol.
Sign up and lets start transmitting some packets.

​-Build Bluetooth Low Energy (BLE) firmware for different use cases
-Understand the Bluetooth Low Energy (BLE) Stack
-Create your own Services and Characteristics
-Build Bluetooth Low Energy Embedded Devices
 -Give a lecture on the Bluetooth Low Energy (BLE) Architecture

Preview

4. Practical Low Cost Bare-Metal Bluetooth Development

Bare-Metal Drivers and Firmware : Bluetooth Classic, Bluetooth Low Energy (BLE) 4.0, Bluetooth Low Energy (BLE) 5.0

 10+ hours | Complete Source Code Included

Hello, welcome to the “Practical Low Cost Bare-Metal Bluetooth Development” course.

As the name implies this course teaches you how to develop bare-metal drivers and libraries for the popular low-cost Bluetooth chips currently on the market.
In this course we cover chips across all Bluetooth protocols: Bluetooth Classic, Bluetooth 4.0 (BLE), Bluetooth 5.0(BLE).
The primary objective of this course is to give you the skillset to professionally develop bare-metal Bluetooth enabled firmware. This is an important course in our embedded wireless development series.
In this course we shall develop bare-metal drivers and libraries ...

....for the following low-cost Bluetooth chips:

  • HC-06: Bluetooth Classic
  • ​HC-05: Bluetooth Classic
  • ​ JDY-08: Bluetooth Low Energy (BLE) 4.0
  • ​HM-10: Bluetooth Low Energy (BLE) 4.0
  • ​HM-19: Bluetooth Low Energy (BLE) 5.0
So with that understood, let me tell you…

Exactly What You’re Getting

This course can be divided into 4 major sections.

First Section

The first section is theoretical. In this section we shall learn about the Bluetooth protocol, its history, and the key differences amongst the various protocols. We shall also compare our selected Bluetooth chips across different parameters so that you will know the right chip to use for a particular use case.

Second Section

In the second section we shall develop bare-metal drivers for interfacing the Bluetooth chip to our STM32 microcontroller. We shall navigate the microcontroller’s reference manual and datasheet to extract the right information to build these drivers.

 Third Section

After developing our drivers for interfacing the Bluetooth chip to our STM32 microcontroller, we shall go a head and develop efficient data structures for managing communication between the Bluetooth chip and our microcontroller.

Last Section

In the last section, we shall combine the drivers and data structures developed in the previous sections to develop a library for each of our Bluetooth chips.

We shall then go on to use the library to develop Bluetooth enabled firmware applications such as:
  • Sending data over Bluetooth from an STM32 slave device to a mobile phone master device
  • ​Sending data over Bluetooth from an STM32 master device
  • Receiving data over Bluetooth from an STM32 slave device
  • ​Receiving data over Bluetooth from an STM32 master device
  • ​Communicating wirelessly between two STM32 microcontrollers using Bluetooth classic
  • Communicating wirelessly between two STM32 microcontrollers using Bluetooth Low Energy (BLE)
  • ​Controlling hardware modules by Bluetooth
  • ​Sending sensor data periodically over Bluetooth with a Realtime Clock (RTC)
  • ​Sending sensor data over Bluetooth with RTC triggered alarm.

As always, no copy/paste. We write each line code from scratch.

    5. Hands-On GPS Bare-Metal Firmware Development

    Develop Bare-Metal GPS Firmware from scratch

     9+ hours | Complete Source Code Included

    Welcome to the Hands-On GPS Bare-Metal Firmware Development course.

    This course teaches you how to develop bare-metal drivers and libraries for receiving and parsing satellite data, in other words to build a complete gps system that is able to tell current longitude, latitude  altitude (position) number of satellites being tracked etc.
    So with that understood, let me tell you…

    Exactly What You’re Getting

    This course can be divided into 4 major sections.

    First Section

    The first section is theoretical. In this section we start by learning about Global Navigation Satellite Systems(GNSS) and then we go on learn about how GPS works and some factors that may affect GPS precision. We shall deal with topics such as:
    • The different Global Navigation Satellite Systems(GNSS) accross the world
    • ​GPS Trilateration
    • Empheris and Almanac
    • ​Using GPS for Geographic Information systems(GIS)
    • ​The GPS Error Budget
    • ​etc

    Second Section

    In the second section we shall develop all the divers to help us debug and implement some realword applications once we have developed all modules of the system. Over here we shall develop :
    • A Timebase to help us generate precise delays
    • ​A UART driver to help us to print out debug information

     Third Section

    In the third section we shall develop a driver to interface our chosen gps module(NEO-6M GPS) to our STM32 microcontroller. We shall then go on to develop efficient data structures for managing communication data between the GPS module and the STM32 microcontroller.

    Last Section

    We shall learn about the GPS NMEA data structure and then combine the driver and data structure developed in the previous sections together with our knowlege of the GPS NMEA data structure to develop a library that will properly parse data received by the GPS module from the satellites so that the data can be presented in a readbable and undserstandable way.

      6. Embedded IR Remote Control with NEC Protocol

      Control your Embedded Device using IR Remote Controls

       9+ hours | Complete Source Code Included

      Hello, Welcome to the Embedded IR Remote Control with NEC Protocol course.

      This course teaches you how develop bare-metal drivers and libraries to enable you to control your embedded device using IR remote controls. Essentially, you should be able to control your embedded device using any remote control you have lying around at home.

      If this is a skill you want to add to your embedded skillset, then take a look at our Embedded IR Remote Control with NEC Protocol course.
      So with that understood, let me tell you…

      Exactly What You’re Getting

      This course can be divided into 4 major sections.

      First Section

      The first section is theoretical. In this section we learn about IR remote control modulation and encoding theory, and also the structure and features of the NEC protocol. Over here we shall deal l with topics such as
      • Amplitude Shift Keying (ASK) modulation vs Frequency Shift Keying Modulation (FSK)
      • Pulse Position Encoding
      • Pulse Width Encoding
      • ​Pulse Distancing Encoding
      • ​Frame Format of the NEC protocol

      Second Section

      In the second section we shall develop all the divers to help us debug and implement some realword applications once we have developed all modules of the system. Over here we shall develop :
      • A Timebase to help us generate precise delays
      • ​An ADC driver to help us sample sensor data when a particular key is pressed on the IR Remote control
      • ​A UART driver to help us to print out debug information
      • ​A GPIO driver to turn on the light when a particular key is pressed on the IR Remote control

       Third Section

      In the third section we shall develop the drivers and library required for interfacing the IR receiver to our microcontroller and decoding the received pulses. Over here we shall develop :
      • An external interrupt driver for detecting edge changes from our IR receiver pin
      • A timer driver for measuring pulse length
        An then we shall develop the library for fully decoding the pulses received by the IR receiver

      Last Section

      Once all the system drivers and library are fully developed, we then develop some real-world applications.

      • Sending We shall develop firmware application for turning on the light based on the key pressed on the remote control
      • ​We shall develop firmware application for sampling and displaying sensor data based on the key pressed
      • ​We shall develop firmware application for displaying the time based on the key pressed.
      • ​We shall develop firmware application for displaying the key pressed on any remote control we have at home, the reason this will work is because most remote controls are based on the NEC protocol.

        7. Wireless System Development with nRF24

        Game Controller | Google Firebase | Remote Dashboard

         24+ hours | Complete Source Code Included

        Welcome to the Wireless System Development with nRF24 course.

        This course teaches you how to build a complete wireless system for data management and system control from scratch using the famous ultra-low power nRF24L01 transceiver.

        This means that by the end of this course you will be able to develop your own end-to-end system for collecting sensor data from a remote location and storing it in local database or in Google Cloud.

        You should also be able to build your own wireless peripherals such as game controllers.
        This course can be divided into 6 major sections.

        First Section

        The first section is theoretical. In this section we learn about the nRF24L01/ nRF24L0+ transceiver and its unique characteristics. We shall treat topics such as :
        • The Radio Control and Operation of nRF24L0
        • The Enhanced ShockBurst Protocol
        • ​The Packet Structure and Data Pipes

        Second Section

        In the second section we shall develop all the divers required to help us debug and implement some realword applications once we have developed all modules of the system. Over here we shall develop :
        • A Timebase to help us generate precise delays
        • ​An ADC driver to help us sample sensor data and sending it to another remote device over the NRF24
        • ​A UART driver to help us to print out debug information
        • ​A GPIO driver for getting user button state in our game controller application.
        • ​A SPI driver for interfacing the nRF24L0 to the STM32 microcontroller

         Third Section

        The third section provides practical python essential training for embedded developers. This section is for developers who are not familiar with the python programming language and those who want to brush up on their python development skills.

        Fourth Section

        The fourth section deals with developing modern GUI desktop application using python and the Kivy framework. In this section we learn how develop complete, packaged, and installable applications from scratch. We shall apply these skills later on to develop the front end of wireless system.

        Fifth Section

        In the fifth section we shall navigate the datasheet of the nRF24L0 transceiver to develop a complete library for configuring and operating the nRF24L0.

        Last Section

        Once our library is complete and we have acquired the skills for developing applications, we shall develop our wireless systems in the sixth section. Over here we shall develop two major applications.
        We shall develop a modern dashboard for receiving sensor data from a remote device and displaying the data. This dashboard shall have other features such as
        • User authentication and,
        • ​Google Firebase Realtime Database storage
        Our second application shall be the famous FlappyBird game. Over here we shall build a wireless game controller to play the FlabbyBird game which we shall develop using python

          8. Embedded NFC Complete System Development

          Bare-Metal NFC Firmware |  Modern Desktop Application

           30+ hours | Complete Source Code Included

          Are you interested in learning how to develop RFID/NFC firmware applications from scratch?

          NFC stands for Near Field Communication. This is how we do things like wireless payment cards, subway cards, bus cards etc.

          So if you are interested in learning how to develop systems such these then take a look at our Embedded NFC Complete System Development pack.

          This pack will take you from knowing nothing about RFID/NFC to building a complete NFC system that includes a robust firmware and modern desktop application with cloud connectivity.
                               This is how we are going to accomplish that.
          The pack is made up of two courses.
          The first course, Embedded RFID/NFC Bare- Metal Development can be broadly divided into a theoretical part and a practical part.


          In the theoretical part we focus on the following:

          Theoretical Part

          • Understanding RFID and its working principles
          • ​Understanding the protocols and architecture of RFID
          • ​Understanding the standards and regulations around RFID
          • ​Understanding the working principles of Near Field Communication (NFC)
          • ​Understanding the differences between RFID and NFC
          • ​Understanding the various NFC card types and their merits
          • ​Understanding the memory organisation and access conditions of MIFARE cards

          Practical Part

          In the practical part we focus on the following:
          • Developing bare-metal drivers for interfacing the MIFARE MFRC522 NFC chips with the STM32 microcontroller
          • ​Developing a library for handling communications between NFC cards and readers
          • ​Developing a firmware application for controlling devices and triggering events using NFC cards and tags.
          The Second course, NFC Desktop Application focuses on developing a modern desktop application for receiving NFC card data and storing the data in the cloud.
            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.

            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 ? 
            Here's a recap of

            EVERYTHING You'll Get

            When You Purchase This AMAZING Offer!

            • 1. Embedded Wifi Bare-Metal Development From Ground Up™ ($59.99 Value)
            • ​2. Embedded Systems Cellular Firmware Development(GSM) ($99.50 Value) 
            • 3. Bluetooth Low Energy (BLE) From Ground Up™ Processors($49.99 Value)
            • 4. Practical Low Cost Bare-Metal Bluetooth Development ($49.99 Value) 
            • 5. Hands-On GPS Bare-Metal Firmware Development ($49.99 Value) 
            • ​6. Embedded IR Remote Control with NEC Protocol ($49.99 Value) 
            • ​7. Wireless System Development with nRF24 ($89.99 Value) 
            • ​8. Embedded NFC Complete System Development ($144.99 Value)
            Total Value: $594.43
            But today, you're getting all of this...
            For Only $257.78