DOIT ESP32 DevKit | Getting Started & Programming | Tutorial & Project

DOIT ESP32 DevKit | Getting Started & Programming | Tutorial & Project


DOIT ESP32 DevKit is a microprocessor-based development board developed by It contains ESP-WROOM-32 Wi-Fi Module, which integrates an ESP32D0WDQ6 Wi-Fi System-on-a-Chip (SoC). The chip is embedded with Tensilica Xtensa LX6, Dual Core 32-bit Microprocessor, which has a 520KB of SRAM and 448KB of EEPROM, which can be read and written with the EEPROM library. The chip has an external 4MB SPI Flash Memory to store the user program. It runs on the clock speed of 80MHz to 240MHz. It supports IEEE 802.11b/g/n wireless networking standards and operates on 2.4GHz frequency band. It also supports WEP, WPA, and WPA2 security protocols. It is compliant with Bluetooth v4.2 BR/EDR and BLE specifications. The chip also integrates a Temperature Sensor, Hall Sensor, and Capacitive Touch Sensor. DOIT ESP32 DevKit uses Silicon Labs CP2102 chip, as a USB-to-Serial Convertor.

DOIT ESP32 DevKit can be programmed or powered with the USB-to-Serial connection of 5V, via Type-Micro B USB Connector.

DOIT ESP32 DevKit has 19 digital input/output pins, which are labeled D2, D4, D5, D12, D13, D14, D15, D18, D19, D21, D22, D23, D25, D26, D27, D32, D33, D34, and D35. These pins are used for general purpose input/output and can be configured by using the pinMode(), digitalRead(), and digitalWrite() functions.

DOIT ESP32 DevKit also has 14 analog input pins, which are labeled D4, D12, D13, D14, D15, D25, D26, D27, D32, D33, D34, D35, VN, and VP. These pins are connected to on-board 18-channel 12-bit Analog-to-Digital Converter (ADC) and are used to read the analog voltages by using the analogRead() function.

Both digital and analog pins can tolerate a maximum voltage of 3.3V and can provide or receive a maximum current of 40mA. Each of these pins has an internal pull-up resistor, which can be enabled by using the INPUT_PULLUP command.

- VIN Pin is used to power the board with an external power supply of 5V to 12V.

- 3V3 Pin provides a regulated 3.3V output from the board.

- GND Pins are the Ground pins.

- Digital Pin D2, D4, D5, D12, D13, D14, D15, D18, D19, D21, D22, D23, D25, D26, D27, D32, D33, D34, and D35 are the External Interrupts pins, which can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value by using the attachInterrupt() function.

- Digital Pin D2, D4, D5, D12, D13, D14, D15, D18, D19, D21, D22, D23, D25, D26, D27, D32, D33, D34, and D35 are the Pulse Width Modulation (PWM) pins, which provides 12-bit Pulse Width Modulation (PWM) output by using the ledcWrite() function.

- Digital Pin D21 and D22 are SDA and SCL respectively are the Two Wire Interface (TWI) pins, which support Two Wire Interface (TWI) or I2C communication by using the Wire library.

- Digital Pin D5, D18, D19, and D23 are SS, SCK, MISO, and MOSI respectively are the Serial Peripheral Interface (SPI) pins, which support Serial Peripheral Interface (SPI) communication by using the SPI library.

- Digital Pin D25 and D26 are the 2-channel 8-bit Digital-to-Analog Converter (DAC) pins, which can be used to convert two digital signals into two analog voltage signal outputs.

- Digital Pin D2, D4, D12, D13, D14, D15, D27, D32, and D33 are the Capacitive Touch sensing pins, which detect variations induced by touching or approaching the pins with a finger or other objects by using the touchRead() function.

- RX and TX Pin are the Serial pins, which support Serial or UART communication by receiving/transmitting TTL serial data.

- VN and VP Pin is recommended for use as Analog-to-Digital Converter (ADC).

- EN Pin is the Chip Enable pin, which is to be active HIGH for normal operation.

- EN Button is used to reset the microprocessor when pressed.

- BOOT Button enables us to flash the firmware into the microprocessor when pressed.

- There is a built-in LED which is connected to the Digital Pin D2.


Components that you'll required:

- 400 Tie-Points Breadboard:

- Type-A to Type-Micro B USB Cable:

Please check out the description or resources to buy these components.


DOIT ESP32 DevKit | Getting Started & Programming | Tutorial & Project | Connections

Now, let’s see the connections.

- Connect the anode of LED to the Digital Pin D2 of DOIT ESP32 DevKit, via a 220 Ohm Resistor.

- Connect the cathode of LED to the GND Pin of DOIT ESP32 DevKit.


In order to program the DOIT ESP32 DevKit, you'll need to download the software and source code from the description or resources.

Now, let’s program the DOIT ESP32 DevKit.

- Connect the one end of USB cable to the DOIT ESP32 DevKit, and another end to your Computer.

- Install the CP210x USB to UART driver, if not already installed.

- Open the sketch in the Arduino IDE. This program enables the DOIT ESP32 DevKit to turn the LED on and off depending upon the value of pin connected to the LED. When the pin value is HIGH, the LED turns on and when the pin value is LOW, the LED turns off. This program doesn’t require any library.

- Open the Preferences dialog from the File menu of Arduino IDE.

- Enter the URL of the Board Package into the Additional Board Manager URLs field.

- Open the Boards Manager from the Tools menu of Arduino IDE.

- Find the “esp32” platform and click on the Install button.

- Select the proper Board from the Tools menu of Arduino IDE.

- Select the proper Serial Port from the Tools menu of Arduino IDE.

- Click on the Upload button to upload the sketch to the DOIT ESP32 DevKit.

If the upload is successful, the message "Done uploading" will appear in the status bar of Arduino IDE. After a few seconds, you should see the LED starts blinking.


Popular posts from this blog

DOIT ESP8285 DevKit | Getting Started & Programming | Tutorial & Project

Heltec ESP32 LoRa DevKit | LoRa Controlled Robot Car | Tutorial & Project