This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Is knowing electronics a prerequisite for embedded programming?

Hi all,

As a C++ programmer and graduated as a software engineer, I would like to enter embedded programming. As for C++, it's OK and I can use it for that purpose but I'm not sure about electronics. 
Is knowing electronics a prerequisite for embedded programming, in your points of view? If so, how much of that, please?


When studying at university we passed some courses related to electronics though, but now not sure what else should to gain on electronics before programming for embedded devices. Or, if there's any useful tutorial you might have in mind for that issue. 

Thanks in advance.  

  • Some electronics knowledge is useful, perhaps even essential.  But you certainly don't need the sort of BSEE electronics education full of calculus, physics, and transistor-level analysis of integrated circuits.  You can get by with the sort of info you'd get from a Ham Radio license or Electronic Circuits Hobby.

    Sadly, I think that these days it is hard to find educational materials for lot of those "basics"; current literature jumps right into "connect your Arduino...", and people end up not understanding how a microcontroller peripheral register is different from a memory location, because "flip flops" were in that awkward space in between "driver transistors and current limiting resistors" and "Integrated Sensor chip."

    (I mean, there ARE current books aimed at that space, but it's really hard to read them, or evaluate their usefulness for beginners, when you already have the background.  I can recommend Don Lancaster's "Cookbooks", notable "The CMOS Cookbook" and "TV Typewriter Cookbook", but they are based on ~1980 technology.  (OTOH - free downloads:  https://www.tinaja.com/ebksamp1.shtml ))

  • Learning embedded systems without the basic knowledge of electronics would not be a good idea. Embedded systems is a mix of hardware and software. You can follow the approach of learning-by-doing instead of going through the lengthy and detailed text books. Basic electronics, digital electronics, knowledge of microcontrollers and C programming would are some of the prerequisites for embedded programing though.. Since you are from computer science background you would need a development board of any 8-bit microcontroller 

  • Hi , has Bill answered your question here? If so, mark it as an accepted answer. Many thanks.