This repository contains the source codes and projects from the Embedded Software Development using C++ online course I created in 2021. Although the course is no longer under development and is a bit dated, the concepts are still relevant for people interested in experimenting with embedded software development using tools such as: Keil uVision, STM32CubeMX, STM32CubeIDE, C++, and an STM32 microcontroller. In order to follow the course without issues, it is advisable to use an STM32F401RE Nucleo board.
I have always been a fan of programming microcontrollers at the register level and writing libraries for peripherals like sensors, flash memories, wireless communication modules, etc. I've had the opportunity to do this in a professional setting and for numerous personal projects using the C programming language. Out of curiosity, I experimented with C++ for creating custom libraries for simple components. I enjoyed the process as it allowed me to express certain implementations in easier ways than with plain C, using in-built object-oriented programming features. I found out that there wasn't a lot of content out there on how to use C++ for programming STM32 MCUs, so I authored and published this course with the hopes of sharing my knowledge with enthusiasts in the embedded system community.
.
βββ Embedded_C++
βΒ Β βββ Bluetooth_Controlled_Servo
βΒ Β βββ Extra_codes
βΒ Β βββ HC05
βΒ Β βββ HCSR04 Exercise
βΒ Β βββ Keypad
βΒ Β βββ Keypad2
βΒ Β βββ LCD
βΒ Β βββ STM32F4 Self Driving Car Project
βΒ Β βββ Servo
βββ LICENSE
βββ README.md
- STM32F401RE Nucleo board
- 4x4 Keypad Matrix
- 20x4 LCD
- 10k Potentiometer
- Solderless breadboard
- Connecting wires
- L298N motor driver
- 4 Wheel car chassis
- HC05 bluetooth module
- SG90 servo motor
- 4 Wheels
- 4 TT DC gear motor
- 3 HC-SR04 ultrasonic sensor
- 18650 Li-ion batteries
- Keil uVision 5
- STM32CubeMX
- STM32CubeIDE (optional for majority of the course)
- Self-driving/obstacle avoidance car
- Tic-Tac-Toe game
If you're taking the course, you're expected to implement these projects on your own. However, I have written source codes for these projects that you can run on your target hardware to see how things work.
Course link: https://www.udemy.com/course/embedded-software-development-using-cpp/