Practical Low Cost Bare-Metal Bluetooth Development
Published 9/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.64 GB | Duration: 3h 52m
Published 9/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.64 GB | Duration: 3h 52m
Bare-Metal Drivers and Firmware : Bluetooth Classic, Bluetooth Low Energy (BLE) 4.0, Bluetooth Low Energy (BLE) 5.0
What you'll learn
Communicate wirelessly between two STM32 microcontrollers using Bluetooth classic
Communicate wirelessly between two STM32 microcontrollers using Bluetooth Low Energy (BLE)
Controll hardware modules by Bluetooth
Send sensor data periodically over Bluetooth with a Realtime Clock (RTC)
Send sensor data over Bluetooth with RTC triggered alarm.
Requirements
No programming experience needed - I'll teach you everything you need to know.
NUCLOE-F411 Development Board
HC-06 Bluetooth Module
Description
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 ClassicHC-05: Bluetooth ClassicJDY-08: Bluetooth Low Energy (BLE) 4.0HM-10: Bluetooth Low Energy (BLE) 4.0HM-19: Bluetooth Low Energy (BLE) 5.0So, with that understood, let me tell you… Exactly What You’re GettingThis course can be divided into 4 major sections. First SectionThe 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 SectionIn 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 SectionAfter 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 SectionIn 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 deviceSending data over Bluetooth from an STM32 master deviceReceiving data over Bluetooth from an STM32 slave deviceReceiving data over Bluetooth from an STM32 master deviceCommunicating wirelessly between two STM32 microcontrollers using Bluetooth classicCommunicating wirelessly between two STM32 microcontrollers using Bluetooth Low Energy (BLE)Controlling hardware modules by BluetoothSending 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.Please take a look at the full course curriculum. I hope to see you in the course.
Overview
Section 1: Setting Up
Lecture 1 Introduction (Same as Promo Video)
Lecture 2 Downloading CubeIDE
Lecture 3 Installing CubeIDE
Lecture 4 Getting the required documentation
Lecture 5 Getting the required package for bare-metal development
Lecture 6 Testing the project setup
Section 2: Developing the Debug UART Driver
Lecture 7 Overview of the UART Protocol
Lecture 8 Programming : Creating a new workspace
Lecture 9 Programming : Analyzing the UART Documentation
Lecture 10 Programming : Listing out the steps
Lecture 11 Programming : Implementing the UART Initialization function (Part I)
Lecture 12 Programming : Implementing the UART Initialization function (Part II)
Lecture 13 Programming : Implementing the UART Write function
Section 3: Developing the Bluetooth UART Driver
Lecture 14 Programming : Developing the Bluetooth UART Driver
Section 4: Developing a Timebase for the System
Lecture 15 Programming : Writing a System Tick (SysTick) Timer Driver
Section 5: Developing a Circular Buffer Data Structure for Managing Data
Lecture 16 Introduction to the Circular Buffer Data Structure
Lecture 17 Programming : Implementing the Interface file
Lecture 18 Programming : Implementing the Buffer Initialization function
Lecture 19 Programming : Storing Characters into the Buffer
Lecture 20 Programming : Clearing the Buffer
Lecture 21 Programming : Peeking the Buffer
Lecture 22 Programming : Reading from the Buffer
Lecture 23 Programming : Writing to the Buffer
Lecture 24 Programming : Implementing the is_data() function
Lecture 25 Programming : Implementing the is_response() function
Lecture 26 Programming : Finding a Special String in the Received Packet
Lecture 27 Programming : Implementing the Interrupt Callback functions
Section 6: Closing
Lecture 28 Closing Remarks
If you are an absolute beginner to embedded systems, then take this course.,If you are an experienced embedded developer and want to learn how to professionally develop embedded applications for ARM processors, then take this course.