Tu planteamiento es correcto en esencia, pero tienes un error: la ecuación de Steinhart-Hart usa logaritmo natural (ln), no log10. En C, log() es ln, así que estás bien en ese aspecto. Sin embargo, el ADC del ESP32 no es lineal en los extremos, especialmente cerca de 0 y 3.3V. Si tu termistor opera en un rango donde el voltaje se acerca a esos límites, tendrás errores. Te sugiero usar un rango medio (por ejemplo, 0.5V a 2.8V) o implementar una corrección lineal por software. Sobre B-parameter vs Steinhart-Hart: B-parameter es una aproximación más simple y menos precisa si tu rango es amplio (ej. -40°C a 125°C). Para rangos acotados (20-30°C), B-parameter puede ser suficiente.