mirror of
https://github.com/m3y54m/Embedded-Engineering-Roadmap.git
synced 2026-10-04 21:07:58 +03:00
Compare commits
18
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a1dfa5058 | ||
|
|
65ba823ff1 | ||
|
|
2e6c8bd366 | ||
|
|
c5bc921acf | ||
|
|
639a5f9087 | ||
|
|
2c7a23f7c0 | ||
|
|
087f30af52 | ||
|
|
1b9968e8cc | ||
|
|
7e9e42965b | ||
|
|
21d63623ff | ||
|
|
6bb25ba5c3 | ||
|
|
9ab7761c89 | ||
|
|
6f7e998db6 | ||
|
|
3227c98762 | ||
|
|
2d6523dd8f | ||
|
|
9b45029902 | ||
|
|
812195e7c5 | ||
|
|
7aa5ee7c9f |
Binary file not shown.
@@ -19,12 +19,16 @@ Becoming an embedded engineer requires a broad understanding of both software an
|
||||
#### 🎥 Courses and Youtube Channels
|
||||
|
||||
- [Fastbit Embedded Brain Academy](https://fastbitlab.com/)
|
||||
- [Quantum Leaps, LLC YouTube Channel](https://www.youtube.com/@StateMachineCOM)
|
||||
- [Modern Embedded Systems Programming Course](https://youtube.com/playlist?list=PLPW8O6W-1chwyTzI3BHwBLbGQoPFxPAPM)
|
||||
- [DigiKey YouTube Channel](https://www.youtube.com/@digikey)
|
||||
- [element14 presents YouTube Channel](https://www.youtube.com/@element14presents)
|
||||
- [Ben Eater YouTube Channel](https://www.youtube.com/@BenEater)
|
||||
- [Phil’s Lab YouTube Channel](https://www.youtube.com/@PhilsLab)
|
||||
- [Quantum Leaps, LLC (YouTube Channel)](https://www.youtube.com/@StateMachineCOM)
|
||||
- [DigiKey (YouTube Channel](https://www.youtube.com/@digikey)
|
||||
- [element14 presents (YouTube Channel)](https://www.youtube.com/@element14presents)
|
||||
- [Ben Eater (YouTube Channel)](https://www.youtube.com/@BenEater)
|
||||
- [Phil’s Lab (YouTube Channel)](https://www.youtube.com/@PhilsLab)
|
||||
|
||||
#### 📚 Books
|
||||
|
||||
- [Embedded System Design with ARM Cortex-M Microcontrollers: Applications with C, C++ and MicroPython - Cem Ünsalan, Hüseyin Deniz Gürhan, Mehmet Erkin Yücel](https://link.springer.com/book/10.1007/978-3-030-88439-0)
|
||||
- [A Hands-On Guide to Designing Embedded Systems - Adam Taylor, Dan Binnun, Saket Srivastava](https://www.amazon.com/Hands-Guide-Designing-Embedded-Systems/dp/1630816833)
|
||||
|
||||
#### 🤡 Simulation
|
||||
|
||||
@@ -38,6 +42,7 @@ If you do not have any background in programming embedded systems, Arduino board
|
||||
- [Getting Started with Arduino](https://docs.arduino.cc/learn/starting-guide/getting-started-arduino)
|
||||
- [New Arduino Tutorials](https://youtube.com/playlist?list=PLGs0VKk2DiYw-L-RibttcvK-WBZm8WLEP)
|
||||
- [Arduino in a commercial product?](https://www.youtube.com/watch?v=c5LzsqeSCAc)
|
||||
- [Arduino Project to Product](https://www.youtube.com/playlist?list=PLEBQazB0HUyQd6Fsf5NQ75M9llbi1_j_8)
|
||||
|
||||
#### 🐜 PlatformIO
|
||||
|
||||
@@ -57,7 +62,7 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
#### ⚒️ Projects
|
||||
|
||||
- [STM32 Firmware](https://youtube.com/playlist?list=PLXSyc11qLa1a4Tqbz228dPZfMrs-KRpzA)
|
||||
- [STM32 : Internet Of Things with 4G LTE Modem - Hardware](https://www.udemy.com/course/stm32-internet-of-things-with-4g-lte-modem-hardware/)
|
||||
- [Udemy – STM32 : Internet Of Things with 4G LTE Modem - Hardware](https://www.udemy.com/course/stm32-internet-of-things-with-4g-lte-modem-hardware/)
|
||||
|
||||
> **Note:** It is not necessary to read or watch all of the following materials,
|
||||
> but it is important to study enough to have at least a basic understanding of each topic.
|
||||
@@ -128,6 +133,8 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
#### PCB Design
|
||||
|
||||
- [Create PCBs for Rapid Prototyping](https://www.youtube.com/playlist?list=PLEBQazB0HUyRVK1RpHIjyjuTxn5srz6XM)
|
||||
- [How to Make a Raspberry Pi Compute Module 4 Carrier Board](https://www.youtube.com/playlist?list=PLEBQazB0HUyRwjr761b-MLNEu8FA8WKSG)
|
||||
- [How To Learn PCB Design (My Thoughts, Journey, and Resources) - Phil's Lab #87](https://youtu.be/aODkA2mrimQ)
|
||||
- [KiCad 6 STM32 PCB Design Full Tutorial - Phil's Lab #65](https://youtu.be/aVUqaB0IMh4)
|
||||
- [Intro to KiCad](https://www.youtube.com/watch?v=vaCVh2SAZY4&list=PLEBQazB0HUyR24ckSZ5u05TZHV9khgA1O)
|
||||
@@ -149,10 +156,19 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
- [Introduction to FPGA](https://youtube.com/playlist?list=PLEBQazB0HUyT1WmMONxRZn9NmQ_9CIKhb)
|
||||
- [FPGA Fundamentals](https://nandland.com/fpga-101/)
|
||||
- [FPGA Embedded Design, Part 1 - Verilog](https://www.udemy.com/course/fpga-embedded-design-verilog/)
|
||||
- [FPGA Embedded Design, Part 2 - Basic FPGA Training](https://www.udemy.com/course/fpga-embedded-design-fpgas/)
|
||||
- [FPGA Embedded Design, Part 3 - EDA Tools](https://www.udemy.com/course/fpga-embedded-design-eda-tools/)
|
||||
- [FPGA Embedded Design, Part 4 - Microprocessor Design](https://www.udemy.com/course/fpga-embedded-design-cpu/)
|
||||
- [Udemy – FPGA Embedded Design, Part 1 - Verilog](https://www.udemy.com/course/fpga-embedded-design-verilog/)
|
||||
- [Udemy – FPGA Embedded Design, Part 2 - Basic FPGA Training](https://www.udemy.com/course/fpga-embedded-design-fpgas/)
|
||||
- [Udemy – FPGA Embedded Design, Part 3 - EDA Tools](https://www.udemy.com/course/fpga-embedded-design-eda-tools/)
|
||||
- [Udemy – FPGA Embedded Design, Part 4 - Microprocessor Design](https://www.udemy.com/course/fpga-embedded-design-cpu/)
|
||||
|
||||
### Software Development Life Cycle (SDLC) Models
|
||||
|
||||
- [What is the software development life cycle?](https://www.coderus.com/the-software-development-lifecycle/)
|
||||
- [Embedded Product Development Life Cycle: Four Main Steps](https://www.sam-solutions.com/blog/embedded-product-development-life-cycle/)
|
||||
- [Does agile work with embedded software?](https://www.embedded.com/does-agile-work-with-embedded-software/)
|
||||
- [Scrum for embedded software: Good – but for reasons other than what your manager thinks](https://www.elektrobit.com/trends/scrum-for-embedded-software/)
|
||||
- [What Is Scrum: A Guide to the Most Popular Agile Framework](https://www.scrumalliance.org/about-scrum)
|
||||
- [What Is the V-Model in Software Development?](https://builtin.com/software-engineering-perspectives/v-model)
|
||||
|
||||
### Programming Fundamentals
|
||||
|
||||
@@ -160,12 +176,12 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
- [Grokking Algorithms - Aditya Y. Bhargava ](https://www.manning.com/books/grokking-algorithms)
|
||||
- [Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein](http://mitpress.mit.edu/9780262367509/introduction-to-algorithms/)
|
||||
- [Udemy – Embedded Systems State Machines & Data Structures](https://www.udemy.com/course/embedded-systems-state-machines-data-structures-like-a-pro/)
|
||||
- [Data Structures in C](https://www.sanfoundry.com/c-programming-examples-data-structures/)
|
||||
- [Data Structures - Full Course Using C and C++](https://www.youtube.com/watch?v=B31LgI4Y4DQ)
|
||||
|
||||
#### Design Patterns
|
||||
|
||||
- [Embedded Systems State Machines & Data Structures](https://www.udemy.com/course/embedded-systems-state-machines-data-structures-like-a-pro/)
|
||||
- [Design Patterns for Embedded Systems in C - Bruce Powel Douglass](https://www.oreilly.com/library/view/design-patterns-for/9781856177078/)
|
||||
|
||||
#### State Machines / UML
|
||||
@@ -174,16 +190,19 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
- [Event-Driven Programming](https://www.youtube.com/playlist?list=PLPW8O6W-1chx8Y7Oq2gOE0NUPXmQxu2Wr)
|
||||
- [Embedded System Design using UML State Machines](https://www.udemy.com/course/embedded-system-design-using-uml-state-machines/)
|
||||
|
||||
#### Memory Allocation
|
||||
#### Memory Management
|
||||
|
||||
- [Understanding the C runtime memory model](https://www.youtube.com/watch?v=3F3lp_F2YpQ)
|
||||
- [Dynamic Memory Allocation | C Programming Tutorial](https://www.youtube.com/watch?v=R0qIYWo8igs)
|
||||
- [What is Memory Leak in C/C++? How can we avoid?](https://aticleworld.com/what-is-memory-leak-in-c-c-how-can-we-avoid/)
|
||||
|
||||
### Programming Languages
|
||||
|
||||
#### C
|
||||
|
||||
- [W3Schools C Tutorial](https://www.w3schools.com/c/index.php)
|
||||
- [C Programming for Beginners | Full Course](https://www.youtube.com/watch?v=ssJY5MDLjlo)
|
||||
- [C Programming Tutorials](https://www.youtube.com/playlist?list=PLA1FTfKBAEX4hblYoH6mnq0zsie2w6Wif)
|
||||
- [The C Programming Language - Brian W. Kernighan, Dennis M. Ritchie ](https://www.amazon.com/dp/0131103628?ref_=cm_sw_r_cp_ud_dp_KRZ8M1WTXWVG0HMSRBXA)
|
||||
- [C How to Program - Paul Deitel, Harvey Deitel ](https://deitel.com/c-how-to-program-9-e/)
|
||||
- [Effective C - An Introduction to Professional C Programming - Robert C. Seacord](https://nostarch.com/Effective_C)
|
||||
@@ -192,10 +211,10 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
- [C++ Tutorial for Beginners - Full Course](https://www.youtube.com/watch?v=vLnPwxZdW4Y)
|
||||
- [C++ YouTube Playlist by The Cherno](https://youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb)
|
||||
- [C++ Concurrency in Action - Anthony Williams ](https://www.manning.com/books/c-plus-plus-concurrency-in-action)
|
||||
|
||||
#### Assembly
|
||||
|
||||
- [Udemy – ARM GNU Assembly Programming From Ground Up](https://www.udemy.com/course/arm-gnu-assembly-programming-from-ground-uptm/)
|
||||
- [Assembly Language Programming with ARM – Full Tutorial for Beginners](https://www.youtube.com/watch?v=gfmRrPjnEw4)
|
||||
|
||||
#### Python
|
||||
@@ -213,8 +232,7 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
### Build System
|
||||
|
||||
#### GCC
|
||||
#### Makefile
|
||||
#### GCC & Make
|
||||
|
||||
- [GCC and Make - Compiling, Linking and Building C/C++ Applications](https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html)
|
||||
|
||||
@@ -222,7 +240,7 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
- [How to CMake Good](https://youtube.com/playlist?list=PLK6MXr8gasrGmIiSuVQXpfFuE1uPT615s)
|
||||
|
||||
#### Bash Script
|
||||
#### Bash Scripting
|
||||
|
||||
- [Bash scripting cheatsheet](https://devhints.io/bash)
|
||||
- [Bash Scripting Tutorial for Beginners](https://www.youtube.com/watch?v=tK9Oc6AEnR4)
|
||||
@@ -245,11 +263,12 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
### Microcontrollers
|
||||
|
||||
- [Make: AVR Programming - Elliot Williams](https://www.oreilly.com/library/view/make-avr-programming/9781449356484/)
|
||||
- [Mastering STM32 - Carmine Noviello](https://leanpub.com/mastering-stm32)
|
||||
- [Mastering STM32 - Carmine Noviello](https://leanpub.com/mastering-stm32-2nd)
|
||||
- [Getting Started with STM32 and Nucleo](https://youtube.com/playlist?list=PLEBQazB0HUyRYuzfi4clXsKUSgorErmBv)
|
||||
- [Microcontroller Embedded C Programming: Absolute Beginners](https://www.udemy.com/course/microcontroller-embedded-c-programming/)
|
||||
- [Embedded Systems STM32 Low-Layer APIs(LL) Driver Development](https://www.udemy.com/course/embedded-systems-stm32-low-level-ll-driver-development/)
|
||||
- [Embedded Systems STM32 HAL APIs Driver Development](https://www.udemy.com/course/embedded-systems-stm32-hal-apis-driver-development/)
|
||||
- [Intro to Raspberry Pi Pico and RP2040](https://www.youtube.com/playlist?list=PLEBQazB0HUyQO6rJxKr2umPCgmfAU-cqR)
|
||||
- [Udemy – Microcontroller Embedded C Programming: Absolute Beginners](https://www.udemy.com/course/microcontroller-embedded-c-programming/)
|
||||
- [Udemy – Embedded Systems STM32 Low-Layer APIs(LL) Driver Development](https://www.udemy.com/course/embedded-systems-stm32-low-level-ll-driver-development/)
|
||||
- [Udemy – Embedded Systems STM32 HAL APIs Driver Development](https://www.udemy.com/course/embedded-systems-stm32-hal-apis-driver-development/)
|
||||
|
||||
#### GPIO
|
||||
|
||||
@@ -298,7 +317,7 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
#### Bootloader
|
||||
|
||||
- [How to Create a Super Simple Bootloader](https://www.youtube.com/watch?v=OkUQ3iMmiYQ&list=PLnMKNibPkDnEb1sphpdFJ3bR9dNy7S6mO)
|
||||
- [STM32Fx Microcontroller Custom Bootloader Development](https://www.udemy.com/course/stm32f4-arm-cortex-mx-custom-bootloader-development/)
|
||||
- [Udemy – STM32Fx Microcontroller Custom Bootloader Development](https://www.udemy.com/course/stm32f4-arm-cortex-mx-custom-bootloader-development/)
|
||||
|
||||
#### Power Management
|
||||
|
||||
@@ -312,7 +331,7 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
#### Functional Safety
|
||||
|
||||
- [Functional Safety According to ISO 26262 - Crash Course](https://www.udemy.com/course/iso-26262-crash-course/)
|
||||
- [Udemy – Functional Safety According to ISO 26262 - Crash Course](https://www.udemy.com/course/iso-26262-crash-course/)
|
||||
|
||||
### Interfaces & Protocols
|
||||
|
||||
@@ -338,6 +357,8 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
#### Wireless
|
||||
|
||||
- [Bluetooth Low Energy Fundamentals - Nordic Semiconductor](https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/)
|
||||
- [What is Thread? Low-power IoT Networking for Smart Home Devices | Digi-Key Electronics](https://youtu.be/5CauESYB9-A)
|
||||
- [What is Matter? Unifying IoT Devices for the Smart Home | Digi-Key Electronics](https://youtu.be/vJIEfih9bl0)
|
||||
|
||||
#### Industrial
|
||||
|
||||
@@ -383,6 +404,10 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
- [Operating Systems: Three Easy Pieces - Remzi H Arpaci-Dusseau, Andrea C Arpaci-Dusseau](https://pages.cs.wisc.edu/~remzi/OSTEP/)
|
||||
|
||||
#### Multitasking and Parallel Processing
|
||||
|
||||
- [C++ Concurrency in Action - Anthony Williams](https://www.manning.com/books/c-plus-plus-concurrency-in-action)
|
||||
|
||||
#### Embedded Linux
|
||||
|
||||
- [Introduction to Embedded Linux](https://youtube.com/playlist?list=PLEBQazB0HUyTpoJoZecRK6PpDG31Y7RPB)
|
||||
@@ -408,13 +433,13 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
- [Introduction to Embedded Linux Part 2 - Yocto Project | Digi-Key Electronics](https://www.youtube.com/watch?v=2-PwskQrZac&t=7s)
|
||||
- [Yocto Project Tutorial Series (Basic to Advance)](https://www.youtube.com/playlist?list=PLwqS94HTEwpQmgL1UsSwNk_2tQdzq3eVJ)
|
||||
- [Embedded Linux using Yocto](https://www.udemy.com/course/embedded-linux-using-yocto/)
|
||||
- [Udemy – Embedded Linux using Yocto](https://www.udemy.com/course/embedded-linux-using-yocto/)
|
||||
|
||||
##### Qt
|
||||
|
||||
- [Qt Documentation](https://doc.qt.io/)
|
||||
- [Introduction to Qt / QML](https://www.youtube.com/playlist?list=PL6CJYn40gN6hUXoYdyn4DHUTXfcVDJcfB)
|
||||
- [Multi-Threading and IPC with Qt 5 C++](https://www.udemy.com/course/multi-threading-and-ipc-with-qt-c-plus-plus/)
|
||||
- [Udemy – Multi-Threading and IPC with Qt 5 C++](https://www.udemy.com/course/multi-threading-and-ipc-with-qt-c-plus-plus/)
|
||||
|
||||
#### Real-Time OS
|
||||
|
||||
@@ -426,6 +451,7 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
- [FreeRTOS - Market leading RTOS](https://www.freertos.org)
|
||||
- [Introduction to RTOS](https://www.youtube.com/playlist?list=PLEBQazB0HUyQ4hAPU1cJED6t3DU0h34bz)
|
||||
- [Getting Started With STM32 and Nucleo Part 3: FreeRTOS - How To Run Multiple Threads w/ CMSIS-RTOS](https://www.youtube.com/watch?v=CdpgqpuPSyQ)
|
||||
- [Hands-On RTOS with Microcontrollers: Building real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools - Brian Amos](https://a.co/d/11MSPlo)
|
||||
|
||||
##### Zephyr
|
||||
|
||||
@@ -443,6 +469,10 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
- [RT-Thread | An Open Source Embedded Real-time Operating System](https://www.rt-thread.io/)
|
||||
- [RT-Thread Beginners Guide](https://youtube.com/playlist?list=PLXUV89C_M3G5KVw2IerI-pqApdSM_IaZo)
|
||||
|
||||
##### Mbed OS
|
||||
|
||||
- [Mbed OS](https://os.mbed.com/mbed-os/)
|
||||
|
||||
##### QNX
|
||||
|
||||
- [BlackBerry QNX: Embedded OS, Support, and Services](https://blackberry.qnx.com/en)
|
||||
@@ -458,7 +488,7 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
- [FIR Filter Design and Software Implementation - Phil's Lab #17](https://www.youtube.com/watch?v=uNNNj9AZisM)
|
||||
- [IIR Filters - Theory and Implementation (STM32) - Phil's Lab #32](https://www.youtube.com/watch?v=QRMe02kzVkA)
|
||||
- [Digital Signal Processing (ECSE-4530) Lectures, Fall 2014](https://youtube.com/playlist?list=PLuh62Q4Sv7BUSzx5Jr8Wrxxn-U10qG1et)
|
||||
- [Digital Signal Processing (DSP) From Ground Up in C](https://www.udemy.com/course/digital-signal-processing-dsp-from-ground-uptm-in-c/)
|
||||
- [Udemy – Digital Signal Processing (DSP) From Ground Up in C](https://www.udemy.com/course/digital-signal-processing-dsp-from-ground-uptm-in-c/)
|
||||
- [Real-Time Digital Signal Processing: Fundamentals, Implementations and Applications - Sen M. Kuo, Bob H. Lee, Wenshun Tian](https://www.wiley.com/en-us/Real+Time+Digital+Signal+Processing%3A+Fundamentals%2C+Implementations+and+Applications%2C+3rd+Edition-p-9781118414323)
|
||||
- [Real-Time Digital Signal Processing from MATLAB to C with the TMS320C6x DSPs - Thad B. Welch, Cameron H.G. Wright, Michael G. Morrow](https://www.routledge.com/Real-Time-Digital-Signal-Processing-from-MATLAB-to-C-with-the-TMS320C6x/Welch-Wright-Morrow/p/book/9780367736453)
|
||||
- [Digital Signal Processing - John G. Proakis, Dimitris K. Manolakis](https://a.co/d/75P5PiE)
|
||||
@@ -484,18 +514,18 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
- [MATLAB Tutorials: Getting Started with MATLAB](https://youtube.com/playlist?list=PL7CAABC40B2825C8B)
|
||||
- [Getting Started with Simulink](https://youtube.com/playlist?list=PL484BA2AD3AE4C2D0)
|
||||
- [MATLAB/SIMULINK Bible|Go From Zero to Hero!](https://www.udemy.com/course/matlabsimulink-biblego-from-zero-to-hero/)
|
||||
- [Udemy – MATLAB/SIMULINK Bible|Go From Zero to Hero!](https://www.udemy.com/course/matlabsimulink-biblego-from-zero-to-hero/)
|
||||
|
||||
### Debugging
|
||||
|
||||
#### JTAG / SWD
|
||||
|
||||
- [everyone needs to stop using print debugging (do THIS instead)](https://www.youtube.com/watch?v=3T3ZDquDDVg)
|
||||
- [Guide: Connecting your debugger](https://stm32-base.org/guides/connecting-your-debugger.html)
|
||||
- [STM32 + SWD + ST-Link + CubeIDE | Debugging on Custom Hardware Tutorial - Phil's Lab #4](https://www.youtube.com/watch?v=qMUzLU636s8)
|
||||
|
||||
#### GDB
|
||||
|
||||
- [everyone needs to stop using print debugging (do THIS instead)](https://www.youtube.com/watch?v=3T3ZDquDDVg)
|
||||
- [GDB is REALLY easy! Find Bugs in Your Code with Only A Few Commands](https://www.youtube.com/watch?v=Dq8l1_-QgAc)
|
||||
|
||||
#### OpenOCD
|
||||
@@ -504,11 +534,13 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
### Testing
|
||||
|
||||
- [Test Driven Development for Embedded C - James Grenning](https://www.amazon.com/Driven-Development-Embedded-Pragmatic-Programmers/dp/193435662X)
|
||||
- [Intro to CI/CD](https://youtu.be/1nxGcfIm-TU)
|
||||
|
||||
#### Unit Testing
|
||||
|
||||
- [Embedded C/C++ Unit Testing with Mocks](https://interrupt.memfault.com/blog/unit-test-mocking)
|
||||
- [Unit Testing Principles, Practices, and Patterns - Vladimir Khorikov](https://www.manning.com/books/unit-testing)
|
||||
|
||||
#### Integration Testing
|
||||
|
||||
@@ -522,7 +554,7 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
#### AI/ML Basics
|
||||
|
||||
- [Getting Started with Embedded AI | Edge AI](https://www.udemy.com/course/getting-started-with-embedded-ai-hands-on-experience/)
|
||||
- [Udemy – Getting Started with Embedded AI | Edge AI](https://www.udemy.com/course/getting-started-with-embedded-ai-hands-on-experience/)
|
||||
|
||||
#### TensorFlow
|
||||
|
||||
@@ -534,11 +566,15 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
- [Intro to TinyML Part 1: Training a Neural Network for Arduino in TensorFlow | Digi-Key Electronics](https://www.youtube.com/watch?v=BzzqYNYOcWc)
|
||||
- [Intro to TinyML Part 2: Deploying a TensorFlow Lite Model to Arduino | Digi-Key Electronics](https://www.youtube.com/watch?v=dU01M61RW8s)
|
||||
- [TinyML: Getting Started with TensorFlow Lite for Microcontrollers | Digi-Key Electronics](https://youtu.be/gDFWCxrJruQ)
|
||||
- [TinyML: Getting Started with STM32 X-CUBE-AI | Digi-Key Electronics](https://youtu.be/crJcDqIUbP4)
|
||||
|
||||
### Embedded Security
|
||||
|
||||
#### Cryptography
|
||||
|
||||
- [Understanding AES Encryption Mechanics: BMPS](https://youtu.be/OnhtzFJW_4I)
|
||||
- [Understanding Cryptography: A Textbook for Students and Practitioners - Christof Paar, Jan Pelzl](https://link.springer.com/book/10.1007/978-3-642-04101-3)
|
||||
- [Cryptography and Network Security: Principles and Practice - William Stallings](https://www.pearson.com/en-us/subject-catalog/p/cryptography-and-network-security-principles-and-practice/P200000003477/9780135764213)
|
||||
- [Serious Cryptography: A Practical Introduction to Modern Encryption - Jean-Philippe Aumasson](https://nostarch.com/seriouscrypto)
|
||||
- [MOOC - Security Part2: Basics of cryptography](https://youtube.com/playlist?list=PLnMKNibPkDnFSFh57UFTZLpy-7lZiwTHh)
|
||||
@@ -546,10 +582,17 @@ PlatformIO is a cross-platform, cross-architecture, multiple framework, professi
|
||||
|
||||
#### Secure Boot & Secure Firmware Update
|
||||
|
||||
- [Blinky To Bootloader: Bare Metal Programming Series](https://www.youtube.com/playlist?list=PLP29wDx6QmW7HaCrRydOnxcy8QmW0SNdQ)
|
||||
- [MOOC - Security Part4 : STM32 security in practice](https://youtube.com/playlist?list=PLnMKNibPkDnF0wt-ZI74SflnsBV4yKzkO)
|
||||
- [MOOC - Security Part5 : How to define your security needs](https://youtube.com/playlist?list=PLnMKNibPkDnGqh5OmQWw98ztpf9TeczbC)
|
||||
- [MOOC - Security Part6: STM32 security ecosystem, from theory to practice](https://youtube.com/playlist?list=PLnMKNibPkDnGd7J7fV7tr-4xIBwkNfD--)
|
||||
|
||||
|
||||
### SOFT SKILLS
|
||||
|
||||
- [Soft Skills For Embedded Systems Software Developers](https://www.embeddedrelated.com/showarticle/1470.php)
|
||||
- [10 Skills Every Embedded Engineer Should Have](https://medium.com/@lanceharvieruntime/10-skills-every-embedded-engineer-should-have-dcb867095b91)
|
||||
|
||||
## History
|
||||
|
||||
The idea of creating this roadmap came from [vazeri / Embedded-Engineering-RoadMap-2018](https://github.com/vazeri/Embedded-Engineering-RoadMap-2018) which was well designed but had some flaws and not updated for years.
|
||||
|
||||
Reference in New Issue
Block a user