Les comparto mi opinión basada en mi experiencia de unos cuántos años desarrollando sistemas embebidos para equipamiento médico o industrial.
La pregunta tiene respuestas completamente opuestas dependiendo de varios factores, el principal factor es cuál es el entorno de uso. Si es un producto consumer no tiene nada de malo en utilizar un ESP8266 o un ESP32, sean pocas cantidades o en cientos de miles. Si quieres utilizar el ESP8266 en un equipamiento de soporte de vida, en la industria aeronáutica o en un satélite, en prodcutos que deben certificar IEC61000 o EN55032, la respuesta es definitivamente NO lo uses.
Sí es importante que no utilices Arduino. Arduino es genial como entorno de aprendizaje por su extrema simplicidad, por la gran cantidad de librerías y los innumerables aportes de la comunidad pero eso tiene un costo: inestabilidad, poco robusto, dudosa calidad del código, etc. La concatenación de cadenas (que la gente tanto ama, especialmente los programadores con poca o ninguna formación en sistemas embebidos que piensan que los recursos son ilimitados como en una PC) terminan en fragmentación de memoria que a la larga (y no tan larga) producen excepciones irrecuperables, halt o reset.
Si es tu primer producto o el primer prototipo de un nuevo producto, es aconsejable que utilices módulos que tengas disponible, pruebas el concepto, pruebas la viabilidad comercial, comienzas con algo con la funcionalidad esencial y vas creciendo desde ese punto basándote en el feedback de tus clientes, posibles clientes y en tus propias experiencias. Desarrollar una solución custom desde cero, requiere mucho tiempo, dinero y esfuerzo, lo más probable es que te gastes un dineral y resulte un producto con poca o nula aplicación comercial. Por ello, es mejor utilizar lo que tengas a mano para poder hacer las primeras experiencias y luego ir evolucionando.
Otro error común es el deseo interminable de perfección: conozco profesionales brillantes y muy capaces que en su afán de elaborar un producto perfecto, llevan 20 años investigando y aún no lanzaron el primer prototipo, así que intenta buscar un balance para lograr un primer producto que sea el perfecto "producto mínimo viable" pero sí debes enfocar tus esfuerzos en que ese producto funcione correctamente, es decir, que lo poco o mucho que dices que hace, lo haga a la perfección. Todos valoramos más un producto simple que funciona y, por lo tanto, que nos soluciona el problema, que una Ferrari que tienes que llevar a un costoso mecánico todos los días.
En el rubro consumer los ESP32 y ESP8266 son muy nobles, sólo debes dedicarle algo de tiempo a depurar algunas librerías y utilizar como base ESP-IDF.
Éxitos con tus proyectos!
Pablo Llanos Clariá
Embedded Linux Expert
UNITED CODERS