New to programming or embedded systems? 

When I started working with embedded systems, I was overwhelmed by the lack of information available to beginners. I am sharing useful reference materials to get you started with programming and embedded systems development. I wish I had this type of resource when I was starting out - I hope it serves as a shortcut on your journey.

Programming Languages | Foundational Topics | Getting Started with Embedded
Managing Your Career | Recommended Videos | Books We Love

programming languages


Every programmer needs to be armed with a tool-belt of languages. We think embedded developers should be confident in C, C++, Assembly, and Python.





  • A Tour of C++ (2nd ed.) is a great introduction to C++ written by the language's creator. Recently updated for C++17

  • Effective Modern C++ - Provides tips and strategies for effectively using new C++11 an C++14 features. Definitely worth reading if you are

  • C++ Best Practices - a "Collaborative Collection of C++ Best Practices". Covers the safety, maintainability, portability, threadability, and performance of C++ code.


Foundational Topics

The following resources will build a solid foundation for your software development career.

Essential Reading

Open Source Development

Getting Started with Embedded Systems


As an embedded engineer, you need to be comfortable working at the intersection between hardware and software. These resources will help you develop the fundamental skills needed to build embedded systems.



Embedded developers will benefit from having experience with electrical engineering and how circuits work. The following resources will help you get started:


The following resources will help you learn embedded software development techniques:


Real-Time Operating Systems


Managing Your Career

Keeping your career on track is just as important as improving your programming chops. If you only read one item from the links below, we think the most important is The Unwritten Laws of Engineering

Career Guidance

Working at a Startup


Code reviews

Arne Mertz of Simplify C++ published a series on the topic of code reviews. This is a common software development activity, and these articles will help you prepare for reviews like a pro.

  1. Code Reviews - Why?
  2. Code Reviews - What?
  3. Code Reviews - Preparation
  4. Code Reviews - How?
  5. Code Reviews - The Human Aspect

Recommended Videos


Our YouTube channel has a curated set of playlists related to programming and embedded systems. We’ve also saved high quality lectures and playlists from other channels on YouTube.


Embedded Systems Playlist

RTOS Playlist


Books We Love

The following books were mentioned throughout this page. By purchasing books using our affiliate link, you enable us to continue supporting the embedded community.