ESP32 económico


Como novedad en el mercado el fabricante alemán AZ-Delivery , muy conocido en Amazon, ha creado el Módulo Placa de Desarrollo ESP32 NodeMcu WiFi CP2102 , el cual tiene integra el potente Microcontrolador ESP32 instalado, lo cual, como podemos deducir ,es ideal para prototipos rápidos sin desembolsar una gran cantidad de dinero.

El AZ-Delivery Dev Kit C ha sido diseñado por Espressif, para ofrecer una fácil introducción a la programación del nuevo procesador ESP32-Dual-Core. Además del procesador mencionado dual core ,integra una serie de nuevos sensores y funciones que la hacen muy interesante en el desarrollo del IoT.

Como es fàcil deducir, esta nueva placa de desarrollo ESP32 permite la dinámica creación de prototipos con una sencilla programación a través de un script Lua, mediante el Arduino-IDE o incluso otros IDES de desarrollo ( por ejemplo ATOM).

Como todos la familia ESP32, una de las funciones más destacables aparte de los puertos de E/S es que integra funciones Wi-Fi y Bluetooth.

Otra característica es el consumo ultra bajo de energía gracias a que cuenta con chips Bluetooth Wi-Fi de modo dual de 2,4 GHz y TSMC, así como tecnología de bajo consumo de 40 nm.

El módulo tiene 38 pines y ofrece más funciones que un módulo de 30 pines. Es más pequeño y más conveniente de usar, pero lo que es importante destacar es que la serigrafia ( o pinout) de esta placa, como podemos más abajo, no es exactamente la misma que otras placas basada en ESp32

De igual manera que en el modelo predecesor ESP8266, la funcionalidad WLAN está implementada directamente en el SoC, pero con funcionalidad Bluetooth adicional (incl. BLE).
El procesador ESP32 que se utiliza combina una CPU con 2 núcleos Tensilica LX6, con una frecuencia de hasta 240 MHz, y 512 Kilobytes de SRAM en un único chip microcontrolador. Además, integra una unidad de radio para WLAN (según 802.11bgn) y Bluetooth (Classic y LE).

En casi de usar el IDE de Arduino tenemos que configurarlo para que reconozca esta placa. En «Preferencias» tenemos que agregar la opción «Gestor de URLs adicionales de tarjetas» la siguiente URL: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json


Luego en la opción «Herramientas» y luego «Placas» tenemos que seleccionar la placa en cuestión dentro del apartado «ESP32 Dev Module» (si no lo tiene clar del todo puede consultar la documentación en: https://github.com/espressif/arduino-esp32)

Una vez realizado los pasos anteriores , la tarjeta que tenemos seleccionar es «ESP32 DEV MODULE«. pero esto no tiene nada que ver con los puertos: en teoría el driver USB de esta placa debe ser CP2102 por lo que lo debemos tenerlo instalado en nuestro ordenador. Si no nos reconoce el puerto es porque no lo tenemos cargado o no está actualizado, así que ese ese es un paso importante para poder empezar a trabajar con esta versión del ESP32.

Lo normal es que debería funcionar sin problema seleccionando ESP32 Dev Module en las Tools del IDE, pero en caso de problemas compruebe que el puerto USB seleccionado este activo, tenga los permisos de acceso necesarios y por supuesto tenga instalado el driver. Desgraciadamente este tipo de problemas es bastante corriente y suele tener que ver con las actualizaciones de las tablas de dispositivos de su ordenador más que con problemas del IDE de Arduino.

En esta versión hay dos pequeñas problemas ( pero solventables):

  • Al pulsar el botón de bot para grabar la placa a veces no responde. Este problema es muy habitual en las placas ESp32 e incluso en las versiones más antiguas, pero se soluciona colocando un condensador electrolítico de 10uf/25v entre las patillas EN y GND respetando la polaridad.
  • Está mal serigrafiado un pin GND ( poner CMD….¿se parece no? .
  • El micro es V2, o es lo que pone en arduino después de compilar el sketch. Hubiese sido interesante disponer de la placa Dev C V4 que está agotada y es más como la original de Espressif.
  • Esta placa es teóricamente un clon de DevKitc para ESP32 pero sin embargo, no hay diferencias insignificantes, y NO documentadas. Aparte de la serigrafía ya comentada ( y tambien en un caso incorrecto del pin G23 que es realmente G33), la principal diferencia son los LED incorporados. El DevKitc original tiene un LED de encendido rojo (siempre encendido cuando está encendido) y un LED azul de «aplicación» conectado al GPIO 2, que se puede utilizar para señalar algo: es el que parpadea con el programa de prueba «parpadea». Esta versión NO tiene el LED de encendido o el LED azul (por ejemplo, el boceto de «parpadeo» no funciona): tiene un LED rojo que está conectado al GPIO 1 que es el de la serie, por lo que parpadea con la actividad del puerto serie. Si quiere usarlo desde su propio boceto, mientras tanto tiene que adaptarte para ordenarlo en lógica denegada (LOW hace que se encienda), entonces pierde la funcionalidad del serial. O viceversa: si utiliza el serial (por ejemplo serial.print), el LED no funciona. Es molesto porque el LED programable a bordo es muy útil especialmente en la depuración, y es aún más molesto porque esto no está documentado y, sobre todo al principio se pierde tiempo.