EmbeddedExpertIO
Need Help? Contact us at:
support@embeddedexpert.io
Course Description Video (Must Watch)

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

Table of Contents

  • Getting Started
  • ​Downloading CubeIDE
  • ​Installing CubeIDE
  • Getting the best out of this training
  • ​Getting the required Documentation
  • ​Setting Up the first project
  • ​Introduction to Cellular Technology
  • ​Comparing Wireless Solutions
  • ​An Overview of Cellular Technology
  • ​Understanding Duplex Transmission and Multiple Access
  • ​Analog and Digital Cellular Technology
  • ​The Evolution of Cellular Technology
  • ​Understanding the GSM Architecture
  • ​Developing the Debug UART Driver
  • ​​Programming : Developing the Debug UART Driver (Part I)
  • ​Programming : Developing the Debug UART Driver (Part II)
  • ​Programming : Developing the Debug UART Driver (Part III)
  • ​Programming : Developing the Debug UART Driver (Part IV)
  • ​Developing the A6 UART Driver
  • ​Programming : Developing the A6 Chip UART Driver
  • ​Developing a Timebase for the System
  • ​Programming : Developing a System Tick (SysTick) Timer Driver
  • ​Developing a First-In-First-Out (FIFO) Data Structure for Managing Data
  • Introduction to FIFOs
  • ​Programming : Developing the FIFO Data Structure for Communication
  • ​Programming : Testing the FIFO
  • ​Developing the A6 GSM Chip Library
  • ​Programming : Copying Data from FIFO to UART
  • ​Programming : Finding responses in the RX Data Stream
  • ​Programming : Implementing an Interrupt Callback to process RX Data Stream
  • ​Programming : Initializing the A6 GSM Chip
  • ​Programming : Running some common commands
  • Developing A6 GSM Embedded Applications
  • ​Programming : Sending SMS Messages
  • ​Programming : Making a Phone Call
  • ​Programming : Dropping a Phone Call
  • ​Programming : Receiving SMS messages
  • ​Programming : Raw SMS messages in the RX Stream
  • ​Developing Some Hardware Modules for Building Real World Examples
  • Programming : Developing the LED Module
  • ​Programming : Developing the Push Button Module
  • ​Programming : Developing the ADC Initialization function
  • ​Programming : Developing the ADC Read function
  • ​Overview of the Real Time Clock (RTC)
  • ​Programming : Developing the RTC Initialization function
  • ​Programming : Developing the RTC Alarm Initialization function (Part I)
  • ​Programming : Developing the RTC Alarm Initialization function (Part II)
  • ​Programming : Developing the RTC Alarm Initialization function (Part III)
  • ​Programming : Developing the RTC Alarm Initialization function (Part IV)
  • ​Programming : Testing the RTC
  • Developing  Some Real World Applications
  • ​Programming : Controlling Hardware from SMS
  • ​Programming : Controlling Hardware from a Phone Call
  • ​Programming : Sending SMS by Hardware Trigger
  • ​Programming : Sending Sensor Data as SMS Triggered by RTC Alarm
  • ​Programming : Sending Sensor Data as SMS Periodically with RTC
  • [BONUS]  Interfacing a Keypad and a Display
  • ​Programming :  Developing the Keypad Driver
  • ​Programming : Developing the OLED Display Driver
A little about me : Israel Ninsaw Gbati
Some of you may have taken some of my embedded systems courses from other online platforms. 
This is my private channel. 

I have been writing embedded firmware for years, I have built embedded devices like consumer products and robotic arms.
Till date I have 
trained over 75,000 students in embedded
 firmware development online till date
...including third year undergraduate university students in-person.

If you have taken any of my courses before you will know I start from the absolute basics, I do not assume that the student has any prior knowledge of the topic under discussion. You will also know that by the end of the course you understand the functions of every register used in developing the particular firmware or driver.

This method is the same for all of my published embedded systems courses. 

Our courses have been reviewed by 1000+ students
Here are some of the reviews

 30 Day Money Back Guarantee

    • Embedded Systems Cellular Firmware Development(GSM) ($99.50 Value) 
    Total Value: $99.50
    For Today Only 29.78
             Your free gift is on its way to your inbox (it may take a few minutes to arrive), but before you go, 
    check out this very special offer, just for you!
    I have got an "ethical bribe" or bonus that I
     want to give you to make sure you take action TODAY.

    Super Cool Bonus 

    Micrium uC/OS-III RTOS Programming From Ground Up on ARM

    This course teaches you how to build real-time applications using Micrium's uC /OS-III, one of the most popular industry grade real-time operating systems for embedded systems.  

    The course gives a detailed overview of the characteristics of the uC/OS real-time kernel, provides a detailed tutorial of the API's to implement the various features of the uC/OS RTOS and then goes on to build some real-time projects .
    (value = $97)