

The Freenove ESP32-E 40pin is a versatile microcontroller board based on the powerful ESP32 chip. It features 40 pins for a wide range of input/output (I/O) connections, making it suitable for complex projects. With built-in Wi-Fi and Bluetooth capabilities, this board is ideal for Internet of Things (IoT) applications, smart devices, and embedded systems. Its compact design and robust functionality make it a popular choice for both hobbyists and professionals.








The Freenove ESP32-E 40pin has a total of 40 pins, each with specific functions. Below is a summary of the pin configuration:
| Pin Name | Function | Description |
|---|---|---|
| VIN | Power Input | Accepts 7-12V input to power the board. |
| GND | Ground | Common ground for the circuit. |
| 3V3 | Power Output | Provides 3.3V output for external components. |
| EN | Enable | Resets the chip when pulled low. |
| IO0 | GPIO0 / Boot Mode | Used for boot mode selection or general-purpose I/O. |
| IO2 | GPIO2 | General-purpose I/O pin. |
| IO4 | GPIO4 | General-purpose I/O pin. |
| IO5 | GPIO5 | General-purpose I/O pin. |
| IO12 | GPIO12 / ADC / Touch | Configurable as ADC, touch input, or general-purpose I/O. |
| IO13 | GPIO13 / ADC / Touch | Configurable as ADC, touch input, or general-purpose I/O. |
| IO14 | GPIO14 / ADC / Touch | Configurable as ADC, touch input, or general-purpose I/O. |
| IO15 | GPIO15 / ADC / Touch | Configurable as ADC, touch input, or general-purpose I/O. |
| IO16 | GPIO16 | General-purpose I/O pin. |
| IO17 | GPIO17 | General-purpose I/O pin. |
| IO18 | GPIO18 / SPI_CLK | Configurable as SPI clock or general-purpose I/O. |
| IO19 | GPIO19 / SPI_MISO | Configurable as SPI MISO or general-purpose I/O. |
| IO21 | GPIO21 / I2C_SDA | Configurable as I2C SDA or general-purpose I/O. |
| IO22 | GPIO22 / I2C_SCL | Configurable as I2C SCL or general-purpose I/O. |
| IO23 | GPIO23 / SPI_MOSI | Configurable as SPI MOSI or general-purpose I/O. |
| IO25 | GPIO25 / DAC1 | Configurable as DAC output or general-purpose I/O. |
| IO26 | GPIO26 / DAC2 | Configurable as DAC output or general-purpose I/O. |
| IO27 | GPIO27 | General-purpose I/O pin. |
| IO32 | GPIO32 / ADC / Touch | Configurable as ADC, touch input, or general-purpose I/O. |
| IO33 | GPIO33 / ADC / Touch | Configurable as ADC, touch input, or general-purpose I/O. |
| IO34 | GPIO34 / ADC | Input-only ADC pin. |
| IO35 | GPIO35 / ADC | Input-only ADC pin. |
Note: Not all GPIO pins support all functions simultaneously. Refer to the ESP32 datasheet for detailed pin multiplexing information.
Below is an example of how to blink an LED connected to GPIO2:
// Example: Blink an LED connected to GPIO2 on the Freenove ESP32-E 40pin
#define LED_PIN 2 // GPIO2 is connected to the LED
void setup() {
pinMode(LED_PIN, OUTPUT); // Set GPIO2 as an output pin
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
Tip: Use the Serial Monitor in the Arduino IDE to debug your code and monitor outputs.
Board Not Detected by Computer:
Upload Fails with "Failed to Connect" Error:
Wi-Fi Connection Issues:
Unstable Operation or Random Resets:
Q: Can I use 5V sensors with this board?
A: Yes, but you will need a level shifter to convert 5V signals to 3.3V.
Q: How do I reset the board?
A: Press the "EN" button to reset the board.
Q: Can I use this board with MicroPython?
A: Yes, the ESP32 is compatible with MicroPython. Flash the firmware to get started.
By following this documentation, you can effectively utilize the Freenove ESP32-E 40pin for your projects.