2026-09-12 12:39:59 +03:00
2026-08-16 09:13:27 +03:00
2025-11-15 12:45:50 +03:00
2026-03-01 18:24:35 +03:00
2026-08-16 08:32:06 +03:00
2025-11-15 12:45:50 +03:00
2026-09-12 12:39:59 +03:00
2026-03-01 18:24:35 +03:00
2026-09-12 12:39:59 +03:00
2026-03-01 18:24:35 +03:00

ESP32 ESP-IDF component for simple OTA server

Features

  1. HTTP-based OTA firmware updates via standard HTTP POST requests.
  2. Automatic partition management with next available OTA partition detection.
  3. Embedded web interface for browser-based firmware uploads.
  4. Automatic boot activation and device reboot after successful update.
  5. Chunked data reception with 1000-byte blocks for efficient memory usage.
  6. Seamless integration with ESP-IDF HTTP server and OTA APIs.
  7. Comprehensive error handling with detailed ESP_LOGE logging.
  8. Low memory footprint with minimal RAM consumption.

Using

In an existing project, run the following command to install the component:

cd ../your_project/components
git clone https://github.com/aZholtikov/zh_ota_server

In the application, include the header:

#include "zh_ota_server.h"

Example

#include "nvs_flash.h"
#include "esp_wifi.h"
#include "zh_ota_server.h"

#define WIFI_SSID "SSID"
#define WIFI_PASS "password"

static httpd_handle_t http_server_handle = NULL;

void app_main(void)
{
    esp_log_level_set("zh_ota_server", ESP_LOG_ERROR);
    nvs_flash_init();
    esp_event_loop_create_default();
    esp_netif_init();
    esp_netif_create_default_wifi_ap();
    wifi_init_config_t wifi_config = WIFI_INIT_CONFIG_DEFAULT();
    esp_wifi_init(&wifi_config);
    wifi_config_t ap_config = {
        .ap = {
            .ssid = WIFI_SSID,
            .password = WIFI_PASS,
            .max_connection = 4,
            .authmode = WIFI_AUTH_WPA2_PSK,
        },
    };
    esp_wifi_set_mode(WIFI_MODE_AP);
    esp_wifi_set_config(WIFI_IF_AP, &ap_config);
    esp_wifi_start();
    httpd_config_t config = HTTPD_DEFAULT_CONFIG();
    httpd_start(&http_server_handle, &config);
    zh_ota_server_init(http_server_handle, "/ota");
}
S
Description
ESP32 ESP-IDF component for simple OTA server.
Readme Apache-2.0
81 KiB
0 Stars 1 Watchers 0 Forks
Languages
C 76.3%
HTML 22.5%
CMake 1.2%