Programming The ESP32 In C
Using The Arduino Library

Errata - None

Program Listings - Under Active Construction 

Resources 

Additional Material

ESP32CArduino360

Buy from:  Amazon

The Espressif ESP32 is a remarkable device. It is low cost but with many different subsystems that make it more powerful than you might think. You can use it for simple applications because it is cheap, but you can also use it for more sophisticated applications because it is capable.

C is the ideal choice of language to program the ESP32, ensuring that your programs are fast and efficient, and here it is used with the customized ESP version of the Arduino library and its associated IDE which makes the device as easy to use as possible. The Arduino library runs on top of the official Espressif ESP32 IoT Development Framework as a simplifying layer and you can always drop down a level and make use of its additional features when required.

The purpose of this book is to reveal what you can do with the ESP32's GPIO lines together with widely used sensors, servos and motors and ADCs. After covering the GPIO, outputs and inputs, events and interrupts, it gives you hands-on experience of PWM (Pulse Width Modulation), the SPI bus, the I2C bus and the 1-Wire bus, the UARTs and, of course, WiFi. To round out, it covers direct access to the hardware, adding an SD Card reader, sleep states to save power, the RTC, RMT and touch sensors. It also devotes a chapter to FreeRTOS which takes us into the realm of asynchronous processing.

This is not a projects book, although there isn’t much left for you to do to round out the embryonic projects that are used as examples. Instead it is about understanding concepts and the acquisition of skills. The hope is that by the end of the book you will know how to tackle your own projects and get them safely to completion without wasting time in trial and error.

Harry Fairhead is the author of Programming the ESP32 in C Using the Espressif IDF and co-author of Programming the ESP32 in MicroPython. C is his programming language of choice and he is the author of Fundamental C: Getting Closer To The Machine and Applying C For The IoT With Linux. His other books on programming single-board computers include Programming the Raspberry Pi Pico/W in CRaspberry Pi IoT In CRaspberry Pi IoT in C With Linux Drivers and Micro:bit IoT in C.

Paperback  

  • Publisher ‏ : ‎ I/O Press (December 13, 2024)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 370 pages
  • ISBN-10 ‏ : ‎ 1871962927
  • ISBN-13 ‏ : ‎ 978-1871962925
  • Item Weight ‏ : ‎ 1.77 pounds
  • Dimensions ‏ : ‎ 7 x 0.84 x 10 inches

Kindle

  • ASIN ‏ : ‎ B0DHKT342W
  • Publisher ‏ : ‎ I/O Press; 1st edition (December 13, 2024)
  • Publication date ‏ : ‎ December 13, 2024
  • Language ‏ : ‎ English
  • Format ‏ : ‎ Print Replica

Hardback

  • Publisher ‏ : ‎ I/O Press (December 14, 2024)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 370 pages
  • ISBN-10 ‏ : ‎ 1871962293
  • ISBN-13 ‏ : ‎ 978-1871962291
  • Item Weight ‏ : ‎ 1.77 pounds