Skip to content

Installation & Flashing

Radovan Dvorský edited this page Sep 7, 2026 · 1 revision

Installation & Flashing Guide

This guide walks you through flashing ESP-MeteoPlaneRadar onto the Waveshare ESP32-S3-Touch-LCD-2.1 board. You can choose between ready-made binaries or building from source via PlatformIO.


📦 Option 1: Flashing Pre-Compiled Binaries

Every GitHub Release provides two official binary builds:

  1. MeteoPlaneRadar-vX.Y.Z-factory.bin (Single-file full flash, starts at address 0x00000)
    • Contains the ESP32-S3 ROM bootloader, partition table, OTA data, and firmware application.
    • Recommended for initial setup or unbricking.
  2. MeteoPlaneRadar-vX.Y.Z-ota.bin (Application binary, flashed at address 0x10000)
    • For web-based OTA update or manual partial flashing.

A. Web Flasher (Easiest - Chrome / Edge)

  1. Open the ESP Web Flasher / Tools in Google Chrome or Microsoft Edge.
  2. Connect your ESP32-S3 board to your PC via USB-C.
  3. Click Connect and select the ESP32-S3 COM port.
  4. Set the flash address to 0x00000 and select MeteoPlaneRadar-vX.Y.Z-factory.bin.
  5. Click Program and wait for the flash process to complete (approx. 40 seconds).
  6. Press the RESET button on the back of the board.

B. Command-line via esptool.py

If you have Python and esptool installed:

# Factory flash (cleans flash and writes full image at 0x0)
esptool.py --chip esp32s3 -p COMx -b 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_size 16MB 0x0 MeteoPlaneRadar-v1.5.8-factory.bin

(Replace COMx with your actual serial port, e.g. COM9 on Windows or /dev/ttyACM0 on Linux/macOS).


🛠️ Option 2: Building from Source with PlatformIO

Prerequisites

1. Clone the Repository

git clone https://github.com/hackra76/ESP-MeteoPlaneRadar.git
cd ESP-MeteoPlaneRadar

2. Build Firmware

PlatformIO will automatically download the Espressif 32 platform and required library dependencies (ArduinoJson, GFX Library for Arduino, PNGdec, U8g2_for_Adafruit_GFX):

pio run

3. Flash to Device

Connect the board via USB-C and run:

pio run -t upload

4. Monitor Serial Log

To observe the boot sequence, network initialization, and radar diagnostics:

pio device monitor -b 115200

🔄 Option 3: Over-The-Air (OTA) Updates

Once your device is running and connected to your local Wi-Fi network, you never need a USB cable again to update firmware:

  1. Download the latest MeteoPlaneRadar-vX.Y.Z-ota.bin from GitHub Releases.
  2. Open your browser and navigate to http://meteoplaneradar.local (or your device's local IP address).
  3. Open the Settings / System page in the Web UI.
  4. Locate the Firmware Update (OTA) section.
  5. Click Choose File, select the .bin file, and hit Upload & Update.
  6. The on-screen progress indicator will show flashing progress. Upon completion, the board will reboot into the new firmware automatically.

📋 Flash Memory Partition Table

The device uses a customized 16 MB partition table (partitions.csv):

# Name,     Type, SubType,  Offset,    Size
nvs,        data, nvs,      0x9000,    0x5000     (20 KB)
otadata,    data, ota,      0xE000,    0x2000     (8 KB)
app0,       app,  ota_0,    0x10000,   0x600000   (6 MB)
app1,       app,  ota_1,    0x610000,  0x600000   (6 MB)
spiffs,     data, spiffs,   0xC10000,  0x3E0000   (~3.8 MB)
coredump,   data, coredump, 0xFF0000,  0x10000    (64 KB)

Dual 6 MB application partitions ensure fail-safe rollback if an OTA update fails or is interrupted mid-transfer.

Clone this wiki locally