Compare commits

...
Author SHA1 Message Date
Meysam Parvizi 4a1dfa5058 Update README.md 2023-08-08 11:58:08 +03:30
Meysam Parvizi 65ba823ff1 Add SDLC Models 2023-08-08 11:47:16 +03:30
Meysam Parvizi 2e6c8bd366 Update README.md 2023-08-08 01:59:23 +03:30
Meysam Parvizi c5bc921acf Update README.md 2023-08-08 01:33:13 +03:30
Meysam Parvizi 639a5f9087 Update README.md 2023-08-08 01:22:38 +03:30
Meysam Parvizi 2c7a23f7c0 Update README.md 2023-08-07 19:17:06 +03:30
Meysam Parvizi 087f30af52 Update README.md 2023-08-07 16:58:53 +03:30
Meysam Parvizi 1b9968e8cc Update README.md
Add Udemy prefix to courses
2023-08-07 16:48:12 +03:30
Meysam Parvizi 7e9e42965b Update README.md 2023-08-07 15:15:50 +03:30
Meysam Parvizi 21d63623ff Update README.md 2023-08-07 15:08:34 +03:30
Meysam Parvizi 6bb25ba5c3 Update README.md 2023-08-07 02:55:28 +03:30
Meysam Parvizi 9ab7761c89 Update README.md 2023-08-07 02:23:37 +03:30
Meysam Parvizi 6f7e998db6 Update README.md 2023-08-07 02:04:05 +03:30
Meysam Parvizi 3227c98762 Update README.md 2023-08-06 19:48:05 +03:30
Meysam Parvizi 2d6523dd8f Update README.md
Add some books
2023-08-06 19:32:18 +03:30
Meysam Parvizi 9b45029902 Update README.md
Add SOFT SKILLS
2023-08-06 18:45:57 +03:30
Meysam Parvizi 812195e7c5 Update README.md 2023-08-06 14:28:24 +03:30
Meysam Parvizi 7aa5ee7c9f Update README.md 2023-08-06 14:27:11 +03:30
2 changed files with 72 additions and 29 deletions
Binary file not shown.
+72 -29
View File
@@ -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.