The ESP32 UWD, manufactured by MakerFabs (Part ID: DW1000), is a powerful and versatile microcontroller designed for Internet of Things (IoT) applications. It combines integrated Wi-Fi and Bluetooth capabilities with a robust set of features, including multiple GPIO pins, ADCs, and support for various communication protocols. This makes it an excellent choice for smart devices, home automation, industrial control systems, and other connected projects.
Explore Projects Built with ESP32 UWD
Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
This circuit features an ESP32 Wroom Dev Kit as the main microcontroller, interfaced with an MPL3115A2 sensor for pressure and temperature readings, and a Neo 6M GPS module for location tracking. The ESP32 is also connected to an SD card reader for data logging purposes. A voltage regulator is used to step down the USB power supply to 3.3V, which powers the ESP32, the sensor, and the SD card reader.
This circuit is a WiFi-controlled robotic system powered by an ESP32 microcontroller. It features an OLED display for status messages, an RGB LED for visual feedback, and dual hobby gearmotors driven by an L9110 motor driver for movement. The system is powered by a 4 x AAA battery pack regulated to 5V using a 7805 voltage regulator.
This circuit is an access control system using an ESP32 microcontroller, which integrates an RFID reader, an ultrasonic distance sensor, a DHT11 temperature and humidity sensor, a potentiometer, a pushbutton, an LED, and a 16x2 I2C LCD display. The system reads RFID tags to grant access, displays information on the LCD, and uses the potentiometer to adjust settings, while the ultrasonic sensor measures distance and the DHT11 monitors environmental conditions.
This circuit features an ESP32-WROOM-32UE microcontroller as its central processing unit, interfaced with a variety of sensors including a BMP280 barometric pressure sensor, an Adafruit VEML6075 UV sensor, an ENS160+AHT21 air quality sensor, and a GPS NEO 6M module for location tracking. The ESP32 logs data from these sensors to an SD card using a SparkFun OpenLog and also communicates with an RFM95 LoRa transceiver for wireless data transmission. A step-up boost converter raises the voltage from a 3.7V battery to 5V to power the ESP32-CAM, and a buzzer is included for audio signaling, all controlled by the ESP32 which runs a sketch to read sensor data and log it periodically.
Smart home devices (e.g., smart lights, thermostats)
Industrial automation and monitoring
Wearable technology
Wireless sensor networks
Robotics and drones
IoT prototyping and development
Technical Specifications
Key Technical Details
Parameter
Specification
Microcontroller
ESP32 Dual-Core Processor
Clock Speed
Up to 240 MHz
Flash Memory
4 MB (expandable)
SRAM
520 KB
Wi-Fi
802.11 b/g/n
Bluetooth
Bluetooth 4.2 (Classic + BLE)
GPIO Pins
34
ADC Channels
18 (12-bit resolution)
Communication Protocols
UART, SPI, I2C, I2S, CAN, PWM
Operating Voltage
3.3V
Input Voltage Range
3.0V - 3.6V
Power Consumption
Ultra-low power (varies by mode)
Dimensions
25.5 mm x 18 mm
Operating Temperature
-40°C to +85°C
Pin Configuration and Descriptions
The ESP32 UWD features a total of 38 pins, with 34 GPIO pins that can be configured for various functions. Below is a summary of the pin configuration:
Pin Number
Pin Name
Functionality
1
EN
Enable pin (active high)
2
IO0
GPIO0, boot mode selection
3
IO1
GPIO1, UART TX
4
IO2
GPIO2, ADC2 channel
5
IO3
GPIO3, UART RX
6
IO4
GPIO4, PWM, ADC2 channel
7
IO5
GPIO5, SPI CS
8
IO12
GPIO12, ADC2 channel, touch sensor
9
IO13
GPIO13, ADC2 channel, touch sensor
10
IO14
GPIO14, PWM, ADC2 channel
...
...
... (Refer to the full datasheet)
37
GND
Ground
38
3V3
3.3V power supply
Note: Some GPIO pins have dual or specialized functions. Refer to the ESP32 UWD datasheet for detailed pin multiplexing information.
Usage Instructions
How to Use the ESP32 UWD in a Circuit
Power Supply: Ensure the ESP32 UWD is powered with a stable 3.3V supply. Avoid exceeding the input voltage range (3.0V - 3.6V) to prevent damage.
GPIO Configuration: Configure the GPIO pins as input, output, or alternate functions (e.g., ADC, PWM) based on your application.
Programming: Use the Arduino IDE, PlatformIO, or ESP-IDF to program the ESP32 UWD. Install the necessary board support package (BSP) for ESP32.
Communication: Utilize the built-in Wi-Fi and Bluetooth capabilities for wireless communication. Libraries such as WiFi.h and BluetoothSerial.h can simplify development.
Peripherals: Connect sensors, actuators, or other peripherals to the GPIO pins. Use appropriate pull-up or pull-down resistors if required.
Important Considerations
Voltage Levels: The ESP32 UWD operates at 3.3V logic levels. Use level shifters if interfacing with 5V devices.
Power Modes: Leverage the ultra-low-power modes (e.g., deep sleep) for battery-powered applications.
Antenna Placement: Ensure proper placement of the onboard antenna for optimal Wi-Fi and Bluetooth performance. Avoid placing metal objects near the antenna.
Example Code for Arduino UNO Integration
Below is an example of using the ESP32 UWD to connect to a Wi-Fi network and send data to a server:
#include <WiFi.h> // Include the Wi-Fi library
// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
void setup() {
Serial.begin(115200); // Initialize serial communication
delay(1000);
// Connect to Wi-Fi
Serial.print("Connecting to Wi-Fi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWi-Fi connected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP()); // Print the device's IP address
}
void loop() {
// Example: Send data to a server (replace with your server details)
WiFiClient client;
const char* server = "example.com";
if (client.connect(server, 80)) {
client.println("GET / HTTP/1.1");
client.println("Host: example.com");
client.println("Connection: close");
client.println();
}
delay(10000); // Wait 10 seconds before sending the next request
}
Tip: Replace Your_SSID and Your_PASSWORD with your Wi-Fi network credentials. Modify the server details as needed for your application.
Troubleshooting and FAQs
Common Issues
Wi-Fi Connection Fails
Cause: Incorrect SSID or password.
Solution: Double-check your network credentials and ensure the router is powered on.
ESP32 UWD Not Detected by Computer
Cause: Missing USB driver or faulty USB cable.
Solution: Install the correct USB-to-serial driver (e.g., CP210x or CH340) and try a different cable.
GPIO Pins Not Functioning as Expected
Cause: Incorrect pin configuration or conflicting functions.
Solution: Verify the pin mode in your code and check for pin conflicts in the datasheet.
High Power Consumption
Cause: Device not in low-power mode.
Solution: Use deep sleep mode when the device is idle to conserve power.
FAQs
Q: Can the ESP32 UWD operate on 5V? A: No, the ESP32 UWD operates at 3.3V. Use a voltage regulator or level shifter for 5V systems.
Q: How do I update the firmware? A: Use the ESP32 Flash Download Tool or the Arduino IDE to upload new firmware.
Q: Is the ESP32 UWD compatible with Arduino libraries? A: Yes, the ESP32 UWD is fully compatible with most Arduino libraries, including Wi-Fi and Bluetooth libraries.
Q: Can I use the ESP32 UWD for battery-powered projects? A: Yes, the ESP32 UWD supports ultra-low-power modes, making it suitable for battery-powered applications.
For additional support, refer to the MakerFabs documentation or community forums.