mirror of
https://github.com/m3y54m/Embedded-Engineering-Roadmap.git
synced 2026-10-04 21:07:58 +03:00
Compare commits
71
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
740d39a4ff | ||
|
|
d12fed56d4 | ||
|
|
c0281bf33b | ||
|
|
df23e2d927 | ||
|
|
bd956b1743 | ||
|
|
5ae5a7336a | ||
|
|
5137385766 | ||
|
|
ed21862677 | ||
|
|
f884c71825 | ||
|
|
a969b64f4a | ||
|
|
4a921c486c | ||
|
|
24676992a8 | ||
|
|
ef0e2e4a88 | ||
|
|
8a43d03ff5 | ||
|
|
e963933d68 | ||
|
|
a20e4aca35 | ||
|
|
997e6f7b09 | ||
|
|
2539b6f484 | ||
|
|
4ba2d4a1e3 | ||
|
|
20b620c321 | ||
|
|
1c59b3c8f0 | ||
|
|
05e9d836fe | ||
|
|
f84f0320b1 | ||
|
|
73e3af2d57 | ||
|
|
c0434b7d60 | ||
|
|
18bd3a9abe | ||
|
|
8f8f31b9b4 | ||
|
|
0ace66511f | ||
|
|
fb94514cf4 | ||
|
|
73e7edbe82 | ||
|
|
24039054bf | ||
|
|
f25a3e7930 | ||
|
|
3e0f30c886 | ||
|
|
ece884be57 | ||
|
|
7608392b2d | ||
|
|
b97beec23e | ||
|
|
7b7698aede | ||
|
|
249d971baf | ||
|
|
ccc80662ce | ||
|
|
728ee3137c | ||
|
|
c09b48e5f9 | ||
|
|
cef2989c21 | ||
|
|
ae60ba18d3 | ||
|
|
217af4bbbb | ||
|
|
51a62f7f70 | ||
|
|
c33a104269 | ||
|
|
0b656b23dd | ||
|
|
bf4cd0a1aa | ||
|
|
2207d1145a | ||
|
|
9847c8b7b3 | ||
|
|
7b92c127e4 | ||
|
|
d4ab19536c | ||
|
|
2d7b6f2a23 | ||
|
|
94468297c2 | ||
|
|
c7a06d423f | ||
|
|
c00391832c | ||
|
|
eccff74869 | ||
|
|
e094f76eba | ||
|
|
4620038aaa | ||
|
|
274413eab2 | ||
|
|
5e8ebd6a95 | ||
|
|
27478f814d | ||
|
|
b301601e4d | ||
|
|
ab6f8f4530 | ||
|
|
3a84ada859 | ||
|
|
56af45a87f | ||
|
|
4b006348a9 | ||
|
|
fb673ba8f6 | ||
|
|
bed4b9bce6 | ||
|
|
b9a133446f | ||
|
|
cb966fb251 |
Binary file not shown.
@@ -1,14 +1,16 @@
|
||||
# Embedded Systems Engineering Roadmap
|
||||
|
||||
This roadmap is designed to assist beginners aspiring to build a career as an Embedded Engineer / Developer. To provide comprehensive guidance, the topics have been carefully selected based on current job requirements and organized according to personal experience.
|
||||
This roadmap is designed to assist beginners aspiring to build a career as an Embedded Engineer / Developer. To provide comprehensive guidance, the topics have been carefully selected based on current job requirements and organized according to my personal experience.
|
||||
|
||||
Becoming an embedded engineer requires a broad understanding of both software and hardware. If you are starting on this journey, you must be highly motivated and passionate to pursue this path. The field of embedded systems demands a solid understanding of hardware functionality. But, as the well-known saying goes, "Hardware is hard!". So, patience and passion are the essential qualities that will help you overcome the various challenges encountered along this journey.
|
||||
|
||||
## What is an Embedded System?
|
||||
|
||||
An [***embedded system***](https://www.analog.com/en/design-center/glossary/embedded-system.html) is a system in which the **computer** (generally a microcontroller or microprocessor) is included as an integral part of the system.
|
||||
[Making Embedded Systems](https://www.oreilly.com/library/view/making-embedded-systems/9781449308889/): An embedded system is a **computerized system** that is **purpose built for its application**.
|
||||
|
||||
Often, the computer is relatively **invisible to the user**, without obvious applications, files, or operating systems. Examples of products with invisible embedded systems are the controller that runs a microwave oven or the engine control system of a modern automobile.
|
||||
[Analog Devices](https://www.analog.com/en/design-center/glossary/embedded-system.html): An embedded system is a system in which the **computer** (generally a microcontroller or microprocessor) is included as an integral part of the system. Often, the computer is relatively **invisible to the user**, without obvious applications, files, or operating systems. Examples of products with invisible embedded systems are the controller that runs a microwave oven or the engine control system of a modern automobile.
|
||||
|
||||
[Embedded Systems Glossary](https://barrgroup.com/embedded-systems/glossary-e): A combination of **computer hardware and software**, and perhaps **additional mechanical or other parts**, designed to perform a **dedicated function**. In some cases, embedded systems are **part of a larger system** or product, as in the case of an antilock braking system in a car.
|
||||
|
||||
## Roadmap
|
||||
|
||||
@@ -18,34 +20,47 @@ Often, the computer is relatively **invisible to the user**, without obvious app
|
||||
|
||||
### ⭐️ Featured Material
|
||||
|
||||
#### 🔎 Google
|
||||
#### 🔎 Searching is Your Super Power!
|
||||
|
||||
- [Searching is Your Super Power!](https://www.google.com)
|
||||
- [Google](https://www.google.com)
|
||||
|
||||
#### 🎥 Courses and YouTube Contents
|
||||
|
||||
- [Coursera - Introduction to Embedded Systems Software and Development Environments](https://www.coursera.org/learn/introduction-embedded-systems)
|
||||
- [Coursera - Embedded Software and Hardware Architecture](https://www.coursera.org/learn/embedded-software-hardware)
|
||||
- [Fastbit Embedded Brain Academy](https://fastbitlab.com/)
|
||||
- [edX - Embedded Systems - Shape The World: Microcontroller Input/Output](https://learning.edx.org/course/course-v1:UTAustinX+UT.6.10x+3T2022/home)
|
||||
- [edX - Embedded Systems - Shape The World: Multi-Threaded Interfacing](https://www.edx.org/learn/computer-programming/the-university-of-texas-at-austin-embedded-systems-shape-the-world-multi-threaded-in)
|
||||
- [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)
|
||||
- [Electronic Basics - GreatScott! (YouTube Playlist)](https://youtube.com/playlist?list=PLAROrg3NQn7cyu01HpOv5BWo217XWBZu0)
|
||||
- [Embedded Systems - Jacob Sorber (YouTube Playlist)](https://www.youtube.com/playlist?list=PL9IEJIKnBJjEcPAz6fss-Hx0TLytCOMVC)
|
||||
- [edX - Embedded Systems - Shape The World: Microcontroller Input/Output](https://learning.edx.org/course/course-v1:UTAustinX+UT.6.10x+3T2022/home)
|
||||
- [edX - Embedded Systems - Shape The World: Multi-Threaded Interfacing](https://www.edx.org/learn/computer-programming/the-university-of-texas-at-austin-embedded-systems-shape-the-world-multi-threaded-in)
|
||||
|
||||
#### 📚 Books
|
||||
#### 🛠️ IDEs
|
||||
|
||||
- [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)
|
||||
- [Keil MDK & µVision](https://www.keil.com/)
|
||||
- [IAR Embedded Workbench](https://www.iar.com)
|
||||
- [STM32CubeIDE](https://www.st.com/en/development-tools/stm32cubeide.html)
|
||||
- [Microchip Studio for AVR® and SAM Devices](https://www.microchip.com/en-us/tools-resources/develop/microchip-studio)
|
||||
- [MPLAB® X IDE](https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide)
|
||||
- [MCUXpresso IDE](https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE)
|
||||
|
||||
#### 🤡 Simulation
|
||||
#### 👨💻 VS Code Extensions
|
||||
|
||||
- [Wokwi - Online ESP32, STM32, Arduino Simulator](https://wokwi.com/)
|
||||
- [QEMU - open-source freeware for emulating hardware and devices](https://www.qemu.org/)
|
||||
- [Cortex-Debug](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug)
|
||||
- [STM32 VS Code Extension](https://marketplace.visualstudio.com/items?itemName=stmicroelectronics.stm32-vscode-extension)
|
||||
- [Espressif IDF](https://marketplace.visualstudio.com/items?itemName=espressif.esp-idf-extension)
|
||||
- [MCUXpresso for VS Code](https://marketplace.visualstudio.com/items?itemName=NXPSemiconductors.mcuxpresso)
|
||||
|
||||
##### PlatformIO
|
||||
|
||||
PlatformIO is a cross-platform, cross-architecture, multiple framework, professional tool for embedded systems engineers and for software developers who write applications for embedded products.
|
||||
|
||||
- [PlatformIO - A professional collaborative platform for embedded development](https://platformio.org/)
|
||||
|
||||
PlatformIO is not yet extensively adopted in industrial and large-scale projects, however, it is an excellent choice for individuals working on smaller projects. This is because it greatly reduces the need to install frameworks and setup build and debug tools, allowing you to concentrate on programming.
|
||||
|
||||
#### 🕹️ Arduino
|
||||
|
||||
@@ -54,48 +69,46 @@ If you do not have any background in programming the embedded systems, Arduino b
|
||||
Additionally, the [Arduino Core](https://github.com/arduino/ArduinoCore-API) takes care of most of the low-level operations and manipulation of registers that you, as an embedded engineer, should be able to handle yourself. If you want to become a professional embedded developer, you must be able to effectively use industry-standard APIs and frameworks provided and approved by microcontroller vendors. For example, CMSIS for ARM Cortex, STM32Cube for STM32, ESP-IDF for Espressif microcontrollers, etc.
|
||||
|
||||
- [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)
|
||||
- [New Arduino Tutorials (YouTube Playlist)](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
|
||||
|
||||
PlatformIO is a cross-platform, cross-architecture, multiple framework, professional tool for embedded systems engineers and for software developers who write applications for embedded products.
|
||||
|
||||
PlatformIO is not yet extensively adopted in industrial and large-scale projects, however, it is an excellent choice for individuals working on smaller projects. This is because it greatly reduces the need to install frameworks and setup build and debug tools, allowing you to concentrate on programming.
|
||||
|
||||
- [PlatformIO - A professional collaborative platform for embedded development](https://platformio.org/)
|
||||
- [Arduino Project to Product (YouTube Playlist)](https://www.youtube.com/playlist?list=PLEBQazB0HUyQd6Fsf5NQ75M9llbi1_j_8)
|
||||
|
||||
#### 👨🏫 Educational Websites
|
||||
|
||||
- [DeepBlueMbedded](https://deepbluembedded.com/)
|
||||
- [Interrupt Blog by Memfault](https://interrupt.memfault.com/blog/)
|
||||
- [Microchip University](https://mu.microchip.com/)
|
||||
- [Nordic Developer Academy](https://academy.nordicsemi.com/)
|
||||
- [Electronics Tutorials](https://www.electronics-tutorials.ws)
|
||||
- [SparkFun Learn: Learn at SparkFun Electronics](https://learn.sparkfun.com/)
|
||||
- [Adafruit Learning System](https://learn.adafruit.com/)
|
||||
- [Random Nerd Tutorials | Learn ESP32, ESP8266, Arduino, and Raspberry Pi](https://randomnerdtutorials.com/)
|
||||
- [ControllersTech](https://controllerstech.com/)
|
||||
|
||||
#### ⚒️ Projects
|
||||
|
||||
- [STM32 Firmware - Phil’s Lab (YouTube Playlist)](https://youtube.com/playlist?list=PLXSyc11qLa1a4Tqbz228dPZfMrs-KRpzA)
|
||||
- [Udemy – STM32 : Internet Of Things with 4G LTE Modem - Hardware](https://www.udemy.com/course/stm32-internet-of-things-with-4g-lte-modem-hardware/)
|
||||
|
||||
#### 😈 Hardware Hacking
|
||||
|
||||
- [Hardware Hacking Tutorial (YouTube Playlist)](https://www.youtube.com/playlist?list=PLoFdAHrZtKkhcd9k8ZcR4th8Q8PNOx7iU)
|
||||
- [The Hardware Hacking Handbook: Breaking Embedded Security with Hardware Attacks - Jasper van Woudenberg, Colin O'Flynn](https://a.co/d/gUIytFX)
|
||||
|
||||
|
||||
#### 🗺️ Other Helpful Roadmaps
|
||||
|
||||
- [Embedded Systems Skill Tree](https://github.com/sjpiper145/MakerSkillTree/tree/main/Embedded%20Systems%20Skill%20Tree)
|
||||
- [PCB Design Skill Tree](https://github.com/sjpiper145/MakerSkillTree/tree/main/PCB%20Design%20Skill%20Tree)
|
||||
|
||||
#### ⚒️ Projects
|
||||
|
||||
- [STM32 Firmware](https://youtube.com/playlist?list=PLXSyc11qLa1a4Tqbz228dPZfMrs-KRpzA)
|
||||
- [Udemy – STM32 : Internet Of Things with 4G LTE Modem - Hardware](https://www.udemy.com/course/stm32-internet-of-things-with-4g-lte-modem-hardware/)
|
||||
|
||||
#### 😈 Hardware Hacking
|
||||
|
||||
- [Hardware Hacking Tutorial](https://www.youtube.com/playlist?list=PLoFdAHrZtKkhcd9k8ZcR4th8Q8PNOx7iU)
|
||||
- [The Hardware Hacking Handbook: Breaking Embedded Security with Hardware Attacks - Jasper van Woudenberg, Colin O'Flynn](https://a.co/d/gUIytFX)
|
||||
|
||||
_________________
|
||||
|
||||
**Note:** It is not necessary to read or watch all of the following materials, but it is important to study enough to have a basic understanding of each topic. Of course, the more you study and practice, the greater your knowledge will become, ultimately enhancing your abilities as an engineer.
|
||||
|
||||
Some of the resources mentioned here will just be used as references. Refer to them only when you need them.
|
||||
|
||||
The 💎 symbol is to indicate well-known references that have really invaluable and comprehensive content.
|
||||
If you want to deepen your understanding of a topic, refer to the resources marked with a 💎 icon.
|
||||
_________________
|
||||
|
||||
### Soft Skills
|
||||
@@ -111,14 +124,16 @@ _________________
|
||||
|
||||
- [Khan Academy - Calculus 1](https://www.khanacademy.org/math/calculus-1)
|
||||
- [Calculus For Dummies - Mark Ryan](https://a.co/d/cyvZqE1)
|
||||
- [Thomas' Calculus](https://a.co/d/gFcCC37)
|
||||
- [💎 Thomas' Calculus](https://a.co/d/gFcCC37)
|
||||
|
||||
#### Electrical Circuits Basics
|
||||
|
||||
- [💎 Electronics Tutorials](https://www.electronics-tutorials.ws)
|
||||
- [Lessons in Electric Circuits](https://www.allaboutcircuits.com/textbook/)
|
||||
- [Make: Electronics: Learning by Discovery - Charles Platt](https://a.co/d/fbRoM1R)
|
||||
- [Electronic Basics - GreatScott! (YouTube Playlist)](https://youtube.com/playlist?list=PLAROrg3NQn7cyu01HpOv5BWo217XWBZu0)
|
||||
- [Fundamentals of Electric Circuits - Charles K. Alexander, Matthew Sadiku](https://www.amazon.com/dp/1260226409?ref_=cm_sw_r_cp_ud_dp_Q11YHXNY2BK530RQZC4S)
|
||||
- [Grob’s Basic Electronics - Mitchel E. Schultz](https://a.co/d/g1g73HV)
|
||||
- [💎 Make: Electronics: Learning by Discovery - Charles Platt](https://a.co/d/fbRoM1R)
|
||||
- [💎 The Art of Electronics - Paul Horowitz, Winfield Hill](https://artofelectronics.net/)
|
||||
|
||||
#### Electronic Components
|
||||
@@ -128,17 +143,18 @@ _________________
|
||||
|
||||
#### Digital Circuits & Logic Design
|
||||
|
||||
- [Digital Design - Morris Mano](https://www.portcity.edu.bd/files/636444791235373856_Digitallogicdesign.pdf)
|
||||
- [💎 Digital Design - Morris Mano](https://www.portcity.edu.bd/files/636444791235373856_Digitallogicdesign.pdf)
|
||||
|
||||
#### Computer Architecture
|
||||
|
||||
- [Build an 8-bit computer from scratch](https://eater.net/8bit/)
|
||||
- [Computer Organization and Design: ARM Edition - David A. Patterson, John L. Hennessy](https://github.com/AbderrhmanAbdellatif/ComputerOrganization/blob/master/%5BThe%20Morgan%20Kaufmann%20Series%20in%20Computer%20Architecture%20and%20Design%5D%20David%20A.%20Patterson%2C%20John%20L.%20Hennessy%20-%20Computer%20Organization%20and%20Design_%20The%20Hardware%20Software%20Interface_%20ARM%20Edition%20(2016%2C%20Morgan%20Kaufmann).pdf)
|
||||
- [Computer Organization and Design: ARM Edition - David A. Patterson, John L. Hennessy](https://a.co/d/8YPUXG7)
|
||||
- [💎 Digital Design and Computer Architecture: ARM Edition - Sarah Harris, David Harris](https://a.co/d/4otoVvI)
|
||||
- [💎 Digital Design and Computer Architecture: RISC-V Edition - Sarah Harris, David Harris](https://a.co/d/61l7Jtb)
|
||||
- [Embedded Systems Architecture - Tammy Noergaard](https://www.oreilly.com/library/view/embedded-systems-architecture/9780123821966/)
|
||||
- [The Definitive Guide to ARM® Cortex®-M0 and Cortex-M0+ Processors - Joseph Yiu](https://www.oreilly.com/library/view/the-definitive-guide/9780128032787/)
|
||||
- [The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors - Joseph Yiu](https://www.oreilly.com/library/view/the-definitive-guide/9780124080829/)
|
||||
- [Build an 8-bit computer from scratch](https://eater.net/8bit/)
|
||||
|
||||
_________________
|
||||
|
||||
### Using Test Equipment
|
||||
@@ -148,7 +164,7 @@ _________________
|
||||
- [Learn How to Use a Multimeter!](https://youtu.be/4lAyzRxsbDc)
|
||||
- [How to Use a Multimeter ](https://learn.sparkfun.com/tutorials/how-to-use-a-multimeter/all)
|
||||
|
||||
#### Logic Analyzer
|
||||
#### Logic / Protocol Analyzer
|
||||
|
||||
- [Instrument Basics: Logic Analyzer](https://youtu.be/u1DYs2I-_lU)
|
||||
|
||||
@@ -163,28 +179,29 @@ _________________
|
||||
|
||||
### Prototyping Skills
|
||||
|
||||
#### Using Breadboards
|
||||
#### Breadboarding
|
||||
|
||||
- [Everything You Need to Know about Breadboards](https://www.youtube.com/watch?v=mE33WpRWrXs)
|
||||
- [How to Use a Breadboard](https://youtu.be/6WReFkfrUIk)
|
||||
|
||||
#### Hardware Design Basics
|
||||
|
||||
- [Electronic Circuit Design - IFE - TU Graz](https://www.youtube.com/playlist?list=PLLpZ1DoEuR9tbV8r8bMSI94znm6pRB905)
|
||||
- [Hardware Design - Phil’s Lab](https://www.youtube.com/playlist?list=PLXSyc11qLa1YhVCZ5xWPuPsE5MkgEy5TF)
|
||||
- [Microcontroller-Based Hardware Design With Altium Designer](https://www.youtube.com/playlist?list=PL3aaAq2OJU5HcbClqrOhqBDozF7HmxV-s)
|
||||
- [Electronic Circuit Design - IFE - TU Graz (YouTube Playlist)](https://www.youtube.com/playlist?list=PLLpZ1DoEuR9tbV8r8bMSI94znm6pRB905)
|
||||
- [Hardware Design - Phil’s Lab (YouTube Playlist)](https://www.youtube.com/playlist?list=PLXSyc11qLa1YhVCZ5xWPuPsE5MkgEy5TF)
|
||||
- [Microcontroller-Based Hardware Design With Altium Designer (YouTube Playlist)](https://www.youtube.com/playlist?list=PL3aaAq2OJU5HcbClqrOhqBDozF7HmxV-s)
|
||||
|
||||
#### 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)
|
||||
- [Altium Academy YouTube Channel](https://www.youtube.com/@AltiumAcademy)
|
||||
- [Robert Feranec YouTube Channel](https://www.youtube.com/@RobertFeranec)
|
||||
- [Altium Tutorials for Beginners - Robert Feranec (YouTube Playlist)](https://www.youtube.com/playlist?list=PLXvLToQzgzdduBaD4horowdWgcG5uGUW4)
|
||||
- [Create PCBs for Rapid Prototyping - DigiKey (YouTube Playlist)](https://www.youtube.com/playlist?list=PLEBQazB0HUyRVK1RpHIjyjuTxn5srz6XM)
|
||||
- [How to Make a Raspberry Pi Compute Module 4 Carrier Board - DigiKey (YouTube Playlist)](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 - DigiKey (YouTube Playlist)](https://www.youtube.com/watch?v=vaCVh2SAZY4&list=PLEBQazB0HUyR24ckSZ5u05TZHV9khgA1O)
|
||||
- [PCB Design for EMI & SI - Phil's Lab #64](https://www.youtube.com/watch?v=VtzPL8wQ8-E)
|
||||
- [PCB Design for Advanced Users](https://youtube.com/playlist?list=PL3aaAq2OJU5EWfYT_Z93tc9pBF_Sidba_)
|
||||
- [PCB Design for Advanced Users (YouTube Playlist)](https://youtube.com/playlist?list=PL3aaAq2OJU5EWfYT_Z93tc9pBF_Sidba_)
|
||||
- [9 Simple Tricks to Improve EMC / EMI on Your Boards - Practical examples (with Min Zhang)](https://www.youtube.com/watch?v=Lf51sx6sC0I)
|
||||
- [Many EMC Tips to Help You Design Better PCB Boards (with Keith Armstrong)](https://www.youtube.com/watch?v=gHF5JyJF-N4)
|
||||
|
||||
@@ -202,12 +219,13 @@ _________________
|
||||
### FPGA Design
|
||||
|
||||
- [FPGA vs. Microcontroller: How to choose the right one for your project](https://www.youtube.com/watch?v=jblpHUCPQYs)
|
||||
- [Introduction to FPGA](https://youtube.com/playlist?list=PLEBQazB0HUyT1WmMONxRZn9NmQ_9CIKhb)
|
||||
- [FPGA Fundamentals](https://nandland.com/fpga-101/)
|
||||
- [Introduction to FPGA (YouTube Playlist)](https://youtube.com/playlist?list=PLEBQazB0HUyT1WmMONxRZn9NmQ_9CIKhb)
|
||||
- [FPGA Fundamentals - Nandland](https://nandland.com/fpga-101/)
|
||||
- [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/)
|
||||
- [💎 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)
|
||||
|
||||
_________________
|
||||
|
||||
@@ -226,8 +244,8 @@ _________________
|
||||
|
||||
#### Algorithms & Data Structures
|
||||
|
||||
- [💎 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/)
|
||||
- [💎 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/)
|
||||
- [Collection of various algorithms in mathematics, machine learning, computer science, physics, etc implemented in C for educational purposes](https://github.com/TheAlgorithms/C)
|
||||
- [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/)
|
||||
@@ -235,13 +253,13 @@ _________________
|
||||
|
||||
#### Design Patterns
|
||||
|
||||
- [Design Patterns for Embedded Systems in C - Bruce Powel Douglass](https://www.oreilly.com/library/view/design-patterns-for/9781856177078/)
|
||||
- [💎 Design Patterns for Embedded Systems in C - Bruce Powel Douglass](https://www.oreilly.com/library/view/design-patterns-for/9781856177078/)
|
||||
- [Making Embedded Systems: Design Patterns for Great Software - Elecia White](https://www.oreilly.com/library/view/making-embedded-systems/9781449308889/)
|
||||
|
||||
#### State Machines / UML
|
||||
|
||||
- [State Machines](https://www.youtube.com/playlist?list=PLPW8O6W-1chxym7TgIPV9k5E8YJtSBToI)
|
||||
- [Event-Driven Programming](https://www.youtube.com/playlist?list=PLPW8O6W-1chx8Y7Oq2gOE0NUPXmQxu2Wr)
|
||||
- [State Machines (YouTube Playlist)](https://www.youtube.com/playlist?list=PLPW8O6W-1chxym7TgIPV9k5E8YJtSBToI)
|
||||
- [Event-Driven Programming (YouTube Playlist)](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 Management
|
||||
@@ -258,7 +276,7 @@ _________________
|
||||
|
||||
- [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)
|
||||
- [C Programming Tutorials (YouTube Playlist)](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)
|
||||
@@ -268,7 +286,7 @@ _________________
|
||||
- [Modern C++ in Embedded Development: (Don't Fear) The ++](https://www.embeddedrelated.com/showarticle/1532.php)
|
||||
- [C++ On Embedded Systems](https://blog.mbedded.ninja/programming/languages/c-plus-plus/cpp-on-embedded-systems/)
|
||||
- [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++ by The Cherno (YouTube Playlist)](https://youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb)
|
||||
|
||||
#### Assembly
|
||||
|
||||
@@ -285,21 +303,23 @@ _________________
|
||||
#### Rust
|
||||
|
||||
- [The Embedded Rust Book](https://docs.rust-embedded.org/book/)
|
||||
- [The Future of Programming: Rust](https://www.youtube.com/playlist?list=PLc7W4b0WHTAUAEAguiqpNa5H0QqXJIJI6)
|
||||
- [The Future of Programming: Rust (YouTube Playlist)](https://www.youtube.com/playlist?list=PLc7W4b0WHTAUAEAguiqpNa5H0QqXJIJI6)
|
||||
- [Community Rust support projects for STM32 microcontrollers](https://github.com/stm32-rs)
|
||||
- [Rust on ESP Community](https://github.com/esp-rs)
|
||||
|
||||
_________________
|
||||
|
||||
### Build System
|
||||
### Build Tools
|
||||
|
||||
#### GCC & Make
|
||||
|
||||
- [GCC and Make - Compiling, Linking and Building C/C++ Applications](https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html)
|
||||
- [Computer Systems: A Programmer's Perspective - Randal E. Bryant, David R. O'Hallaron | ➡️ Chapter 7: Linking](http://csapp.cs.cmu.edu/3e/home.html)
|
||||
|
||||
#### CMake
|
||||
|
||||
- [How to CMake Good](https://youtube.com/playlist?list=PLK6MXr8gasrGmIiSuVQXpfFuE1uPT615s)
|
||||
- [CMake Tutorial](https://cmake.org/cmake/help/latest/guide/tutorial/index.html)
|
||||
- [How to CMake Good (YouTube Playlist)](https://youtube.com/playlist?list=PLK6MXr8gasrGmIiSuVQXpfFuE1uPT615s)
|
||||
|
||||
#### Bash Scripting
|
||||
|
||||
@@ -308,8 +328,9 @@ _________________
|
||||
|
||||
#### Docker
|
||||
|
||||
- [Docker Docs](https://docs.docker.com/get-started/)
|
||||
- [Introduction to Docker for the Embedded Developer](https://www.youtube.com/watch?v=Fz7ou-VBk-w)
|
||||
|
||||
- [Intro to CI/CD Part 1: Getting Started with Docker | Digi-Key Electronics](https://youtu.be/1nxGcfIm-TU)
|
||||
_________________
|
||||
|
||||
### Version Control
|
||||
@@ -327,15 +348,22 @@ _________________
|
||||
|
||||
### Microcontrollers
|
||||
|
||||
- [What Is a Microcontroller? The Defining Characteristics and Architecture of a Common Component](https://www.allaboutcircuits.com/technical-articles/what-is-a-microcontroller-introduction-component-characteristics-component/)
|
||||
- [How to Choose the Right Microcontroller for Your Application ](https://www.allaboutcircuits.com/technical-articles/how-to-choose-the-right-microcontroller-for-your-application/)
|
||||
- [How to Read a Microcontroller Datasheet: Introduction and First Steps](https://www.allaboutcircuits.com/technical-articles/how-to-read-a-microcontroller-datasheet-introduction-and-first-steps2/)
|
||||
- [💎 Make: AVR Programming - Elliot Williams](https://www.oreilly.com/library/view/make-avr-programming/9781449356484/)
|
||||
- [💎 Mastering STM32 - Carmine Noviello](https://leanpub.com/mastering-stm32-2nd)
|
||||
- [Getting Started with STM32 and Nucleo](https://youtube.com/playlist?list=PLEBQazB0HUyRYuzfi4clXsKUSgorErmBv)
|
||||
- [Bare Metal Embedded Programming: Theory and Practice Using STM32](https://www.youtube.com/playlist?list=PL4cGeWgaBTe155QQSQ72DksLIjBn5Jn2Z)
|
||||
- [Getting Started With AVR (YouTube Playlist)](https://www.youtube.com/playlist?list=PLtQdQmNK_0DRhBWYZ32BEILOykXLpJ8tP)
|
||||
- [Fundamentals of Microcontrollers - Arduino bare-metal breakdown (YouTube Playlist)](https://www.youtube.com/playlist?list=PLNyfXcjhOAwOF-7S-ZoW2wuQ6Y-4hfjMR)
|
||||
- [Getting Started with STM32 and Nucleo (YouTube Playlist)](https://youtube.com/playlist?list=PLEBQazB0HUyRYuzfi4clXsKUSgorErmBv)
|
||||
- [Bare Metal Embedded Programming: Theory and Practice Using STM32 (YouTube Playlist)](https://www.youtube.com/playlist?list=PL4cGeWgaBTe155QQSQ72DksLIjBn5Jn2Z)
|
||||
- [Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC - Warren Gay](https://link.springer.com/book/10.1007/978-1-4842-3624-6)
|
||||
- [Intro to Raspberry Pi Pico and RP2040](https://www.youtube.com/playlist?list=PLEBQazB0HUyQO6rJxKr2umPCgmfAU-cqR)
|
||||
- [Intro to Raspberry Pi Pico and RP2040 (YouTube Playlist)](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/)
|
||||
- [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)
|
||||
- [Awesome Embedded: A curated list of awesome embedded programming](https://github.com/nhivp/Awesome-Embedded)
|
||||
|
||||
#### GPIO
|
||||
|
||||
@@ -354,7 +382,7 @@ _________________
|
||||
|
||||
#### Timers
|
||||
|
||||
- [STM32 TIMERS](https://www.youtube.com/playlist?list=PLfIJKC1ud8gjLZBzjE3kKBMDEH_lUc428)
|
||||
- [STM32 TIMERS (YouTube Playlist)](https://www.youtube.com/playlist?list=PLfIJKC1ud8gjLZBzjE3kKBMDEH_lUc428)
|
||||
|
||||
#### PWM
|
||||
|
||||
@@ -374,6 +402,14 @@ _________________
|
||||
- [The Watchdog Timer on Arduino](https://www.youtube.com/watch?v=AzZBgH67mgE)
|
||||
- [WATCHDOGS in STM32 || IWDG and WWDG || CubeIDE](https://www.youtube.com/watch?v=AelNsnpfbcM)
|
||||
|
||||
#### Clock Management
|
||||
|
||||
- [Clock Configuration in STM32](https://medium.com/@csrohit/clock-configuration-in-stm32-6a058da220e0)
|
||||
- [STM32: Change clock speed via registers](https://www.youtube.com/watch?v=W_9jPMgiqaQ)
|
||||
- [#1. Intro to STM32F4 Register Based Programming || Clock Setup || LED Blinking || NO HAL](https://www.youtube.com/watch?v=GJ_LFAlOlSk)
|
||||
- [Tutorial 8: MCU Clocks configuration in STM32 using STM32CUBEMX](https://www.youtube.com/watch?v=y8yNsWpQiTM)
|
||||
- [Clock sources and PLL in ARM Cortex M4](https://www.youtube.com/watch?v=2ou8FQ_7PdI)
|
||||
|
||||
#### DMA
|
||||
|
||||
- [STM32 DMA PT 1](https://www.youtube.com/watch?v=yvLHtXJ_KSg)
|
||||
@@ -383,7 +419,11 @@ _________________
|
||||
|
||||
#### Bootloader
|
||||
|
||||
- [Basics to Developing Bootloader for Arduino](https://www.electronicwings.com/arduino/basics-to-developing-bootloader-for-arduino)
|
||||
- [From Zero to main(): How to Write a Bootloader from Scratch](https://interrupt.memfault.com/blog/how-to-write-a-bootloader-from-scratch)
|
||||
- [How to Create a Super Simple Bootloader](https://www.youtube.com/watch?v=OkUQ3iMmiYQ&list=PLnMKNibPkDnEb1sphpdFJ3bR9dNy7S6mO)
|
||||
- [Blinky To Bootloader: Bare Metal Programming Series (YouTube Playlist)](https://www.youtube.com/playlist?list=PLP29wDx6QmW7HaCrRydOnxcy8QmW0SNdQ)
|
||||
- [Simple AVR Bootloader tutorial](https://www.pocketmagic.net/simple-avr-bootloader-tutorial/)
|
||||
- [Udemy – STM32Fx Microcontroller Custom Bootloader Development](https://www.udemy.com/course/stm32f4-arm-cortex-mx-custom-bootloader-development/)
|
||||
|
||||
#### Power Management
|
||||
@@ -399,14 +439,38 @@ _________________
|
||||
|
||||
#### Functional Safety
|
||||
|
||||
- [Microchip University - Introduction to Functional Safety](https://mu.microchip.com/introduction-to-functional-safety)
|
||||
- [Udemy – Functional Safety According to ISO 26262 - Crash Course](https://www.udemy.com/course/iso-26262-crash-course/)
|
||||
- [A Guide to MISRA C Coding Standards - MISRA C and MISRA C++](https://www.perforce.com/resources/qac/misra-c-cpp)
|
||||
- [A Firmware Development Standard by Jack Ganssle](http://www.ganssle.com/fsm.htm)
|
||||
|
||||
_________________
|
||||
|
||||
### Simulation / Emulation Tools
|
||||
|
||||
- [Wokwi - Online ESP32, STM32, Arduino Simulator](https://wokwi.com/)
|
||||
|
||||
#### [QEMU](https://www.qemu.org/)
|
||||
|
||||
- [QEMU’s documentation](https://www.qemu.org/docs/master/index.html)
|
||||
- [Running AVR code in QEMU - A quick-start guide to accelerate AVR firmware development](https://yeah.nah.nz/embedded/qemu-avr/)
|
||||
- [QEMU Simulation - Blinky - STM32F767ZI Full Stack](https://longer-vision-robot.gitbook.io/stm32f767zi-full-stack/chapter-2.-programming-for-stm32/2.4-qemu-simulation-blinky)
|
||||
- [Emulating a Raspberry Pi in QEMU](https://interrupt.memfault.com/blog/emulating-raspberry-pi-in-qemu)
|
||||
|
||||
#### [Renode](https://renode.io/)
|
||||
|
||||
- [Renode - GitHub Repo](https://github.com/renode/renode)
|
||||
- [Renode - Documentation](https://renode.readthedocs.io/en/latest/)
|
||||
- [Renode - Official Tutorials](https://renode.io/tutorials/)
|
||||
- [Cortex-M MCU Emulation with Renode](https://interrupt.memfault.com/blog/intro-to-renode)
|
||||
- [A simple guide to get started on renode](https://github.com/tarciszera/renode_guide)
|
||||
- [Using CI-based workflow with Renode in bringing TensorFlow Lite to Zephyr](https://www.youtube.com/watch?v=jF94cXPoZZg)
|
||||
|
||||
_________________
|
||||
|
||||
### Interfaces, Protocols & Communication Technologies
|
||||
|
||||
#### Common
|
||||
#### Basic
|
||||
|
||||
- [Understanding Serial Protocols](https://www.youtube.com/watch?v=LEz5UCN3aHA)
|
||||
- [PROTOCOLS: UART - I2C - SPI - Serial communications #001](https://www.youtube.com/watch?v=IyGwvGzrqp8)
|
||||
@@ -422,7 +486,7 @@ _________________
|
||||
##### I2C
|
||||
|
||||
- [Understanding I2C](https://www.youtube.com/watch?v=CAvawEcxoPU)
|
||||
- [STM32 I2C SLAVE](https://www.youtube.com/playlist?list=PLfIJKC1ud8gj_P7Qb28aTr0t92uk_vwg0)
|
||||
- [STM32 I2C SLAVE (YouTube Playlist)](https://www.youtube.com/playlist?list=PLfIJKC1ud8gj_P7Qb28aTr0t92uk_vwg0)
|
||||
|
||||
##### SPI
|
||||
|
||||
@@ -430,18 +494,62 @@ _________________
|
||||
- [SPI: The serial peripheral interface](https://www.youtube.com/watch?v=MCi7dCBhVpQ)
|
||||
- [Getting Started with STM32 and Nucleo Part 5: How to Use SPI | Digi-Key Electronics](https://www.youtube.com/watch?v=eFKeNPJq50g)
|
||||
|
||||
##### SDIO
|
||||
|
||||
- [SDIO Protocol](https://prodigytechno.com/sdio-protocol/)
|
||||
- [Interface SD CARD with SDIO in STM32](https://controllerstech.com/interface-sd-card-with-sdio-in-stm32/)
|
||||
- [SDIO Card Slave Driver - ESP32 - Technical Documents](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/sdio_slave.html)
|
||||
|
||||
##### I3C
|
||||
|
||||
- [MIPI I3C & MIPI I3C Basic](https://www.mipi.org/specifications/i3c-sensor-specification)
|
||||
- [I3C Protocol: Understanding and Debug](https://prodigytechno.com/mipi-i3c-protocol-debug/)
|
||||
- [MIPI I3C Basic - The next generation sensor interface enabling low-power IoT applications](https://www.youtube.com/watch?v=xWKxZp_9RFQ)
|
||||
|
||||
##### 1-Wire
|
||||
|
||||
- [1-Wire® Technology Overview](https://www.youtube.com/watch?v=CjH-OztKe00)
|
||||
|
||||
#### I2S
|
||||
|
||||
#### Audio
|
||||
|
||||
##### I2S
|
||||
|
||||
- [Building a Digital Music Player with I2S?! What is I2S! EB#45](https://www.youtube.com/watch?v=qNLvoSQCx60)
|
||||
|
||||
#### Image & Video
|
||||
|
||||
##### CSI-2
|
||||
|
||||
- [MIPI Camera Serial Interface 2](https://www.mipi.org/specifications/csi-2)
|
||||
- [Tutorial: MIPI CSI-2](https://www.youtube.com/watch?v=8REu_h7bzHM)
|
||||
|
||||
#### Wireless
|
||||
|
||||
##### Bluetooth / BLE
|
||||
|
||||
- [Bluetooth Low Energy Fundamentals - Nordic Semiconductor](https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/)
|
||||
- [Bluetooth Overview - ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/bluetooth.html)
|
||||
|
||||
##### Wi-Fi
|
||||
|
||||
- [Wi-Fi Driver - ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html)
|
||||
- [ESP32 Set an Access Point (AP) using ESP-IDF](https://esp32tutorials.com/esp32-access-point-ap-esp-idf/)
|
||||
- [ESP32 ESP-IDF Connect with WiFi – Station Mode Example](https://esp32tutorials.com/esp32-esp-idf-connect-wifi-station-mode-example/)
|
||||
|
||||
##### Zigbee
|
||||
|
||||
- [What is ZIGBEE And How It Works?](https://www.youtube.com/watch?v=THtVeaxnd9E)
|
||||
- [How to take advantage of Zigbee and Bluetooth LE 5.2 on STM32WB wireless MCUs - Webinar Replay](https://www.youtube.com/watch?v=2sYEPykOaLQ)
|
||||
|
||||
##### Thread
|
||||
|
||||
- [OpenThread - An open-source implementation of Thread®](https://openthread.io/)
|
||||
- [What is Thread? Low-power IoT Networking for Smart Home Devices | Digi-Key Electronics](https://youtu.be/5CauESYB9-A)
|
||||
- [OpenThread - ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/openthread.html)
|
||||
|
||||
##### Matter
|
||||
|
||||
- [What is Matter? Unifying IoT Devices for the Smart Home | Digi-Key Electronics](https://youtu.be/vJIEfih9bl0)
|
||||
|
||||
#### Industrial
|
||||
@@ -450,7 +558,7 @@ _________________
|
||||
|
||||
- [What is Modbus and How does it Work?](https://www.youtube.com/watch?v=txi2p5_OjKU)
|
||||
- [How does Modbus Communication Protocol Work?](https://www.youtube.com/watch?v=JBGaInI-TG4)
|
||||
- [MODBUS STM32](https://www.youtube.com/playlist?list=PLfIJKC1ud8ggRvaEsMjSEDazoBAnY4MUv)
|
||||
- [MODBUS STM32 (YouTube Playlist)](https://www.youtube.com/playlist?list=PLfIJKC1ud8ggRvaEsMjSEDazoBAnY4MUv)
|
||||
|
||||
##### RS485
|
||||
|
||||
@@ -475,9 +583,16 @@ _________________
|
||||
##### USB
|
||||
|
||||
- [Training - USB 101 - Introduction to USB](https://www.youtube.com/watch?v=5S6ZPmtPzRA)
|
||||
- [USB 101: An Introduction to Universal Serial Bus 2.0](https://www.infineon.com/dgdl/Infineon-AN57294_USB_101_An_Introduction_to_Universal_Serial_Bus_2.0-ApplicationNotes-v09_00-EN.pdf?fileId=8ac78c8c7cdc391c017d072d8e8e5256)
|
||||
- [How does a USB keyboard work?](https://youtu.be/wdgULBpRoXk)
|
||||
- [How does USB device discovery work?](https://www.youtube.com/watch?v=N0O5Uwc3C0o)
|
||||
- [MOOC - STM32 USB training](https://www.youtube.com/playlist?list=PLnMKNibPkDnFFRBVD206EfnnHhQZI4Hxa)
|
||||
- [MOOC - STM32 USB training (YouTube Playlist)](https://www.youtube.com/playlist?list=PLnMKNibPkDnFFRBVD206EfnnHhQZI4Hxa)
|
||||
|
||||
##### PCIe
|
||||
|
||||
- [What is PCIe?](https://www.youtube.com/watch?v=L9qXjmJdQXY)
|
||||
- [PCIe QuickLearn (YouTube Playlist)](https://www.youtube.com/playlist?list=PL9B4edd-p2ajuP4dBHcnhtHKoZKkoR1R4)
|
||||
- [PCIe Protocol (YouTube Playlist)](https://www.youtube.com/playlist?list=PLZe4P0P_9Cosd0i2ha_QRdWlR1iZ0yVG4)
|
||||
|
||||
#### Automotive
|
||||
|
||||
@@ -487,24 +602,27 @@ _________________
|
||||
- [CAN Bus: A Beginners Guide Part 1](https://www.youtube.com/watch?v=YBrU_eZM110)
|
||||
- [CAN Bus: A Beginners Guide Part 2](https://www.youtube.com/watch?v=z5CVljiLhvc)
|
||||
- [Improving my electric longboard with a CAN Bus! What can the CAN Bus do? EB#44](https://www.youtube.com/watch?v=PL0TPdrhMuI)
|
||||
- [CAN Bus, OBD2 & J1939 Explained](https://www.youtube.com/playlist?list=PLpV68vjf4Xo4vZ_SjJ6tTlomYm-k18vDZ)
|
||||
- [CAN Bus, OBD2 & J1939 Explained (YouTube Playlist)](https://www.youtube.com/playlist?list=PLpV68vjf4Xo4vZ_SjJ6tTlomYm-k18vDZ)
|
||||
- [J1939 Explained - A Simple Intro [v2.0 | 2021]](https://www.youtube.com/watch?v=vlqxu9ojbHg)
|
||||
- [Unified Diagnostic Services (UDS) Explained - A Simple Intro [2022]](https://www.youtube.com/watch?v=CV_B8tJgI5E)
|
||||
|
||||
#### Network
|
||||
|
||||
- [Networking Fundamentals](https://www.youtube.com/playlist?list=PLIFyRwBY_4bRLmKfP1KnZA6rZbRHtxmXi)
|
||||
- [Networking Fundamentals - Practical Networking (YouTube Playlist)](https://www.youtube.com/playlist?list=PLIFyRwBY_4bRLmKfP1KnZA6rZbRHtxmXi)
|
||||
- [TCP vs UDP - Explaining Facts and Debunking Myths - TCP Masterclass](https://www.youtube.com/watch?v=jE_FcgpQ7Co)
|
||||
- [TCP - 12 simple ideas to explain the Transmission Control Protocol](https://www.youtube.com/watch?v=JFch3ctY6nE)
|
||||
- [UDP doesn't suck! It's the BEST L4 protocol for THESE types of applications...](https://www.youtube.com/watch?v=LaDRWycC7Iw)
|
||||
- [Networking tutorial](https://www.youtube.com/playlist?list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW)
|
||||
- [Hands-On Network Programming with C - Lewis Van Winkle](https://www.amazon.com/exec/obidos/ASIN/1789349869/aoeu-20)
|
||||
- [Networking tutorial - Ben Eater (YouTube Playlist)](https://www.youtube.com/playlist?list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW)
|
||||
- [💎 Hands-On Network Programming with C - Lewis Van Winkle](https://www.amazon.com/exec/obidos/ASIN/1789349869/aoeu-20)
|
||||
- [lwIP - A Lightweight TCP/IP stack](https://savannah.nongnu.org/projects/lwip/)
|
||||
- [lwIP (ESP-IDF)](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/lwip.html)
|
||||
- [Developing applications on STM32Cube with LwIP TCP/IP stack](https://www.st.com/resource/en/user_manual/um1713-developing-applications-on-stm32cube-with-lwip-tcpip-stack-stmicroelectronics.pdf)
|
||||
|
||||
#### Cellular
|
||||
|
||||
##### GSM / LTE
|
||||
|
||||
- [STM32 : Internet Of Things With 4G LTE Modem](https://www.youtube.com/playlist?list=PL2_RO8p04imYY5JOrCDT7V0hnzkgyExRe)
|
||||
- [STM32 : Internet Of Things With 4G LTE Modem (YouTube Playlist)](https://www.youtube.com/playlist?list=PL2_RO8p04imYY5JOrCDT7V0hnzkgyExRe)
|
||||
|
||||
##### LTE-M & NB-IoT
|
||||
|
||||
@@ -541,10 +659,26 @@ _________________
|
||||
|
||||
### Sensors & Actuators
|
||||
|
||||
#### Sensors
|
||||
|
||||
- [Calibrating Sensors](https://learn.adafruit.com/calibrating-sensors)
|
||||
- [DHT11 vs DHT22 vs LM35 vs DS18B20 vs BME280 vs BMP180](https://randomnerdtutorials.com/dht11-vs-dht22-vs-lm35-vs-ds18b20-vs-bme280-vs-bmp180/)
|
||||
- [Getting Started With STM32 and Nucleo Part 2: How to Use I2C to Read Temperature Sensor TMP102](https://www.youtube.com/watch?v=isOekyygpR8)
|
||||
- [GPS Module and STM32 || NEO 6M || Get coordinates, Date, Time, Speed, etc.](https://www.youtube.com/watch?v=tq_RoaPLahk)
|
||||
- [Interface MPU6050/GY-521 with STM32 || LCD 20x4 || CubeMx || HAL || SW4STM](https://www.youtube.com/watch?v=xxphp9wDnHA)
|
||||
- [Arduino with PIR Motion Sensor](https://randomnerdtutorials.com/arduino-with-pir-motion-sensor/)
|
||||
- [Complete Guide for Ultrasonic Sensor HC-SR04 with Arduino](https://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/)
|
||||
- [Electronic Basics #15: Temperature Measurement (Part 1) || NTC, PT100, Wheatstone Bridge](https://youtu.be/1U4fep_qAeo?si=Q2FF__EXONN-xN5M)
|
||||
|
||||
#### Actuators
|
||||
|
||||
- [Adafruit Motor Selection Guide](https://learn.adafruit.com/adafruit-motor-selection-guide)
|
||||
- [DC Motor Speed Controller PWM With Potentiometer Using STM32](https://www.youtube.com/watch?v=8QpegVuV_AQ)
|
||||
- [All About Stepper Motors](https://learn.adafruit.com/all-about-stepper-motors)
|
||||
- [Using Servos With CircuitPython and Arduino](https://learn.adafruit.com/using-servos-with-circuitpython)
|
||||
- [Electronic Basics #25: Servos and how to use them](https://youtu.be/J8atdmEqZsc?si=bH_xoIwnAsNU5_lD)
|
||||
- [Electronic Basics #24: Stepper Motors and how to use them](https://youtu.be/bkqoKWP4Oy4?si=kvhwykmFZ0UnLDJ7)
|
||||
- [Electronic Basics #18: DC & Brushless DC Motor + ESC](https://youtu.be/UteZJ_7C4Mg?si=uADPmCaucyWXd8Xe)
|
||||
|
||||
_________________
|
||||
|
||||
@@ -552,26 +686,23 @@ _________________
|
||||
|
||||
#### Operating System Fundamentals
|
||||
|
||||
- [Operating Systems: Three Easy Pieces - Remzi H Arpaci-Dusseau, Andrea C Arpaci-Dusseau](https://pages.cs.wisc.edu/~remzi/OSTEP/)
|
||||
- [💎 Operating Systems: Three Easy Pieces - Remzi H Arpaci-Dusseau, Andrea C Arpaci-Dusseau](https://pages.cs.wisc.edu/~remzi/OSTEP/)
|
||||
- [Modern Operating Systems - Andrew S. Tanenbaum, Herbert Bos](https://www.pearson.com/en-us/subject-catalog/p/modern-operating-systems/P200000003295)
|
||||
|
||||
#### Multitasking and Parallel Processing
|
||||
|
||||
- [Multitasking vs Multithreading vs Multiprocessing](https://medium.com/codex/multitasking-vs-multithreading-vs-multiprocessing-2b0087c861ae)
|
||||
- [Programming with POSIX Threads - David Butenhof](https://a.co/d/9R6DswF)
|
||||
- [Parallel Programming and Performance Optimization With OpenMP](https://passlab.github.io/OpenMPProgrammingBook/index.html)
|
||||
- [Introduction to OpenMP - Tim Mattson (Intel)](https://youtube.com/playlist?list=PLLX-Q6B8xqZ8n8bwjGdzBJ25X2utwnoEG)
|
||||
- [C++ Concurrency in Action - Anthony Williams](https://www.manning.com/books/c-plus-plus-concurrency-in-action)
|
||||
|
||||
#### Embedded Linux
|
||||
|
||||
- [FreeRTOS vs Linux for Embedded Systems](https://www.bytesnap.com/news-blog/freertos-vs-linux-embedded-systems/)
|
||||
- [Introduction to Embedded Linux](https://youtube.com/playlist?list=PLEBQazB0HUyTpoJoZecRK6PpDG31Y7RPB)
|
||||
- [Introduction to Embedded Linux (YouTube Playlist)](https://youtube.com/playlist?list=PLEBQazB0HUyTpoJoZecRK6PpDG31Y7RPB)
|
||||
- [Mastering Embedded Linux Programming - Chris Simmonds](https://www.packtpub.com/product/mastering-embedded-linux-programming-third-edition/9781789530384)
|
||||
- [Linux From Scratch - step-by-step instructions for building your own custom Linux system](https://www.linuxfromscratch.org/)
|
||||
|
||||
##### Linux Kernel
|
||||
|
||||
- [Practical System Programming with C: Pragmatic Example Applications in Linux and Unix-Based Operating Systems - Sri Manikanta Palakollu](https://link.springer.com/book/10.1007/978-1-4842-6321-1)
|
||||
- [The Linux Kernel](https://tldp.org/LDP/tlk/)
|
||||
- [💎 The Linux Programming Interface - Michael Kerrisk](https://man7.org/tlpi/)
|
||||
- [How Linux Works - Brian Ward](https://nostarch.com/howlinuxworks3)
|
||||
- [Practical System Programming with C: Pragmatic Example Applications in Linux and Unix-Based Operating Systems - Sri Manikanta Palakollu](https://link.springer.com/book/10.1007/978-1-4842-6321-1)
|
||||
|
||||
##### Linux Device Drivers
|
||||
|
||||
@@ -582,35 +713,60 @@ _________________
|
||||
|
||||
- [The U-Boot Documentation](https://u-boot.readthedocs.io/en/latest/)
|
||||
|
||||
##### BuildRoot
|
||||
##### Buildroot
|
||||
|
||||
- [Buildroot Documentation](https://buildroot.org/docs.html)
|
||||
- [Introduction to Embedded Linux Part 1 - Buildroot | Digi-Key Electronics](https://www.youtube.com/watch?v=9vsu67uMcko)
|
||||
|
||||
##### Yocto
|
||||
|
||||
- [💎 Yocto Project Documentation](https://docs.yoctoproject.org/index.html)
|
||||
- [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)
|
||||
- [Yocto Project Tutorial Series (Basic to Advance) (YouTube Playlist)](https://www.youtube.com/playlist?list=PLwqS94HTEwpQmgL1UsSwNk_2tQdzq3eVJ)
|
||||
- [Udemy – Embedded Linux using Yocto](https://www.udemy.com/course/embedded-linux-using-yocto/)
|
||||
- [💎 Embedded Linux Systems with the Yocto Project - Rudolf J.Streif](https://www.oreilly.com/library/view/embedded-linux-systems/9780133443301/)
|
||||
- [Embedded Linux Development using Yocto Project Cookbook - Alex Gonzalez](https://www.oreilly.com/library/view/embedded-linux-development/9781788399210/)
|
||||
|
||||
##### Qt
|
||||
##### Multithreading & Parallel Processing
|
||||
|
||||
- [Qt Documentation](https://doc.qt.io/)
|
||||
- [Introduction to Qt / QML](https://www.youtube.com/playlist?list=PL6CJYn40gN6hUXoYdyn4DHUTXfcVDJcfB)
|
||||
- [Threading/Concurrency vs Parallelism](http://www.danielmoth.com/Blog/threadingconcurrency-vs-parallelism.aspx)
|
||||
- [Multi-threading and Parallel Programming](https://dev.to/kwereutosu/multi-threading-and-parallel-programming-1l9m)
|
||||
- [Multitasking vs Multithreading vs Multiprocessing](https://medium.com/codex/multitasking-vs-multithreading-vs-multiprocessing-2b0087c861ae)
|
||||
- [💎 Programming with POSIX Threads - David Butenhof](https://a.co/d/9R6DswF)
|
||||
- [Parallel Programming and Performance Optimization With OpenMP](https://passlab.github.io/OpenMPProgrammingBook/index.html)
|
||||
- [Introduction to OpenMP - Tim Mattson (Intel) (YouTube Playlist)](https://youtube.com/playlist?list=PLLX-Q6B8xqZ8n8bwjGdzBJ25X2utwnoEG)
|
||||
- [OpenCL Tutorials](https://www.intel.com/content/www/us/en/developer/articles/training/opencl-tutorials.html)
|
||||
- [CUDA C++ Programming Guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html)
|
||||
- [C++ Concurrency in Action - Anthony Williams](https://www.manning.com/books/c-plus-plus-concurrency-in-action)
|
||||
|
||||
##### Inter Process Communication (IPC)
|
||||
|
||||
- [Inter Process Communication (IPC)](https://www.scaler.com/topics/operating-system/inter-process-communication-in-os/)
|
||||
- [What Is Inter-Process Communication In Linux?](https://www.scaler.com/topics/ipc-in-linux/)
|
||||
- [Udemy – Linux Inter Process Communication (IPC) from Scratch in C](https://www.udemy.com/course/linuxipc/)
|
||||
- [Udemy – Multi-Threading and IPC with Qt 5 C++](https://www.udemy.com/course/multi-threading-and-ipc-with-qt-c-plus-plus/)
|
||||
|
||||
##### Qt Framework
|
||||
|
||||
- [Qt Documentation](https://doc.qt.io/)
|
||||
- [Introduction to Qt / QML (YouTube Playlist)](https://www.youtube.com/playlist?list=PL6CJYn40gN6hUXoYdyn4DHUTXfcVDJcfB)
|
||||
|
||||
#### Real-Time OS
|
||||
|
||||
##### RTOS Basics
|
||||
|
||||
- [Bare-metal and RTOS Based Embedded Systems](https://microcontrollerslab.com/difference-bare-metal-and-rtos-based-embedded-systems/)
|
||||
- [The Pros and Cons of RTOS vs Bare Metal: Which Will You Choose?](https://medium.com/@lanceharvieruntime/the-pros-and-cons-of-rtos-vs-bare-metal-which-will-you-choose-756e33ba6df7)
|
||||
- [FreeRTOS vs Linux for Embedded Systems](https://www.bytesnap.com/news-blog/freertos-vs-linux-embedded-systems/)
|
||||
- [Real-Time Systems Concepts](https://micrium.atlassian.net/wiki/spaces/osiidoc/pages/163855/Real-Time+Systems+Concepts)
|
||||
- [RTOS](https://www.youtube.com/playlist?list=PLPW8O6W-1chyrd_Msnn4LD6LBs2slJITs)
|
||||
- [Beyond the RTOS](https://www.youtube.com/playlist?list=PLPW8O6W-1chytjkg63-tM7MI0BvGxxPIP)
|
||||
- [RTOS Fundamentals](https://www.freertos.org/implementation/a00002.html)
|
||||
- [RTOS (YouTube Playlist)](https://www.youtube.com/playlist?list=PLPW8O6W-1chyrd_Msnn4LD6LBs2slJITs)
|
||||
- [Beyond the RTOS (YouTube Playlist)](https://www.youtube.com/playlist?list=PLPW8O6W-1chytjkg63-tM7MI0BvGxxPIP)
|
||||
|
||||
##### FreeRTOS
|
||||
|
||||
- [FreeRTOS - Market leading RTOS](https://www.freertos.org)
|
||||
- [Introduction to RTOS](https://www.youtube.com/playlist?list=PLEBQazB0HUyQ4hAPU1cJED6t3DU0h34bz)
|
||||
- [Introduction to RTOS (YouTube Playlist)](https://www.youtube.com/playlist?list=PLEBQazB0HUyQ4hAPU1cJED6t3DU0h34bz)
|
||||
- [Mastering the FreeRTOS Real Time Kernel - a Hands On Tutorial Guide](https://www.freertos.org/Documentation/RTOS_book.html)
|
||||
- [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)
|
||||
@@ -622,7 +778,7 @@ _________________
|
||||
- [Zephyr® Project](https://www.zephyrproject.org/)
|
||||
- [Why We Moved from FreeRTOS to Zephyr RTOS](https://www.zephyrproject.org/why-we-moved-from-freertos-to-zephyr-rtos/)
|
||||
- [nRF Connect SDK](https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/)
|
||||
- [ESP32 on Zephyr OS](https://www.youtube.com/playlist?list=PLEQVp_6G_y4iFfemAbFsKw6tsGABarTwp)
|
||||
- [ESP32 on Zephyr OS (YouTube Playlist)](https://www.youtube.com/playlist?list=PLEQVp_6G_y4iFfemAbFsKw6tsGABarTwp)
|
||||
|
||||
##### μC/OS / Micriμm OS
|
||||
|
||||
@@ -634,24 +790,35 @@ _________________
|
||||
##### NuttX
|
||||
|
||||
- [NuttX - The Apache Software Foundation](https://nuttx.apache.org/)
|
||||
- [Getting Started to NuttX](https://www.youtube.com/playlist?list=PLd73yQk5Fd8JEsVD-lhwYRQKVu6glfDa8)
|
||||
- [NuttX Documentation](https://nuttx.apache.org/docs/latest/)
|
||||
- [Getting Started to NuttX (YouTube Playlist)](https://www.youtube.com/playlist?list=PLd73yQk5Fd8JEsVD-lhwYRQKVu6glfDa8)
|
||||
|
||||
##### RT-Thread
|
||||
|
||||
- [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)
|
||||
- [RT-Thread document center](https://www.rt-thread.io/document/site/)
|
||||
- [RT-Thread Beginners Guide (YouTube Playlist)](https://youtube.com/playlist?list=PLXUV89C_M3G5KVw2IerI-pqApdSM_IaZo)
|
||||
|
||||
##### Mbed OS
|
||||
|
||||
- [Mbed OS](https://os.mbed.com/mbed-os/)
|
||||
- [Mbed OS Documentation](https://os.mbed.com/docs/mbed-os/)
|
||||
|
||||
##### QNX
|
||||
|
||||
- [BlackBerry QNX: Embedded OS, Support, and Services](https://blackberry.qnx.com/en)
|
||||
- [QNX Product Documentation](https://www.qnx.com/developers/docs/index.html)
|
||||
|
||||
##### VxWorks
|
||||
|
||||
- [VxWorks | Industry Leading RTOS for Embedded Systems](https://www.windriver.com/products/vxworks)
|
||||
- [VxWorks Documentation](https://docs.windriver.com/category/os_vxworks?labelkey=os_vxworks)
|
||||
- [VxWORKS-RTOS - Kumar M (YouTube Playlist)](https://www.youtube.com/playlist?list=PLyp1I7W35-q34sYWBlBg8xgoqsizZ57P7)
|
||||
|
||||
##### Azure RTOS (ThreadX)
|
||||
|
||||
- [Azure RTOS - Making embedded IoT development and connectivity easy](https://azure.microsoft.com/en-us/services/rtos/)
|
||||
- [Microsoft Azure RTOS documentation](https://learn.microsoft.com/en-us/azure/rtos/)
|
||||
|
||||
_________________
|
||||
|
||||
@@ -659,14 +826,15 @@ _________________
|
||||
|
||||
#### DSP Fundamentals & Filter Design
|
||||
|
||||
- [💎 The Scientist and Engineer's Guide to Digital Signal Processing - Steven W. Smith](https://www.dspguide.com/pdfbook.htm)
|
||||
- [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 (ECSE-4530) Lectures, Fall 2014 (YouTube Playlist)](https://youtube.com/playlist?list=PLuh62Q4Sv7BUSzx5Jr8Wrxxn-U10qG1et)
|
||||
- [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)
|
||||
- [Schaum's Outline of Signals and Systems - Hwei P. Hsu](https://www.mhprofessional.com/schaum-s-outline-of-signals-and-systems-fourth-edition-9781260454246-usa)
|
||||
- [💎 Digital Signal Processing - John G. Proakis, Dimitris K. Manolakis](https://a.co/d/75P5PiE)
|
||||
|
||||
#### Discrete Fourier Transform / FFT
|
||||
|
||||
@@ -677,19 +845,19 @@ _________________
|
||||
|
||||
#### Controls Systems / PID Control
|
||||
|
||||
- [Understanding Control Systems](https://youtube.com/playlist?list=PLn8PRpmsu08q8CE0pbZ-cSrMm_WYJfVGd)
|
||||
- [Understanding Control Systems (YouTube Playlist)](https://youtube.com/playlist?list=PLn8PRpmsu08q8CE0pbZ-cSrMm_WYJfVGd)
|
||||
- [Control Systems - CircuitBread (YouTube Playlist)](https://www.youtube.com/playlist?list=PLfYdTiQCV_p4YZNJWExM-5_g0fk9bHDL8)
|
||||
- [What is a PID Controller? | DigiKey](https://www.youtube.com/watch?v=tFVAaUcOm4I)
|
||||
- [PID Controller Explained](https://www.youtube.com/watch?v=fv6dLTEvl74)
|
||||
- [Understanding PID Control](https://youtube.com/playlist?list=PLn8PRpmsu08pQBgjxYFXSsODEF3Jqmm-y)
|
||||
- [Understanding PID Control (YouTube Playlist)](https://youtube.com/playlist?list=PLn8PRpmsu08pQBgjxYFXSsODEF3Jqmm-y)
|
||||
- [PID Controller Implementation in Software - Phil's Lab #6](https://www.youtube.com/watch?v=zOByx3Izf5U)
|
||||
- [Control Systems Engineering - Norman S. Nise](https://www.wiley.com/en-us/Control+Systems+Engineering%2C+8th+Edition-p-9781119474227)
|
||||
- [Modern Control Systems - Richard C. Dorf, Robert H. Bishop](https://www.pearson.com/en-us/subject-catalog/p/modern-control-systems/P200000003484/9780137307098)
|
||||
- [💎 Control Systems Engineering - Norman S. Nise](https://www.wiley.com/en-us/Control+Systems+Engineering%2C+8th+Edition-p-9781119474227)
|
||||
- [💎 Modern Control Systems - Richard C. Dorf, Robert H. Bishop](https://www.pearson.com/en-us/subject-catalog/p/modern-control-systems/P200000003484/9780137307098)
|
||||
|
||||
#### MATLAB / Simulink
|
||||
|
||||
- [MATLAB Tutorials: Getting Started with MATLAB](https://youtube.com/playlist?list=PL7CAABC40B2825C8B)
|
||||
- [Getting Started with Simulink](https://youtube.com/playlist?list=PL484BA2AD3AE4C2D0)
|
||||
- [MATLAB Tutorials: Getting Started with MATLAB (YouTube Playlist)](https://youtube.com/playlist?list=PL7CAABC40B2825C8B)
|
||||
- [Getting Started with Simulink (YouTube Playlist)](https://youtube.com/playlist?list=PL484BA2AD3AE4C2D0)
|
||||
- [Udemy – MATLAB/SIMULINK Bible|Go From Zero to Hero!](https://www.udemy.com/course/matlabsimulink-biblego-from-zero-to-hero/)
|
||||
|
||||
_________________
|
||||
@@ -714,9 +882,19 @@ _________________
|
||||
|
||||
### Testing
|
||||
|
||||
- [Test Driven Development for Embedded C - James Grenning](https://www.amazon.com/Driven-Development-Embedded-Pragmatic-Programmers/dp/193435662X)
|
||||
- [Embedded Testing](https://artoftesting.com/embedded-testing)
|
||||
- [What is Embedded Testing in Software Testing?](https://www.guru99.com/embedded-software-testing.html)
|
||||
- [Verification vs Validation in Embedded Software](https://www.parasoft.com/blog/verification-vs-validation-in-embedded-software/)
|
||||
- [Testing: Unit VS Integration VS Regression VS Acceptance](https://medium.com/@touseefmurtaza1993/testing-unit-vs-integration-vs-regression-vs-acceptance-a3e190cc54dd)
|
||||
- [💎 Test Driven Development for Embedded C - James Grenning](https://www.amazon.com/Driven-Development-Embedded-Pragmatic-Programmers/dp/193435662X)
|
||||
|
||||
#### CI/CD Flow
|
||||
|
||||
- [Intro to CI/CD Part 1: Getting Started with Docker | Digi-Key Electronics](https://youtu.be/1nxGcfIm-TU)
|
||||
- [Intro to CI/CD Part 2: Getting Started with GitHub Actions | Digi-Key Electronics](https://youtu.be/8pyqbYDYkRs)
|
||||
- [How to Build a Continuous Integration and Delivery Process for Embedded Software](https://medium.com/jumperiot/how-to-build-a-continuous-integration-and-delivery-flow-for-embedded-software-b0b5bf220a2)
|
||||
- [Continuous Integration & Continuous Delivery for Embedded Systems (Whitepaper)](https://www.parasoft.com/white-paper/ci-cd-for-embedded-systems/)
|
||||
- [What is DevOps in an Embedded Device Company?](https://www.linkedin.com/pulse/what-devops-embedded-device-company-john-macdonald/)
|
||||
- [Intro to CI/CD](https://youtu.be/1nxGcfIm-TU)
|
||||
|
||||
#### Unit Testing
|
||||
|
||||
@@ -728,21 +906,31 @@ _________________
|
||||
#### Integration Testing
|
||||
|
||||
- [Hardware CI Arena](https://electricui.com/blog/hardware-testing)
|
||||
- [https://www.bunniestudios.com/blog/?p=5450](https://www.bunniestudios.com/blog/?p=5450)
|
||||
- [Exclave: Hardware Testing in Mass Production, Made Easier](https://www.bunniestudios.com/blog/?p=5450)
|
||||
- [Regression Testing of Embedded Systems](https://www.parasoft.com/blog/regression-testing-of-embedded-systems/)
|
||||
|
||||
#### SIL / HIL Testing
|
||||
#### SiL / HiL Testing
|
||||
|
||||
- [Embedded CI/CD with HIL Testing](https://youtube.com/playlist?list=PL4cGeWgaBTe1uwiqIAc6fwPzPpvgPZI2J)
|
||||
- [Embedded CI/CD with HIL Testing (YouTube Playlist)](https://youtube.com/playlist?list=PL4cGeWgaBTe1uwiqIAc6fwPzPpvgPZI2J)
|
||||
|
||||
#### Industry Standards & Certifications
|
||||
|
||||
- [Intro to Embedded Development: Styles and Standards](https://www.allaboutcircuits.com/technical-articles/embedded-programming-styles-and-standards/)
|
||||
- [Safety Standards and Certifications for Embedded Systems Development](https://www.linkedin.com/pulse/safety-standards-certifications-embedded-systems-development/)
|
||||
- [Microchip University - An Introduction To The ISA/IEC 62443 Standard](https://mu.microchip.com/an-introduction-to-the-isaiec-62443-standard)
|
||||
|
||||
_________________
|
||||
|
||||
### Embedded AI
|
||||
|
||||
- [Udemy – Getting Started with Embedded AI | Edge AI](https://www.udemy.com/course/getting-started-with-embedded-ai-hands-on-experience/)
|
||||
- [Intro to Edge AI: Machine Learning + IoT – Maker.io Tutorial | Digi-Key Electronics](https://www.youtube.com/watch?v=Ejld8XZmvwE)
|
||||
|
||||
#### AI & ML Basics
|
||||
|
||||
- [A beginner's guide to artificial intelligence and machine learning](https://developer.ibm.com/articles/cc-beginner-guide-machine-learning-ai-cognitive/)
|
||||
- [Udemy – Getting Started with Embedded AI | Edge AI](https://www.udemy.com/course/getting-started-with-embedded-ai-hands-on-experience/)
|
||||
- [Intro to Edge AI: Machine Learning + IoT – Maker.io Tutorial | Digi-Key Electronics](https://www.youtube.com/watch?v=Ejld8XZmvwE)
|
||||
- [Introduction to Machine Learning for Coders!](https://course18.fast.ai/ml)
|
||||
- [Machine Learning Crash Course with TensorFlow APIs - Google](https://developers.google.com/machine-learning/crash-course/)
|
||||
|
||||
#### TensorFlow
|
||||
|
||||
@@ -768,6 +956,7 @@ _________________
|
||||
|
||||
#### Cryptography
|
||||
|
||||
- [Microchip University - Cryptography Primer](https://mu.microchip.com/cryptography-primer)
|
||||
- [Hashing, Hashing Algorithms, and Collisions - Cryptography - Practical TLS](https://youtu.be/HHQ2QP_upGM)
|
||||
- [Data Integrity - How Hashing is used to ensure data isn't modified - HMAC - Cryptography](https://www.youtube.com/watch?v=doN3lzzNEIM)
|
||||
- [Encryption - Symmetric Encryption vs Asymmetric Encryption - Cryptography - Practical TLS](https://www.youtube.com/watch?v=o_g-M7UBqI8)
|
||||
@@ -776,18 +965,19 @@ _________________
|
||||
- [💎 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)
|
||||
- [MOOC - Security Part3 : STM32 security features](https://youtube.com/playlist?list=PLnMKNibPkDnFzux3PHKUEi14ftDn9Cbm7)
|
||||
- [MOOC - Security Part2: Basics of cryptography (YouTube Playlist)](https://youtube.com/playlist?list=PLnMKNibPkDnFSFh57UFTZLpy-7lZiwTHh)
|
||||
- [MOOC - Security Part3 : STM32 security features (YouTube Playlist)](https://youtube.com/playlist?list=PLnMKNibPkDnFzux3PHKUEi14ftDn9Cbm7)
|
||||
- [Introduction to encryption for embedded Linux developers](https://sergioprado.blog/introduction-to-encryption-for-embedded-linux-developers/)
|
||||
- [A hands-on approach to symmetric-key encryption](https://sergioprado.blog/a-hands-on-approach-to-symmetric-key-encryption/)
|
||||
- [Asymmetric-Key Encryption and Digital Signatures in Practice](https://sergioprado.blog/asymmetric-key-encryption-and-digital-signatures-in-practice/)
|
||||
|
||||
#### 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--)
|
||||
- [AVR231: AES Bootloader](https://www.microchip.com/en-us/application-notes/an2462)
|
||||
- [Blinky To Bootloader: Bare Metal Programming Series (YouTube Playlist)](https://www.youtube.com/playlist?list=PLP29wDx6QmW7HaCrRydOnxcy8QmW0SNdQ)
|
||||
- [MOOC - Security Part4 : STM32 security in practice (YouTube Playlist)](https://youtube.com/playlist?list=PLnMKNibPkDnF0wt-ZI74SflnsBV4yKzkO)
|
||||
- [MOOC - Security Part5 : How to define your security needs (YouTube Playlist)](https://youtube.com/playlist?list=PLnMKNibPkDnGqh5OmQWw98ztpf9TeczbC)
|
||||
- [MOOC - Security Part6: STM32 security ecosystem, from theory to practice (YouTube Playlist)](https://youtube.com/playlist?list=PLnMKNibPkDnGd7J7fV7tr-4xIBwkNfD--)
|
||||
- [TPM (Trusted Platform Module) - Computerphile](https://www.youtube.com/watch?v=RW2zHvVO09g)
|
||||
- [Securing Embedded Linux Systems with TPM 2.0 - Philip Tricca, Intel](https://www.youtube.com/watch?v=0qu9R7Tlw9o)
|
||||
- [TPM: Basic applications to embedded devices](https://witekio.com/blog/tpm-basic-applications-to-embedded-devices/)
|
||||
|
||||
Reference in New Issue
Block a user