# ESP32 ESP-WROOM-32 NodeMCU v2 {{tag> esp32 arduino constrained iot development}} https://www.amazon.es/gp/product/B074RGW2VQ/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 AZDelivery 3 pcs ESP32 ESP-WROOM-32 NodeMCU Modulo Wifi + Bluetooth Dev Kit C Placa de Desarrollo 2.4 GHz Dual Core con Chip CP2102 (sucesor del ESP8266) compatible con Arduino con E-Book incluido! ``` Voltaje de alimentación : 5V Voltaje de entrada / salida : 3.3V Corriente de Funcionamiento : min. 500mA SoC : ESP32-WROOM 32 Frecuencia de Reloj : 80MHz / 240MHz RAM : 512kB Memoria Flash externa : 4MB Pines I / O : 34 Interfaces : SPI, I2C, I2S, CAN, UART Protocolos Wi-Fi : 802.11 b/g/n (802.11n hasta 150 Mbps) Frecuencia Wi-Fi : 2.4 GHz - 2.5 GHz Bluetooth : V4.2 - BLE y Bluetooth clásico Antena inalámbrica : PCB Dimensiones : 56x28x13mm ``` Fotos: ![esp32_esp-wroom-32_nodemcu_1.jpg](/public/esp32_esp-wroom-32_nodemcu_1.jpg) ![esp32_esp-wroom-32_nodemcu_2.jpg](/public/esp32_esp-wroom-32_nodemcu_2.jpg) Pinout: ![esp32_esp-wroom-32_nodemcu_pinout.png](/public/esp32_esp-wroom-32_nodemcu_pinout.png) **Para hacerla funcionar** - Tienes que configurar el IDE de arduino para que reconozca esta placa. - En "Preferencias" tienes 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" tienes que seleccionar la placa en cuestión dentro del apartado "ESP arduino". - Si no lo tienes claro del todo puedes consultar la documentación en: https://github.com/espressif/arduino-esp32 - Se puede programar la placa con ArduinoIDE o LUA(espressif). **Evitar tener que pulsar el botón al programar (??)** ![esp32_esp-wroom-32_nodemcu_avoid_button_press.png](/public/esp32_esp-wroom-32_nodemcu_avoid_button_press.png) **Versiones --- V2 Vs. V4** Es necesario identificar si estamos tratando con la V2 o la V4: Fotos para diferenciar: Arriba V2 con patas de color amarillo Vs. Abajo V4 con patas de color negro. ![esp32_esp-wroom-32_nodemcu_v2vsv4.png](/public/esp32_esp-wroom-32_nodemcu_v2vsv4.png)![esp32_esp-wroom-32_nodemcu_v2up_v4down.png](/public/esp32_esp-wroom-32_nodemcu_v2up_v4down.png) **ERROR en la serigrafía** El pin junto a `5V` **NO ES GND**, es un pin CMD que conecta directamente con la SPI interna y no debería conectarse a nada. ![esp32_esp-wroom-32_nodemcu_pinout_correction.png](/public/esp32_esp-wroom-32_nodemcu_pinout_correction.png) ## Instrucciones para hacer funcionar dispositivos I2C https://www.az-delivery.de/en/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-beide-i-c-schnittstellen-verwenden https://randomnerdtutorials.com/esp32-i2c-communication-arduino-ide/ ## Información adicional copiada directamente de Mensajes de página de compra en Amazon ------------------------------------------------------------------------ This week found another e-book, “ESP-32 Dev Kit C V4 Eng”. This is much better with 30 pages, a pinout diagram, explanation of pin functions and sketches for PWM control of an LED as well as blinking. There appears to be a mistake in the pinout diagram. GPIO2 and GPIO4 are both called SD_D1. I think one of them should be SD_D0, but which? The guide helpfully tells a user to avoid using pins 6,7,8,9,10 & 11 as they are SPI pins connected to the integrated SPI flash and should not normally be used. The two boards appear to be from different manufactures – V2 at the top with yellow components and legs – V4, below with black legs. Version 2 has a larger base board with four fixing holes and clearer pin names. Version 4 has fuzzy printing of the pin names and the antenna overhangs the end of the board. Una es que hay que pulsar el boton de bot al grabar la placa, pero lo solucioné colocando un condensador electrolítico de 10uf/25v entre las patillas EN y GND; respetando la polaridad. Dejo una foto que circula por la red. A mi me funcionó de lujo. La otra es que está mal serigrafiado un pin GND. En este caso no es masa sino CMD....se parece no? Dejo una foto para que se vea cuál es. Pero después de tantas ventas, ya podrían corregir estas cosas. El micro es V2, o es lo que pone en arduino después de compilar el sketch. Me hubiese gustado disponer de la placa Dev C V4 que está agotada y es mas como la original de Espressif. ------------------------------------------------------------------------ I had previously ordered one of these boards, direct from Germany, and received a V4 board. Ordering another, via Amazon UK, I was sent, and disappointed to receive, an earlier, yellow legged version 2. (Old stock in UK?) These boards are too wide to fit into a normal breadboard so I built a breakout board with stripboard and added an I2C SSD1306 128x64 display, a test button/switch, an LED with protection resistor and a 10K potentiometer. The V2 board had a manufacturing problem and the legs, with yellow plastic support, were not at right angles to the bottom of the board. Each leg had to be carefully straightened to the correct angle before it could be inserted into a correctly spaced vertical socket on the breakout board. Earlier, in mid-September, I had downloaded a free e-book, ”ESP32 Development Board Englisch”, and found that it was very short, did not provide a pinout (except to expect the built in LED to be on pin 1) and only described how to add the board drivers to the Arduino IDE and run the Blink sketch. I found this rather disappointing. This week found another e-book, “ESP-32 Dev Kit C V4 Eng”. This is much better with 30 pages, a pinout diagram, explanation of pin functions and sketches for PWM control of an LED as well as blinking. There appears to be a mistake in the pinout diagram. GPIO2 and GPIO4 are both called SD_D1. I think one of them should be SD_D0, but which? The guide helpfully tells a user to avoid using pins 6,7,8,9,10 & 11 as they are SPI pins connected to the integrated SPI flash and should not normally be used. The two boards appear to be from different manufactures – V2 at the top with yellow components and legs – V4, below with black legs. Version 2 has a larger base board with four fixing holes and clearer pin names. Version 4 has fuzzy printing of the pin names and the antenna overhangs the end of the board. Rather disconcerting are the different pin names when you compare the boards. Top left on the V2 board the pin next to the 5V pin is marked GND. It is not a GND pin but is in fact CSC/CMD – one of internal SPI pins to be avoided like the next two adjacent pins SD3 and SD2 and on the opposite edge CLK, SD0 and SD1. On the V4 boards the pins to be avoided are in the same positions but called: CMD, D3, D2, CLK, D0 and D? (next to 15). Looking at the top right of the V2 board, near to the 3V3 pin and moving left to right are 4 pins called G35, G34, SN and SP. On the V4 board, in the same position they are called 35, 34, VN and VP. Their GPIO numbers are 35, 34 39 and 36. These are input only pins, without pull-up/pull down resisters so you need to add your own if using a button/switch. (I think SN, SP and VN, VP are inputs to a signal pre-amplifier for an external Hall Sensor. Probably best to avoid use to prevent damage for the moment.) The e-book explains how to add board support to the Arduino IDE and this worked perfectly. I then tried the Blink and LED Fade sketches using an LED and 560 Ohm resistor on pin 2. Both worked as expected. I did notice that the V2 board did not appear to have a power ON LED, while the V4 board did. Neither appear to have spare “D13 like LED” available for the user to flash. The e-book states that any of the normal GPIO pins support PWM. I tried using pin 23 (default SPI MOSI) with the Fade sketch. It worked on the V4 board but on the V2 board I had problems. Initially I could get it to Blink but not Fade, then it stopped blinking. Dead pin? I’ve never had this happen before. I tried a button switch on pin 23. It did not work either – the pin is dead! This was not a short. I work on a clear wooden table top next to my keyboard. I continued with the V4 board with an LED on 23, button switch on 34 (pull-down 10K resistor) and a 10 K potentiometer on 32. An SSD1304 was connected to the I2C pins 22 and 21. A suitable sketch to read the pot and switch, display their values on the OLED and turn the LED on/off worked well. Compilation was much slower than on an Arduino. The A/D registered an accurate zero at one end of the pot, and 4095 at the high end with a little bit of ‘dead twist’ at the high end. My final test was to modify a self-setting internet clock sketch, using NTP time and the ESP32’s ability to link to your WiFi network. The compilation took ages because of the essential libraries, but work perfectly. Conclusion: I’m very happy with the V4 board and give it 5 stars but the V2 board only 1 star – bent pins, no power LED, poor labels and a dead pin. ------------------------------------------------------------------------ - Ref. Comentarios de Amazon: https://www.amazon.es/gp/product/B074RGW2VQ/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 ---