mirror of
https://github.com/m3y54m/Embedded-Engineering-Roadmap.git
synced 2026-09-28 18:08:17 +03:00
132 lines
8.0 KiB
Markdown
132 lines
8.0 KiB
Markdown
# 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, I have carefully selected the topics based on current open job requirements and organized them 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 comprehension of hardware functionality and, as the well-known saying goes, **"Hardware is hard."** Therefore, patience and passion are the essential qualities that will help you overcome the various challenges encountered along this journey.
|
||
|
||
## Roadmap
|
||
|
||

|
||
|
||
## Learning Resources
|
||
|
||
### ⭐️ Featured Material
|
||
|
||
#### Courses and Youtube Channels
|
||
|
||
- [Ben Eater YouTube Channel](https://www.youtube.com/@BenEater)
|
||
- [Fastbit Embedded Brain Academy](https://fastbitlab.com/)
|
||
- [DigiKey YouTube Channel](https://www.youtube.com/@digikey)
|
||
- [Phil’s Lab YouTube Channel](https://www.youtube.com/@PhilsLab)
|
||
|
||
#### Simulation
|
||
|
||
- [Wokwi - Online ESP32, STM32, Arduino Simulator](https://wokwi.com/)
|
||
|
||
#### Websites
|
||
|
||
- [SparkFun Learn: Learn at SparkFun Electronics](https://learn.sparkfun.com/)
|
||
- [Random Nerd Tutorials | Learn ESP32, ESP8266, Arduino, and Raspberry Pi](https://randomnerdtutorials.com/)
|
||
|
||
|
||
> **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.
|
||
> Of course, the more you study and practice, the deeper and wider your knowledge will become.
|
||
> This will ultimately enhance your skills as an engineer.
|
||
|
||
### Electronics Fundamentals
|
||
|
||
#### Basic Math & Calculus
|
||
|
||
- [Khan Academy - Calculus 1](https://www.khanacademy.org/math/calculus-1)
|
||
- [Calculus - Robert T Smith, Roland Minton](https://www.mheducation.com/highered/product/calculus-smith-minton/M9780073383118.html)
|
||
|
||
#### Electrical Circuits Basics
|
||
#### Electronic Components
|
||
|
||
- [#1099 How I learned electronics](https://youtu.be/Bgrubw6B_us)
|
||
- [Lessons in Electric Circuits](https://www.allaboutcircuits.com/textbook/)
|
||
- [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)
|
||
- [Encyclopedia of Electronic Components - Charles Platt](https://a.co/d/83cSiU7)
|
||
- [The Art of Electronics - Paul Horowitz, Winfield Hill](https://artofelectronics.net/)
|
||
|
||
#### Digital Circuits & Logic Design
|
||
#### 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)
|
||
- [Digital Design and Computer Architecture: ARM Edition - Sarah Harris, David Harris](https://a.co/d/4otoVvI)
|
||
- [Digital Design - Morris Mano](https://www.portcity.edu.bd/files/636444791235373856_Digitallogicdesign.pdf)
|
||
|
||
### Using Test Equipment
|
||
|
||
#### Multimeter
|
||
|
||
- [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
|
||
|
||
- [Instrument Basics: Logic Analyzer](https://youtu.be/u1DYs2I-_lU)
|
||
|
||
#### Oscilloscope
|
||
|
||
- [What’s an OSCILLOSCOPE?](https://youtu.be/DgYGRtkd9Vs)
|
||
- [How to Use an Oscilloscope](https://youtu.be/u4zyptPLlJI)
|
||
- [How to use an oscilloscope / What is an oscilloscope / Oscilloscope tutorial](https://youtu.be/CzY2abWCVTY)
|
||
|
||
### Prototyping Skills
|
||
|
||
#### PCB Design
|
||
|
||
- [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)
|
||
- [Microcontroller-Based Hardware Design With Altium Designer](https://www.youtube.com/playlist?list=PL3aaAq2OJU5HcbClqrOhqBDozF7HmxV-s)
|
||
- [Robert Feranec YouTube Channel](https://www.youtube.com/@RobertFeranec)
|
||
- [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_)
|
||
|
||
#### Soldering
|
||
|
||
- [How To Solder - Electronics with Becky Stern | Digi-Key Electronics](https://www.youtube.com/watch?v=sS4v2hIFp9I)
|
||
- [HOW TO SOLDER! (Beginner's Guide)](https://www.youtube.com/watch?v=3jAw41LRBxU)
|
||
- [Soldering Crash Course: Basic Techniques, Tips and Advice!](https://www.youtube.com/watch?v=6rmErwU5E-k)
|
||
- [How to Solder Through-Hole Components - Another Teaching Moment | DigiKey Electronics](https://www.youtube.com/watch?v=DJH7VLGJ4fs)
|
||
- [How to Solder QFN MLF Package by Hand (Using a Hot Air Rework Station) | Digi-Key Electronics](https://youtu.be/X3Rc1s6EpSI)
|
||
- [From Solderless Breadboard to Soldered Circuit - Electronics with Becky Stern | Digi-Key Electronics](https://www.youtube.com/watch?v=F9Krq7seV1g)
|
||
|
||
#### Using Breadboards
|
||
|
||
- [Everything You Need to Know about Breadboards](https://www.youtube.com/watch?v=mE33WpRWrXs)
|
||
- [How to Use a Breadboard](https://youtu.be/6WReFkfrUIk)
|
||
|
||
> Under construction!
|
||
|
||
|
||
## 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.
|
||
I took that idea, changed the structure of the roadmap and tried to improve it. The initial results can be accessed in [m3y54m / Embedded-Engineering-Roadmap-Archived](https://github.com/m3y54m/Embedded-Engineering-Roadmap-Archived) which is now archived. Early versions of the roadmap were created using [Balsamiq Wireframes](https://balsamiq.com) which is not suitable for these types of diagrams. So I decided to use Microsoft Visio instead and redrew the whole diagram.
|
||
|
||
## Copyright
|
||
|
||
This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/) which means that you are free to **share** or **adapt** this work under the following terms:
|
||
|
||
**Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
|
||
|
||
**ShareAlike** — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
|
||
|
||
## Acknowledgement
|
||
|
||
Special thanks to my friends in the community of Iranian Embedded Engineers in Twitter and [r/embedded](https://www.reddit.com/r/embedded) subreddit for their suggestions that helped in improving this roadmap.
|
||
|
||
## Cotribution
|
||
|
||
If you think that this map can be improved in anyway, please start an issue or pull request. I’ll be maintaining and updating this repository frequently.
|
||
|
||
The source file is created using [Microsoft Visio](https://office.com/visio) in `.vsdx` format and included in this repository for your contributions. If you do not have Microsoft Visio or you want to use free software, you can use [draw.io](https://draw.io) which can import and export `.vsdx` files.
|