This is a classic engineering development board, targeted towards expert prototyping, debugging, education, and experimenting. It is basically just a hosting platform for a ESP32 module, providing access to almost all of its pins.
This board is not an ideal choice for beginners and is particularly unsuited for DIY devices, especially those that are battery-operated.
If you are a beginner or planning to use the board in your own DIY devices, there are much better-suited boards for the same price. If you want a “classic” development board, consider the smaller 30-pin version, as most of the additional pins exposed on this 38-pin board are unusable anyway, and you are wasting space. The picture below shows the size difference (left: 30pin, right: 38pin):
Overview
First, the good news: this is a solid piece of hardware with a decent voltage regulator that is used in many community projects. You can run your sketches on this board, and many community-projects use this development board.
The board comes with a variety of ESP32 modules installed, typically WROOM 32D (featuring a PCB antenna) and WROOM 32U (with an IPX connector for an external antenna).
The table below lists information specific to the original DevKitC V4. Please note that clones may utilize different components, other USB connectors, and can vary in PCB dimensions.
Item | Description |
---|---|
USB Connector | Micro-USB |
Microcontroller | ESP32-WROOM-DA/32E/32UE/32D/32U, ESP32-WROVER-E/IE, ESP32-SOLO1 |
Voltage Regulator | IRU1117-33 |
UART | CP2102 |
UART Driver | Silicon Labs |
Input Voltage at 5V pin | 4.75-7.0V |
Input Voltage at 3.3V pin | 3.0-3.6V |
Power Consumption | WiFi: 130-160mA Deep Sleep: 19mA |
Internal LED | none |
I2C Pins | SDA 21, SCL 22 |
SPI Pins | MOSI 23, MISO 19, SCLK 18 |
Size | 48.2x27.9mm (without PCB antenna), 54.4x27.9mm (with PCB antenna) |
Not Beginner-Friendly
The not-so-good news is that this board is not beginner-friendly. Its design is nearly a decade old and has been superseded by many newer boards and ESP32 variants that are more powerful, compact, and user-friendly.
Here’s why this board isn’t beginner-friendly:
- Micro-USB: The board features an old Micro-USB connector (newer revisions exist with USB-C).
- Drivers: your PC might not recognize the board out-of-the-box. Its original designs use a CP2102 UART controller, and its drivers aren’t typically included in your PC operating system. You may need to manually install the appropriate driver first.
-
Size: The board’s size makes it incompatible with standard breadboards. You’ll need to either use two breadboards side-by-side, connect wires directly to the pins or use a dedicated expansion development board for easier prototyping.
- Pins: While it seems advantageous to have access to nearly all ESP32 pins, many of the additional pins exposed by this board are useless for DIY projects and provide no advantage. For example, GPIO 6-11 are reserved for communication with flash memory. Using these pins can make the board unstable or prevent it from booting entirely.
- Pin Labeling: Pin labels on the board are inconsistent, confusing, and difficult to read. Some pins are labeled with GPIO numbers, while others use D notation (e.g., D2, which is GPIO9). The Dxxx pins are typically used in custom sketches, however with this board they are used for the unsafe pins and should never be used. This inconsistency can easily confuse beginners.
- No LED: Unlike many other development boards, this one lacks a built-in programmable LED, which is a handy feature for testing and learning.
- Firmware Upload: Uploading firmware requires manual intervention. You need to hold down the Boot button and then press the Reset button to enable bootloader mode for uploading. Most other boards do this automatically.
- Hardware Flaws: Early board revisions had hardware issues preventing sketches from running when powered via the 5V pin. Generally, this board design is outdated. It was introduced when ESP32S microcontrollers were first released in 2016. Despite its age, the DevKitC V4 board remains extremely popular and is readily available from numerous sources.
You can find many variants of this board design. They all function essentially the same, as vendors typically use the open-source hardware design provided by the manufacturer, and adjust it only slightly while keeping boards pin-compatible. Price differences can be significant, though: while the board is available for under €2 on AliExpress, local vendors often sell essentially the same product for €12 or more, sometimes even marketing this as a “sale.”
Clones
The original DevKitC V4 board designed by the manufacturer is open-source, and a wide range of products from different manufacturers exists, only slightly varying in PCB quality. A board labeled DevKitC V4 typically adheres to the original components and circuitry. Therefore, it doesn’t matter which variant you purchase—shop wisely and compare prices.
Some manufacturers have adapted the original design over time, modernizing or streamlining components such as the voltage regulator (AMS1117 instead of IRU1117-33), UART chip (CH340 instead of CP2102), or USB connector (USB-C instead of Micro-USB).
Most of these changes are practical improvements; for example, the CH340 chip typically doesn’t require manual driver installation, and USB-C is a clear upgrade over the older Micro-USB connector. Below is an example of a clone featuring an AMS1117 voltage regulator and pin labels on the backside:
The picture also illustrates that vendors may change the way they label the pins: the variant shown uses pin labels on the backside (instead of the front).
The general pin design, however, always follows the original specification, ensuring these clones are pin-compatible. All variants of the board work essentially the same, providing a reliable platform to test and experiment with a standard ESP32 module.
Always Use Antenna
Some boards come with IPEX connectors for external antennas which can be a good choice when you need maximum WiFi strength or must operate in weak WiFi networks.
If the board expects an external antenna to be connected, you can clearly see the IPEX connector (left board) that is replacing the PCB antenna (right board):
Again, this flexibility is great, but it comes with added responsibilities and caveats on your part: it is your responsibility now to actually connect an antenna. If your power up the board without an antenna connected, you quickly destroy its WiFi power amplifier.
Conclusion
This board is best suited for prototyping, education, and experimenting, and targets experienced users that know what they are doing. For them, it offers a wide variety of options. However, these options come with responsibilities:
- With almost all ESP32 pins exposed, you must identify the ones that are safe to use, or else the board will become unstable or refuses to boot at all.
- Likewise, with an external antenna jack, you must ensure a suitable antenna is connected, or else you will be damaging the WiFi power amplifier.
This board is also not ideal for production devices, especially battery-operated ones:
In addition to its large size, it is highly inefficient in terms of power consumption. Even in deep sleep, the board draws around 19mA, while modern ESP32 boards typically consume just 500μA. As a result, this board might only last a single day on a battery, whereas modern boards could operate for over a month. Optimized board designs like the FireBeetle series can draw as little as 20μA, extending the potential deep sleep runtime to up to three years.
The key reason for this inefficiency is that a true development board is designed for testing and experimenting with the ESP32 in a lab setting. It is not intended for production use, leaving power optimization to dedicated board designers. The supporting components chosen, and this boards’ overall design are far from sophisticated. It provides merely the fundamental requirements to test-drive a ESP32.
Hardware Overview
The ESP32 module (depending on type, either with a PCB antenna or an IPX antenna jack) occupies about half of the PCB surface area. Toward the inner side, there is unused space unless your breakout board uses the larger WROVER module, which includes additional PSRAM.
Some vendors have utilized the wasted space and shifted the entire ESP32 module on the PCB, making additional room for the PCB antenna that otherwise sticks out and enlargens the footprint.
USB Connector
On one side, a Micro-USB connector allows you to connect the board to a computer.
Next to the USB connector, a Silicon Labs CP2102 chip provides a USB-to-UART bridge, capable of speeds up to 3 Mbps. This chip may require manual driver installation for your computer to recognize it.
Some vendors have replaced the CP2102 by a more common CH340 which typically does not require additional drivers to be installed.
Power Supply
The board offers three mutually exclusive ways to power it:
- USB: Use 5V USB, which is internally converted to 3.3V.
- 5V/GND Pins: Connect an external power supply to the 5V and GND pins. This input also passes through the onboard voltage regulator, similar to the USB method. You can supply voltage in the range of 4.75-7.0V (unless your board uses a different voltage regulator).
- 3.3V/GND Pins: Supply 3.3V directly to the 3.3V and GND pins. This method bypasses the voltage regulator and powers the microcontroller directly. When you power the board this way, the power LED will not turn on. This is the most energy-efficient method but also the riskiest: if your external supply does not consistently deliver regulated voltage between 3.0V and 3.6V, it can easily damage the board and/or microcontroller.
Always use only one of the three power methods listed above. Never power the board through both an external supply and USB simultaneously. The most common mistake is supplying power through the 5V or 3.3V pins while connecting the board to a computer via USB cable for firmware uploads. To avoid damage: disconnect the external power supply during firmware uploads -or- use a USB connector that can disable its power lines like in the picture below.
Voltage Regulator
Behind the CP2102 lies an IRU1117-33 3.3V voltage regulator, capable of supplying up to 800mA. This regulator is used when the board is powered via USB or the 5V pin. It accepts a maximum input voltage of 7V.
Some clones use other voltage regulators, for example the AMS1117 which is interchangeable. AMS1117 is widely cloned, though, and quality may vary depending on the source. The original IRU1117-33 is less commonly cloned and might ensure more consistent quality.
To the right, there are two JY3/S8050 epitaxial planar transistors, each with a high collector current of 500mA and high total power dissipation.
Power LED
A surface-mount power LED is located on the opposite side of the board. It illuminates whenever input power passes through the voltage regulator. However, it does not turn on when you power the board via the 3.3V pin to conserve energy in battery-operated scenarios.
Firmware Download Mode
The board includes two push buttons labeled EN (reset) and Boot.
To enter Firmware Download Mode:
- Hold down the Boot button.
- While holding Boot, press and release the EN button.
- Release the Boot button.
This puts the board into Firmware Download Mode, allowing you to upload new firmware via the USB connector. Timing is crucial—this must be done exactly when your IDE attempts to connect to the board.
After the firmware transfer is complete, press the EN button again (without pressing Boot) to exit Firmware Download Mode and run your sketch normally.
Hardware Flaw
On the initial versions of this board, there was an odd behavior: when powered externally (not via USB), you need to manually press the EN button to reset the board and run your sketch. It won’t start automatically. The issue does not occur when the board is powered via USB.
The reason for this unwanted behavior is a capacitor (C15) connected in parallel to the Boot button that causes the board to launch the boot loader by default. On newer versions of this breakout board, the capacitor has been removed. If it is still in place on your board, and you experience this problem, then you know what to do: remove it.
The SMD capacitor is very small, and there are delicate tracks behind it that can easily be damaged by brute force or an over-sized and over-heated soldering iron. Desoldering this component requires proper tools (i.e., a heat gun).
The picture shows a newer version with the solder pads for C15 (but with no capacitor present):
Pinout and GPIO
This breakout board exposes most of the ESP32 pins:
For a detailed description, consult the ESP32S GPIO listing. If you just need to figure out which GPIOs can be used for your next project, take a look at the safe-to-use ESP32 GPIOs.
Practical Considerations
This board is a development board in its best sense: it exposes almost all ESP32 pins and invites anyone to fully test-drive the ESP32.
Unfortunately, for the same reasons, the board is fairly large. Its width is 28mm, which is unfortunately too wide to place the breakout board on typical breadboards:
Only one row of header pins would remain accessible.
One Breadboard Isn’t Enough
Most breadboards are modular and can be combined and rearranged. When you take two breadboards and remove one power rail each, you can stick them together in a way that provides the necessary real estate to place the breakout board:
Better yet, use one of the dedicated expansion boards.
No Built-in LED
This board has no built-in user-controllable LED: simple blink sketches will not work.
There is a LED on the board; however, this is the power LED that is not user-controllable.
Missing Board Definition
Neither Arduino IDE nor platformio provide a dedicated board DevKitC V4, so you need to find a similar board. That’s no rocket science but not self-explanatory either, especially for novice users:
- Arduino IDE: choose ESP-WROOM-32.
- platformio: use the generic esp32dev profile, or use one of the many profiles added by companies that rebranded this generic board.
[env:az-delivery-devkit-v4]
platform = espressif32
board = az-delivery-devkit-v4
framework = arduino
Make sure you remove any build flags or other settings that you do not positively know are necessary. If you copy&paste extra settings from other boards, you may easily run into compile exceptions like “Serial was not declared in this scope”.
Driver Installation
This board may not initially be recognized by your computer when you connect it via USB cable. This is due to its USB to UART bridge:
The CP2102 from Silicon Labs is fast, but it is not as ubiquitous as i.e. the CH340. It may require a manual driver installation before the board is recognized.
Some clones employ more commonly used UART chips such as the CH340 in which case your board will be recognized out of the box, and no additional drivers are required.
Is Board Recognized?
If a new device discovered chime plays when you connect the board to your PC, that’s a very good sign.
If no sound plays, or if you would like to verify, open device manager (Windows PC) and check that a new COM Port has appeared (and vanishes when you unplug the board from your PC).
Manual Driver Installation
If no COM Port appears in device manager once you have connected the board to your PC, then most likely the CP210x drivers are missing.
Visit Silicon Labs and download the appropriate driver package. On Windows, I installed CP210x Windows Drivers and CP210x VCP Windows.
Once you downloaded the driver packages, make sure you right-click the downloaded ZIP file, choose Properties, and click on the button to unblock the file before you unzip it.
Once drivers are installed, restart the computer. When you now connect the board, it will now be correctly recognized, and a COM port appears in device manager.
If things still do not work, make sure you use an appropriate USB cable. Try using a cable that you previously successfully used to upload firmware. There are plenty of cheap cables with no data wire connection, high cable resistance, or loose plug connections.
Uploading New Firmware
If you managed to successfully connect the board to your computer, then there is a final challenge to master when you are ready to upload new firmware to it:
The board needs to be manually set to firmware download mode at just the right moment. Other microcontroller boards switch automatically to this mode when it is needed.
- Initiate Firmware Upload: in your IDE (platformio or ArduinoIDE), compile your sketch and ask the IDE to upload it to your microcontroller.
-
Connection: your IDE tries to connect to the board. As soon as this happens and you see it trying to connect, hold the Boot button and press EN shortly. This procedure enables the firmware download mode. Only now will the board respond to the connection requests.
The connecting… message will now hold for a second, and then the IDE starts to upload the new sketch to the board.
Conclusion
The DevKitC V4 is a great development board to test-drive ESP32 features simply because it exposes all important CPU pins.
It’s a solid board with a good voltage regulator, and its street price of under EUR 2.00 is ok, too (don’t buy it for EUR 10 or more - there are still people selling it for these ridiculous prices).
You can get great expansion boards, and while the resulting physical size is huge now, it can be perfect in a lab or for educational purposes.
What is Your Use Case?
It all boils down to your use case:
- Beginner: If you are a beginner and would like to start exploring the world of microcontrollers, then there are definitely other boards that provide more bang for the buck while being a lot easier to handle.
- Device Use: If you are planning to use a microcontroller board inside your DIY devices, then there are much smaller boards with a much better energy efficiency for the same price, for example the ESP32 C3 SuperMini, or the ESP32 S2 Mini. If you are willing to spend €5 instead of €2, the T-Display comes with 16MB Flash Memory (instead of 4MB) and a TFT display, a battery interface and charger, and a deep sleep consumption of 290uA (instead of 19mA).
For comparison, here is a picture of the ESP32 DevKitC V4, plugged into an expansion board, and a ESP32 C3 SuperMini that I placed next to it:
The former comes with all classic ESP32 features including DAC and dual core processor, whereas the latter has just a single core and is missing some of the lesser-used ESP32 features (such as the DAC). They both have the same 4MB of flash memory.
That said, I am routinely using the ESP32 C3 SuperMini in most of my bread-and-butter sensors and devices including sophisticated applications such as WLED, and its tiny size and affordable price works perfectly well in my devices where a ESP32 DevKitC V4 board would have been way too clumsy and power-hungry.
Materials
Board Schematics
ESP32 Datasheet
CP2102 USB-UART-Bridge
IRU1117 3.3V Voltage Regulator
S3050/J3Y Transistor
Slow Website?
This website is very fast, and pages should appear instantly. If this site is slow for you, then your routing may be messed up, and this issue does not only affect done.land, but potentially a few other websites and downloads as well. Here are simple steps to speed up your Internet experience and fix issues with slow websites and downloads..
Comments
Please do leave comments below. I am using utteran.ce, an open-source and ad-free light-weight commenting system.
Here is how your comments are stored
Whenever you leave a comment, a new github issue is created on your behalf.
-
All comments become trackable issues in the Github Issues section, and I (and you) can follow up on them.
-
There is no third-party provider, no disrupting ads, and everything remains transparent inside github.
Github Users Yes, Spammers No
To keep spammers out and comments attributable, all you do is log in using your (free) github account and grant utteranc.es the permission to submit issues on your behalf.
If you don’t have a github account yet, go get yourself one - it’s free and simple.
If for any reason you do not feel comfortable with letting the commenting system submit issues for you, then visit Github Issues directly, i.e. by clicking the red button Submit Issue at the bottom of each page, and submit your issue manually. You control everything.
Discussions
For chit-chat and quick questions, feel free to visit and participate in Discussions. They work much like classic forums or bulletin boards. Just keep in mind: your valued input isn’t equally well trackable there.
(content created May 16, 2024 - last updated Dec 26, 2024)