Create your own car engine control unit (ECU) with a simple Raspberry PI while building the necessary skills to produce future more advanced projects. Once you've worked through the projects in this book, you'll have a smart car and the coding knowledge needed to develop advanced hardware and software projects.Start by understanding how the Pi works, and move on to how to build hardware projects, use the GPIO pins, and install the system. Then add to that a solid understanding of software development principles and best practices, along with a good grasp of Python (v3.6+) and Python/software best practices. More than just how to code in Python, you'll learn what it takes to write production grade software, defensive code, testing, deployments, version control, and more. Internalize industry best practices while going further with valuable software development techniques such as defensive programming.The concepts introduced are essential to ensuring that software can function under unexpected circumstances. Can you imagine what would happen if your mobile phone could not cope with a call from an unknown number, or you had to set you microwave in increments of 6 seconds? While testing avoids edge cases such as these, defensive programming is one of the building blocks of software development.What You'll LearnHone test driven development in Python skillsDebug software and hardware project installationsWork with the GPIO ports of the Pi to feed your software real-world hardware informationWho This Book Is ForPeople who like working on cars and want to learn Raspberry Pi and software development but don’t know where to start.