There are many different kind of ESP32 boards out there; but the DOIT is by far the most popular one. It’s simple: if you type ESP32 in Banggood, Aliexpress or Taobao, it is the first design that comes up.
Quite simply, if you are starting with ESP32, it is probably the development board you will buy, similarly to how a the Uno R3 is the recommended board for an Arduino beginner.
Let’s cut to the chase: the DOIT ESP32 is a lazy design. It is strikingly similar to Espressif’s official DevKitC. This would not be a bad thing, since the official design is a good board, but for some weird reason DOIT ESP32 managed to butcher it.
Starting with the pinout. The official board has 2×19 pins on each side, the DOIT… 2×15. This is extremely infuriating as it is clear this is just an attempt to shave off a few cents out of the PCB size. You end up with a board that is very close but not pin compatible.
And that’s not all! Espressif provides of course some sort of “hello world” program and a “blink” sketch. Loading this blink sketch will not work with the on board LED. Indeed, the default Blink sketch uses GPIO 5 for the on board LED on the official board; but DOIT ESP32 has a LED connected to… GPIO 2. I was getting really frustrated for a few minutes until I realized this subtle design change.
Using the board
OK so the DOIT ESP32 has a few quirks; but is it a bad board because of this? Absolutely not! Sketches load flawlessly on it and the manufacturers included a pre-loaded program that prints a few lines of text to the serial port and blinks the on board LED. It’s really useful to check from the get go that the board is indeed working and that you can connect to it.
Another good thing is that it uses the CP2102 USB to UART chip to convert the logic between USB and raw serial. This chip should work out of the box on all modern operating systems; whether you work on Windows, Linux or MacOS.
Not only that, the board embarks the chip as a soldered on board. You could technically program the board, desolder it, and solder it back into a permanent design. Some boards have made the choice to not use Espressif’s design (for example the ESP32 thing from Sparkfun) and it seems to be an odd design choice.
As far as bang for your buck goes, the DOIT ESP32 is amazing; but it is truly regrettable that they chose not to break out some GPIOs. Isn’t that the whole purpose of a development board?
|The Good||The Bad|