-
Notifications
You must be signed in to change notification settings - Fork 265
Firmware Upload
The ESP32-DIV requires firmware or code to unlock its wireless capabilities. This guide covers three methods to upload firmware: OTA/SD Card, Flash Download Tool, and Arduino IDE. These methods suit both beginners and advanced users.
If your ESP32-DIV is running its main firmware, use the built-in update feature via Over-The-Air (OTA) or SD card. This method is ideal for quick, computer-free updates using the TFT display.
- Working ESP32-DIV with main firmware and functional TFT display.
- MicroSD card (FAT32 formatted) for SD card updates.
-
.binfirmware file from the repository. - Wi-Fi credentials for OTA updates.
- Computer or phone to host the firmware file for OTA.
-
Get the Firmware File:
- Download the latest
.binfile from the ESP32-DIV GitHub repository. - Host it on a server or computer and note the URL (e.g.,
http://192.168.1.100/firmware.bin).
- Download the latest
-
Connect to Wi-Fi:
- Power on the ESP32-DIV. Go to Wi-Fi Settings on the TFT display.
- Select your network, enter the password using the on-screen keyboard, and connect.
-
Run the OTA Update:
- Navigate to Firmware Update menu, select OTA Update, and enter the firmware URL.
- Press Update to download and flash. The device reboots when done.
-
Check the Update:
- Verify the new firmware version on the TFT display or Serial Monitor (115200 baud).
- If it fails, check the URL and Wi-Fi stability, then retry.
-
Prepare the SD Card:
- Format a microSD card to FAT32.
- Download the latest
.binfile from the ESP32-DIV GitHub repository and rename it tofirmware.bin. - Place
firmware.binin the SD card’s root directory and eject safely.
-
Insert the SD Card:
- Power off the ESP32-DIV and insert the SD card.
-
Run the SD Card Update:
- Power on, go to Firmware Update, and select SD Card Update.
- Select
firmware.binand press Update. The device reboots after flashing.
-
Check the Update:
- Confirm the firmware version on the TFT display or Serial Monitor.
- The file may be renamed (e.g.,
firmware.bak). Remove or reformat the SD card for future use.
- OTA: Ensure a strong Wi-Fi signal and keep the host online.
- SD Card: Use a reliable microSD card. Power off before inserting/removing.
-
Troubleshooting: Verify the
.binfile, ensure FAT32 format, or check Serial Monitor for errors.
Use the Espressif Flash Download Tool to upload firmware via USB. This is great for initial setups or restoring a non-working device.
- ESP32-DIV with USB-C/micro-USB port.
- Computer (Windows, macOS, Linux).
- USB cable.
-
.binfirmware file from the ESP32-DIV GitHub repository. -
.partitionsfirmware file from the ESP32-DIV GitHub repository. - Espressif Flash Download Tool.
-
Prepare the Firmware File:
- Download the
.binfile from the repository. - Download the
.partitionsfile from the repository.
- Download the
-
Install the Flash Download Tool:
- Download and install the tool. Run as administrator on Windows.
-
Connect the ESP32-DIV:
- Connect via USB and enter Download Mode:
- Hold BOOT button, press RESET briefly, release both.
- Select the correct COM port in the tool.
- Connect via USB and enter Download Mode:
-
Configure Flash Settings:
- Select ESP32 chip type and Developer Mode or Download Mode.
- Load the
.binfile, set flash offset to0x10000. - Load the
.partitionsfile, set flash offset to0x8000. - Set SPI Speed to 40 MHz, SPI Mode to DIO.
- Check the
.binand.partitionsfile boxes.
-
Flash the Firmware:
- Click START. Wait for “FINISH” or “Download Complete” (1-2 minutes).
-
Reset and Verify:
- Power cycle the ESP32-DIV. Check the TFT display or Serial Monitor for the new firmware version.
- If it fails, verify COM port, offset, or Download Mode.
- Install USB-to-serial drivers (e.g., CP2102, CH340) if needed.
- Verify the
.binfile matches your hardware. - Try a different USB cable/port or lower SPI Speed (20 MHz) if flashing fails.
Compile and upload the ESP32-DIV sketch for customization. This method requires specific setup for the 4MB or 16MB ESP32 versions.
- ESP32-DIV with USB-C/micro-USB port.
- Computer with Arduino IDE (2.x or 1.8.x).
- USB cable.
- ESP32-DIV sketch, library ZIP, and platform.txt from the ESP32-DIV GitHub repository.
-
Install Arduino IDE and ESP32 Board Package:
- Install the Arduino IDE.
- Go to Tools > Board > Boards Manager, search “esp32,” and install esp32 by Espressif Systems (version 2.0.10).
-
Replace platform.txt:
- Download
platform.txtfrom the repository. - Replace the file in:
- Windows:
C:\Users\<YOUR_USERNAME>\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.10 - macOS:
~/Library/Arduino15/packages/esp32/hardware/esp32\2.0.10 - Linux:
~/.arduino15/packages/esp32/hardware/esp32\2.0.10
- Windows:
- Back up the original.
- Download
-
Replace Library Files:
- Download the library ZIP from the repository and unzip it.
- Replace existing library folders in:
- Windows:
C:\Users\<YOUR_USERNAME>\Documents\Arduino\libraries - macOS:
~/Documents/Arduino/libraries - Linux:
~/Arduino/libraries
- Windows:
- Restart the Arduino IDE.
-
Download and Open Sketch:
- Download the
.inosketch from the repository and open it in the IDE.
- Download the
-
Configure Arduino IDE Settings:
- Connect the ESP32-DIV via USB.
- Select Tools > Board > ESP32 Dev Module and the correct Port.
- Configure based on flash size:
-
4MB ESP32:
- Partition Scheme: Rainmaker, Huge APP, or Minimal SPIFFS.
- Flash Size: 4MB.
-
16MB ESP32:
- Partition Scheme: 16MB Flash (3MB APP/9.9MB FATFS).
- Flash Size: 16MB.
-
4MB ESP32:
- Optional: Set Upload Speed to 921600, CPU Frequency to 240 MHz.
-
Compile and Upload:
- Click Verify to compile. Fix any errors.
- Click Upload. Enter Download Mode if prompted (hold BOOT, press RESET, release both).
- Wait for “Done uploading.”
-
Verify Upload:
- Check the TFT display or Serial Monitor (115200 baud).
- If it fails, verify settings, port, or Download Mode.
- Ensure libraries match the ZIP file to avoid conflicts.
- Install USB-to-serial drivers if the port isn’t detected.
- Lower upload speed to 115200 or try another cable/port if needed.
Your ESP32-DIV is ready! Explore its tools on the Features page.
- Home
-
Introduction
Learn about the ESP32-DIV project and its evolution. -
Features
Explore Wi-Fi, Bluetooth, 2.4GHz, and Sub-GHz tools. -
Hardware
Details on the Main Board and Shield components. -
Schematics
Connection diagrams for ESP32 and modules. -
Firmware Upload Guide
Upload firmware via OTA, Flash Tool, or Arduino IDE. -
Contributing
How to contribute to the project.
Resources
Created by CiferTech for wireless enthusiasts!