Developing IoT Projects with ESP32-Second Edition:A Review

Image

Disclaimer: I hereby declare that I have been solicited by Maran Fernandes to furnish authentic feedback regarding the book titled โ€œDeveloping IoT Projects with ESP32-Second Edition.โ€ It is imperative to underscore that my evaluation remains entirely impartial, and I wish to emphasize that neither Mr. Fernandes nor his team has exerted any influence upon me to render a partial judgment. The opinions and remarks articulated in this blog post are exclusively my own, with the sole intention of providing insights to the best of my capability.
Cheers! ๐Ÿป

An Overview:

Upon delving into the initial pages, I swiftly grasped the bookโ€™s overarching objective. It endeavors to explore the IoT ecosystem through diverse examples, skillfully balancing practical applications with essential theoretical underpinnings. Each chapter seamlessly commences with fundamental theories, key concepts, or a project blueprint, seamlessly transitioning to the practical implementation through code.

The Review

The book positions itself not as the definitive guide to ESP32 but as a valuable companion for comprehending and implementing a myriad of examples that showcase the robust capabilities of ESP32-based systems and ESP-IDF. It offers a distinctive perspective on IoT, aiming to maximize knowledge in my humble opinion.

The Dilemma of Target Audience ๐Ÿ‘ฅ

This book is not tailored for absolute beginners or hobbyists; both may find the substantial amount of code and theoretical content challenging, especially if they lack prior experience with electronics or object-oriented programming (OOP). While the book doesnโ€™t explicitly position itself for novices, it remains firmly rooted in the technical aspects of IoT, providing extensive insights into using PlatformIO and ESP-IDF.

A Unique Programming Language Choice ๐Ÿ’ป

Rather than utilizing Arduino C++ or MISRA C, the book adopts a robust C++-based system for ESP-IDF. While this language choice may initially surprise readers, a deeper exploration in later chapters reveals its purposeโ€”to maintain consistency with libraries and leverage object-oriented programming for enhanced code modularity. The initial hesitation I felt was quickly overcome as the rationale became apparent.

The Exponential Curve ๐Ÿ“ˆ

The book sets a deliberate pace in the first and second chapters, gradually intensifying in the third. While it attempts to sustain this momentum, the need to cover substantial content in smaller chapters presents a challenge. Keeping up with the increasing complexity may become demanding in the later chapters.

Managing Expectations

Prospective buyers should not expect exhaustive coverage of ESP-IDF and IoT; disappointment awaits those seeking comprehensive insights. The book serves as a tool to reinforce prior knowledge of IoT systems and C++, facilitating the creation of practical, real-life projects that can serve as a foundation for future endeavors.

The Internet Part โ˜

Despite the titleโ€™s emphasis on the Internet aspect of IoT, the book remains narrowly focused on IoT concepts, omitting coverage of Bluetooth, Zigbee, and other essential protocols. While the decision to maintain focus is understood, a brief introduction to these technologies could have added valuable context.

Hardware Requirements ๐Ÿ”Œ

To follow along, readers are required to invest at least $80 in hardware. Despite potential backlash, I commend the authors for this decision, as adequate hardware is essential for a meaningful learning experience. Taking a firm stand on this ensures readers gain practical insights from the book.

Book Design ๐ŸŽฏ

The book employs a unique design, delving into theory, hardware, software, and troubleshooting in each chapter. While the first three aspects are adequately covered, troubleshooting is addressed in a chapter-specific manner. Given that troubleshooting is integral to IoT, a more comprehensive approach in helping readers understand and overcome failures would be beneficial.

Holding Hands ๐Ÿค

The book adopts a guiding approach, holding readersโ€™ hands through each step. While this may enhance reader satisfaction, it could hinder true learning, as some readers may resort to copying code without fully grasping the concepts. The increasing pace in later chapters may result in reader frustration and potential abandonment.

Final Words

Despite its caveats, the book effectively achieves its intended goals, offering a comprehensive exploration of TinyML and Edge Computing concepts. I wholeheartedly recommend it as a must-read for individuals keen on IoT, possessing a good-enough programming background. Even those already entrenched in the industry may find this book surprising, thanks to its distinctive approach to programming and insightful explanations of various libraries. The authorโ€™s wealth of experiences contributes significantly to making this book a compelling and enriching read.

Where to buy?

You can buy this book on the Packtโ€™s website