I have a couple of questions? I have one of the above variants and can connect and upload sketches – but the ExpressIf board library only lists the ESP32 Development board and WEMOS LoLIn 32 (even though the choice of boards includes ‘NodeMCU-32S’ which I have been using?)
The issue I have is that uploading the sketch does not appear to reset the board? The ‘EN’ reset button doesn’t appear to do anything either? There is an ‘EN’ pin but I can’t find anything to tell me how to use it – make it ‘HIGH’ ie 3.3v to reset? (the board pins are not marked which is a bit of a nuisance too!)
The other issue is that I have connected a 20×4 LCD display driven by an Adafruit I2C backpack to GPIO22 and GPIO21 which appears to work but occasionally freezes – is this likely to be a problem with the driver? (which I also can’t find much info about!)
I have connected a potentiometer to GPIO36 and can see a value that varies between 0 – 4095 but this is not steady in the serial monitor – and the value on the LCD freezes?
Do you think my ESP32 board is faulty?
I’ll try to answer your questions with bullet points. I dope I don’t miss any of your questions:
- Even though you can select exact board name in the Boards menu, if you end up using the generic board “ESP32 Dev Module”, it should work with all the boards
- If you can’t see all the boards names, I would try to remove the old installation and re-install the ESP32 add-on…
- The EN (Enable) button when pressed should restart/reset your board. Try to open the Arduino IDE serial monitor with a code running, then press the EN button and your program should restart
- Unfortunately some boards don’t restart during upload/ go into flashing mode automatically. So, after pressing the “Upload” button in the Arduino IDE, you need to hold down the “BOOT/FLASH” button on the ESP32 to force it to receive the new sketch
- The Adafruit library should work just fine with the LCD and I’ve never experienced any problems. Are you using the exact code that I use in my projects? It might be something in your code that crashes the ESP32 and the display stops working
- That’s normal, the ADC values oscillate even if you don’t move the potentiometer (but that’s why in your code you should have good thresholds, so it doesn’t trigger anything with those oscillations)
To sum up, I don’t think your board is faulty. The EN (Enable) should restart your board and some boards need to follow the procedure described on bullet point 4) to enter flashing mode.
I think you either have a problem in your code (or it can be a problem with the Adafruit library) that causes the LCD to crash, but I don’t know for sure.
I also think GPIO 36 is reading the values as it’s supposed to.
I hope that helps.