The ultimate project-based guide to building real-world embedded applications in C and C++ programming