1. Introduction
No longer worry about insufficient memory or lack of PSRAM space when using FireBeetle 2 ESP32-E! Now, there is a version of FireBeetle 2 ESP32-E(N16R2) with 16M Flash and 2M PSRAM, offering enhanced memory capacity and operating space.
This product improves memory capacity and operating space, providing better performance when running applications such as LVGL graphics library for interface design and interaction. It is based on Espressif's ESP32-WROOM-32E-N16R2 module, featuring a 32-bit dual-core processor with a clock frequency of up to 240MHz, and supporting WiFi and Bluetooth dual-mode communication. It is highly suitable for IoT scenarios.
In terms of product design, FireBeetle 2 ESP32-E(N16R2) has the following features:
Rich peripheral interfaces
Including 17 digital pins, 11 analog pins, 3 UART interfaces, 1 SPI interface, 1 I2C interface, 1 I2S interface, and 2 DAC interfaces, it can meet various hardware connection requirements.
Dual power supply modes
Supporting USB and external 3.7V lithium battery power supply, it can automatically switch between power sources in dual power supply mode. It also supports USB and external DC charging modes.
Support for multiple programming methods
Including Arduino IDE, ESP-IDF, MicroPython, etc., catering to the programming preferences of different developers.
Compact design, easy to embed
With dimensions of only 25.4mm × 60mm, it has onboard WiFi and Bluetooth antennas and adopts a stamp hole design, making it easy to embed or integrate into PCB prototypes.
Wide range of application scenarios
It is suitable not only for home automation renovation, IoT project prototyping, IoT remote control, remote robot control, but also for projects running LVGL graphics library for interface design or interaction.
Furthermore, this product is one of the low-power IoT development boards in the FireBeetle series. If it does not meet your requirements, you can refer to the FireBeetle Series Selection Guide to choose a more suitable model.
2. Features
- Equipped with ESP32-WROOM-32E-N16R2 dual-core module
- Clock frequency up to 240MHz, with 16M Flash and 2M PSRAM for large memory capacity
- Low-power development board, supporting dual-mode communication of WiFi and Bluetooth
- Onboard GDI display interface for quick connection to display screens
- Onboard charging circuit and PH2.0 lithium battery interface, supporting dual-power supply and automatic switching
- Supports various programming methods such as Arduino IDE, ESP-IDF, MicroPython, etc.
- Compact design with small size, suitable for IoT projects with limited space and embedded systems
3. Specifications
Power Parameters
- Input Voltage
- USB-C interface: 5V DC
- PH2.0 interface: 3.7V Li-ion
- VCC pin: 5V DC
MCU Parameters
- Processor: Tensilica LX6 dual-core processor (one core for high-speed connectivity, one core for independent application development)
- Clock Frequency: 240MHz
- SRAM: 520KB
- ROM: 448KB
- Flash: 16MB
- PSRAM: 2MB
- On-chip Clock: 40MHz crystal oscillator, 32.768KHz crystal oscillator
Wireless Parameters
- Wi-Fi Standard: FCC/CE/TELEC/KCC
- Wi-Fi Protocol: 802.11 b/g/n/d/e/i/k/r (802.11n, up to 150 Mbps), A-MPDU and A-MSDU aggregation, supports 0.4us protection interval
- Wi-Fi Frequency Range: 2.4~2.5 GHz
- Bluetooth Protocol: Compliant with Bluetooth V4.2 BR/EDR and BLE standards
- Bluetooth Audio: CVSD and SBC audio
- Bluetooth Frequency Range: 2.4~2.5GHz
Peripheral Parameters
- Digital Pins × 17: IO0, IO1, IO2, IO3, IO4, IO12, IO13, IO14, IO15, IO17, IO18, IO19, IO21, IO22, IO23, IO25, IO26
- Analog Pins × 11: IO0, IO2, IO4, IO12, IO13, IO14, IO15, IO25, IO26, I34, I35
- UART Interfaces: ×3
- SPI Interface: ×1
- I2C Interface: ×1
- I2S Interface: ×1
- DAC Interface: ×2
- Touch Interfaces: ×7
- LED PWM Channels: ×16
- RGB_LED: WS2812
- Display Interface: GDI
Other Parameters
- Interface Compatibility: FireBeetle V2 series compatible
- Module Size: 25.4mm × 60mm
- Weight: 23.4g
4. Board Overview
No. | Function | Description |
---|---|---|
① | USB Interface | Program download and power supply, 4.75V-5.5V compatible |
② | Charging Indicator | Red LED for indicating charging status: 1. Off when fully charged or not charged; 2. On when charging; 3. Quick flash when powered by USB, and no battery connected. |
③ | User Button | Controlled by pin IO27/D4 |
④ | Li-ion Battery Port | Support 3.5V-4.2V |
⑤ | Onboard RGB Light | WS2812 RGB LED, controlled by pin IO5/D8 |
⑥ | Onboard LED | LED controlled by pin IO2/D9 |
⑦ | Reset Button | Press to reset program |
⑧ | Low-power Solder Jumper Pad | Designed for low power mode and default to be connected. Slightly cut off the thin wire with a knife to disconnect it. When disconnected, static power consumption can be reduced by 500 μA. The power consumption can be reduced to 13 μA after controlling the maincontroller to enter the sleep mode through the program. Note: when the pad is disconnected, you can only drive RGB LED light via the USB Power supply. |
⑨ | GDI | DFRobot dedicated Display interface. Refer to the GDI part of this page. |
⑩ | ESP32-E Module | ESP32-WROOM-32E-N16R2 |
5. Pinout
Categroy | Description |
---|---|
Control | FireBeetle enable/reset pins |
Touch | Pin with capacitive touch function |
Analog | Analog pin |
Port PIN | Default physical pin number of the chip, which can be used to directly control the corresponding pin |
Arduino IDE | In Arduino IDE, the pin numbers have been remapped by FireBeetle, and you can directly use this symbol to control the corresponding pin |
RTC PIN | FireBeetle 2 ESP32-E supports low power function, and in Deep-sleep mode, only RTC pin keeps working and can be used as a wave-up source. When RTC pin is used as an output pin, it keeps outputting level value when the chip is in Deep-sleep mode, while as an input pin, it can wake up the chip from Deep-sleep. |
GND | Common ground for all power supplies and logics |
Power | When powered by 5V-USB, VCC outputs about 4.7V and 3V3 outputs 3.3V; When powered by 4V li-ion battery, VCC outputs about 4V and 3V3 outputs 3.3V(Actual measurement) |
FireBeetle 2 ESP32-E(N16R2) has up to 21 physical GPIOs, which are mainly for connecting peripherals like sensors, actuators, etc. Meanwhile, these IO pins can be multiplexed for other functions such as UART, SPI, I2C and so on. The table below provides users with a detailed description of FireBeetle 2 ESP32-E(N16R2) GPIO.
Pin Number | Name | Function | ADC | Communication | Remark |
---|---|---|---|---|---|
GPIO 0 | 0/D5 | Used as input or output | ADC2_CH1 | Occupied when using USB transmission | |
GPIO 1 | 1/TXD | Used as input or output | UART0_TX | Occupied when using USB power supply and serial printing | |
GPIO 2 | 2/D9 | Used as input or output | ADC2_CH2 | For controlling onboard LED by outputting digital signal | |
GPIO 3 | 3/RXD | Used as input or output | UART0_RX | Occupied when using USB power supply and serial printing | |
GPIO 4 | 4/D12 | Used as input or output | ADC2_CH0 | ||
GPIO 12 | 12/D13 | Used as input or output | ADC2_CH5 | ||
GPIO 13 | 13/D7 | Used as input or output | ADC2_CH4 | ||
GPIO 14 | 14/D6 | Used as input or output | ADC2_CH6 | ||
GPIO 15 | 15/A4 | Used as input or output | ADC2_CH3 | ||
GPIO 18 | 18/SCK | Used as input or output | SPI_SCK | ||
GPIO 19 | 19/MISO | Used as input or output | SPI_MISO | ||
GPIO 21 | 21/SDA | Used as input or output | I2C_SDA | ||
GPIO 22 | 22/SCL | Used as input or output | I2C_SCL | ||
GPIO 23 | 23/MOSI | Used as input or output | SPI_MOSI | ||
GPIO 25 | 25/D2 | Used as input or output | ADC2_CH8 | DAC_1(Range: 0-255; Output Voltage: 0-3.3V) | |
GPIO 26 | 26/D3 | Used as input or output | ADC2_CH9 | DAC_2(Range: 0-255; Output Voltage: 0-3.3V) | |
GPIO 34 | 34/A2 | Used as input only | ADC1_CH6 | ||
GPIO 35 | 35/A3 | Used as input only | ADC1_CH7 | ||
GPIO 36 | 36/A0 | Used as input only | |||
GPIO 39 | 39/A1 | Used as input only |
Note:
It is recommended not to multiplex the pin IO0/D5, IO1/TXD and IO3/RX since they will be occupied when using USB-related function. The USB-related circuit design is shown below:
IO34-39 are for input only.
NC Pin Explanation: Originally designated as IO16/D11 pin, it is now changed to NC pin, which means it should not be used for any other functions. Please refer to the datasheet for the reasons behind this change.
FireBeetle 2 ESP32-E(N16R2) has two 8-bit DAC channel that converts 2-way digital signal to 2 analog voltage outputs. Two channels can work independently. DAC circuit is composed of built-in resistors in series and a buffer. The two DACs can be used as reference voltage.
6. Dimension
Pin Pitch: 2.54mm
Mounting Hole Pitch: 22mm or 56.6mm
Mounting Hole Size: 2mm
Board Size: 25.4×60mm/1×2.36"
Thickness: 1.6mm
7. Getting Started (Use for first time)
7.1 Download Arduino IDE
Click to enter the official Arduino website
Select and download the Arduino IDE package that is appropriate for your computer OS.
7.2 Configure Arduino IDE
It is required to install ESP32 board in Arduino IDE for using FireBeetle 2 ESP32-E for the first time.
Open Arduino IDE, click File-Preferences, as shown below
Click the icon circled in red in the Preferences window.
Add the json URL below to the newly-popped up window. There should be one URL for each line.
https://espressif.github.io/arduino-esp32/package_esp32_index.json
Click OK then.
Download SDK. Click Tools->Board>Boards Manager.
Enter "ESP32" in the search bar, then the SDK for esp32 will appear automatically. Click install now.
When the SDK installation completes, the word "installed" will appear at the position marked in red below. Close the window.
Select FireBeetle 2 ESP32-E development board. Click Tools-->Board-->ESP32 Arduino-->FireBeetle ESP32-E, as shown below.
After that, connect your FireBeetle 2 ESP32-E to your computer. Here, a port COM4 comes out after the connection, indicating that it is the port for FireBeetle 2 ESP32-E. Select it as the way shown below.
Now, the FireBeetle 2 ESP32-E(N16R2) is configured in Arduino IDE and it's ready to go.
8. Arduino Tutorials
Note: FireBeetle 2 ESP32-E(N16R2) does not have the IO16/D11 pin available. If this pin is used in the following tutorials, please modify the configuration to use another pin.
The basic tutorials (click here to jump) include tutorials on GPIO, RGB LED, serial communication, capacitive touch sensor, interrupts, I2C, SPI, and GDI.
The advanced tutorials (click here to jump) include tutorials on Deep Sleep mode, SD card, WiFi, Bluetooth, Alibaba Cloud IoT, and IFTTT.
FAQ
Cannot add board link to Arduino IDE?
A: First off all, make sure the Network connection is in good condition. Hope this post from Arduino helps. If that doesn't work, try replacing the board link from
https://downloadcd.dfrobot.com.cn/FireBeetle/package_DFRobot_index.json to http://downloadcd.dfrobot.com.cn/FireBeetle/package_DFRobot_index.json and reload it.
When using the SD library, the serial monitor does not show any print output or displays a connection failure after uploading the program.
A: Press RST button to reset and try again.
The driver is not installed automatically after plugging into the device?
A: FireBeetle 2 ESP32-E(N16R2) uses the CH340 serial chip, which can be used without installing a driver in most devices. If you find that the driver is not automatically installed when you plug in the device, you can manually install it yourself:
For any other questions, advice or cool ideas to share, please visit the DFRobot Forum.