The ESP32 is a microcontroller that integrates Wi-Fi, Bluetooth, 12-bit ADC, capacitive touch, PWM, DAC, and UART in a single SoC. However, the abundance of features does not by itself solve the designer's problems. The real challenges lie in selecting the appropriate development environment, determining which pins can be used and which must be avoided, and converting raw data from modules into usable information. This document addresses ESP32 peripheral constraints (ADC2 and Wi-Fi coexistence limitation, UART1 occupancy, ADC non-linear regions), the trade-offs between Arduino IDE and ESP-IDF, and the process from connecting NEO-6M/NEO-M8N GPS modules to UART2, parsing NMEA sentences, and visualizing routes in Google Earth, all organized based on documented references.

















