Some time back many of my followers expressed interest in understanding how one could become a good embedded design engineer, so here is a short recipe 🙂
Start with basics, have patience while learning, be consistent in putting in time every single day, work hard.
Embedded is all about hardware [&] software, so you need to have a good foundation in both, even if you want to focus on one side more in the latter part of your career.
- Learn the basics of electronics, about electronics components – different types, how do they work, application circuits.
- Learn schematic symbols of the components, see pictures (Google search) of all the components to know how they look like if possible see them physically also.
- Go to Google image search, type embedded boards, download  embedded boards image you like, take [print out] and try to [label each component] you can identify. Learn how to search for components/ICs details/datasheets by its part number. Don’t worry, it couldn’t identify all the components. Try to learn about these components on the Internet. This is a fun activity. So many engineers I have interviewed in the past 7 years could not identify all the components on an embedded board.
- Learn how to read the electronic device datasheet. What are the important sections for different electronics components?
- Learn about the power supply. What is a power supply, what is the need for a power supply for an electronics product, different types of power supply and their application circuits?
- Learn to solder. Watch this video.
- Learn how to make small circuits on general-purpose PCB (printed circuit board). Make two small projects, don’t worry even if you are just copying someone’s project. Watch this LED flasher example video. One of my suggestion would be to make a power supply circuit which could also be used later in your min home lab 🙂
- Learn basic schematic design / PCB design using freely available software like KiCad (my opinion), CircuitMaker, Design spark PCB, Express PCB, etc. I have used Protel / Altium my whole life and done a little experiment with Kicad & some other free software. Read this article for more details.
- Go through some of the tear-down articles or videos to understand how others are making hardware, what all electronic components they use, what’s rational. I recommend eevblog.
- Learn what is protection, why it’s important, some basic protection circuits.
- Learn about test and measurement equipment like Multimeter, Logic Analyzer, Oscilloscope, Frequency Generator, etc. Go to YouTube and watch relevant videos to learn.
- Learn to debug, There are no formulae. When you will start building projects, you will face issues and then you will also learn how to identify (the difficult part) the problem and then how to solve (relatively easy) it. Debugging or troubleshooting most of the time needs more patience than intelligence. Read my article “How to debug an electronic circuit”.
- Learn programming in C. It is still one of the most used programming languages for building Embedded Systems.
- Learn about microcontrollers, commonly used components, and applications circuits like interfacing LED, Seven Segments display, Character displays, key, relay, EEPROM, RTC, potentiometer, buzzer, etc. Write some programs using MCU development boards of your choice.
- Learn about Operating System(OS), Real-Time Operating System (RTOS), what are the advantages. Maybe FreeRTOS (my opinion) as it is one of the most used embedded OS in the world and its free. Write a few programs using MCU development boards of your choice.
- Learn Embedded Linux, start with small things, most useful commands, scripting, few application examples using common peripherals. Raspberry Pi could be a good platform for learning.
Practice above for a few months & years, by making circuits/projects you love. Document all your projects nicely with pictures, videos to show off when going for an interview 😉