The EQSP32 micro‑PLC gives you two built‑in ways to update firmware without a USB cable: the Arduino OTA and a production‑ready Web Interface Maintenance Panel running on port 8000.
Whether you’re in the development phase using Arduino OTA or deploying production firmware updates through the browser-based Web Interface Panel, both methods work seamlessly over Wi-Fi or Ethernet. OTA tasks run alongside your application without requiring extra code, and the device becomes available for secure field upgrades as soon as it connects to the local network.
In this article, you’ll learn:
- When to use Arduino OTA vs the Web Maintenance Panel OTA
- How to use the Arduino OTA update
- How to reach the maintenance UI and update the EQSP32 with a new production firmware
Choosing quickly
- Use Arduino OTA when you’re developing, iterating, and have the source code and Arduino IDE and connection with USB-C cable is not possible or not convenient.
- Use Web Maintenance Panel OTA when you’re shipping, servicing, or updating installed units with a compiled binary.
Both methods are protected by the same OTA password (default admin), which you change or remove via the EQConnect mobile app. OTA runs over either Wi‑Fi or Ethernet and coexists with your application without extra sketch code.
Learn how to use Arduino OTA on EQSP32.
Learn how to use the EQSP32 Web Interface Maintenance Panel for OTA.
Before you begin …
Before getting started with experimenting with OTA updates on EQSP32, ensure you’re up to date with the latest API improvements and have completed the necessary setup steps. Reviewing the official documentation will help avoid common pitfalls and ensure a smooth update process.
Recommended Documentation
- EQSP32 Quickstart Guide: https://erqos.com/resources/quickstart-guide/
- Library Releases and Notes: https://github.com/Erqos/EQSP32/releases
Before performing OTA updates on your EQSP32 industrial ESP32 micro-PLC, make sure the following requirements are met:
Hardware and Power
- Ensure the EQSP32 is powered with a stable 12-24 V DC supply.
- Keep a USB cable available for the initial firmware upload and debugging.
Network and Provisioning
- Connect the EQSP32 via Wi-Fi or Ethernet.
- Use the EQConnect mobile app to configure the EQSP32 device:
- Setup Wi-Fi SSID and password.
- Select static IP/DHCP for Wi-Fi and Ethernet connectivity (default is DHCP).
- Set the timezone (required for NTP sync and Web UI time display).
- Configure the OTA password (default is
admin, which can be changed or removed).
Arduino IDE Build Settings
- Board:
ESP32-S3 - Core version:
ESP32 v2(v3 is not supported) - Flash size:
8 MB - Partition scheme:
8M with SPIFFS
Library Version Requirement
- OTA functionality (Arduino OTA and Web Maintenance Panel OTA) is available starting from EQSP32 library v1.0.0.
- Always use the latest release from GitHub: EQSP32 Releases
OTA Password
- The default OTA password is
admin. - The same password applies to both Arduino OTA and the Web Maintenance Panel OTA.
- Use
EQConnectto change or remove the password for production deployments.
Arduino OTA — Source Code-Based Updates for Development
What Arduino OTA is and how it works on EQSP32
Arduino OTA (Over-the-Air) is a method that lets you upload new firmware to an ESP32 device — the heart of the EQSP32 micro-PLC — over the local network, directly from the Arduino IDE. This eliminates the need for a USB connection and is widely used in the Arduino and ESP32 ecosystem for development and testing, especially when physical access to the hardware is not convenient or not possible.
On the EQSP32, Arduino OTA is fully built into the library. As soon as the device is online, it automatically registers itself as a network upload target in the Arduino IDE. You compile your project as usual and simply select the device from the network ports list to flash it wirelessly. No OTA-specific code needs to be added to your sketch — the EQSP32 runtime manages the OTA task seamlessly in the background.
Why and when to use Arduino OTA
This method is best suited for development and testing environments, especially in cases where the controller is installed in a closed panel or remote test bench and physical USB access is inconvenient.
How to use Arduino OTA on EQSP32
- You compile the firmware from source code in Arduino IDE.
- Instead of selecting a COM/USB port, you choose the EQSP32 device in the network ports list.
- Arduino IDE compiles and uploads the firmware to the device using OTA over the local network.
Behind the scenes
- The Arduino OTA task runs in the background, alongside your application.
- It does not interfere with your logic — your code continues running normally until a new firmware is uploaded.
- Once a new firmware is uploaded and verified, your EQSP32 will automatically restart and boot using the new firmware.
- The EQSP32 becomes available for updates as soon as it connects to your local network (Wi-Fi or Ethernet).
Authorized access
- Arduino OTA is password-protected.
- By default, the password is
admin. - You can change or remove the password using the
EQConnectmobile app. - The same password is also used by the Web Interface Maintenance Panel.
Web Interface Maintenance Panel OTA Updates
What Web Maintenance Panel is on EQSP32 micro-PLC and how to perform Web OTA
The EQSP32 includes a built-in Web Maintenance Panel hosted on port 8000. You can access this panel from any browser on the same local network as the EQSP32. From the Web Panel you can upload a compiled firmware binary (.bin) to update the device without needing the Arduino IDE or the project’s source code. In addition, the panel provides system information and basic maintenance controls, such as restarting the device or enabling Bluetooth advertising.
Unlike Arduino OTA, which requires source code and the Arduino IDE, the Web Maintenance Panel OTA uploads a pre-compiled, production-ready binary firmware file. This makes EQSP32-based systems field-upgradable and is the ideal method for deployed solutions, where technicians only need to upload the signed-off firmware rather than rebuild from source.
Web Interface Maintenance Panel overview
When you access the EQSP32 Maintenance Panel on port 8000, the interface is divided into clear sections. Each card provides different information or functionality — from monitoring device status, checking system information, to uploading new firmware. The following paragraphs walk through each part of the panel and explain what you can do there.
Device Information
This section provides a quick status overview of the EQSP32 device. You can check the current EQSP32 API firmware version & revision and developer’s system revision, see the configured hostname, and review the connection type (Ethernet or Wi-Fi).
The uptime counter shows how long the device has been continuously running, which is useful for diagnosing unexpected resets or confirming stability in production environments.
Advanced Information
This section gives you detailed technical data about the device:
- Host Address: The panel can be reached via hostname (
<device-name>.home:8000) or direct IP address. - IP / MAC Addresses: Useful for network diagnostics and identifying the unit on the LAN.
- Device Unique ID: A unique identifier in the format
EQSP32_XXXXXXXX, derived from the chip’s MAC address. - MQTT Topic Structure: Shows how topics are automatically generated for the device.
- Command topics (
cmd/...) are used to send commands to the device. - Monitoriing topics (
state/...) reflect the device’s state back to the MQTT broker.
- Command topics (
This section is especially helpful when integrating the EQSP32 into larger IIoT deployments or connecting multiple devices to a custom MQTT broker.
Control Panel & Firmware Update
The Control Panel includes basic maintenance actions:
Restart Device: Safely reboots the controller.Start Bluetooth: Re-enables Bluetooth advertising, useful for re-pairing or configuration.
Below it, the Firmware Update card provides the interface for OTA updates via a precompiled .bin file. Here you can:
- Select the firmware file from your computer.
- Enter the OTA password (default:
admin, configurable viaEQConnect). - Press
Upload Firmwareto send the update.
Why and when to use the Web Interface OTA Panel
This method is best suited for deployed and production systems, particularly in cases where:
- Only a signed-off binary firmware file needs to be distributed.
- Field technicians or operators perform updates without access to source code.
- Updates must be applied through a browser, without requiring the Arduino IDE, toolchain or physical access.
- A consistent and controlled update process is required for production units.
How to use the Web Interface Maintenance Panel to perform OTA updates
Production firmware (binary file) generation and distribution
- In Arduino IDE, go to
Sketch → Export Compiled Binary.
- The IDE creates a
.binfile in your project’s sketch folder. Easily locate it by pressingSketch → Show Sketch Folder.

- This file represents the production firmware to be uploaded. Rename it to reflect appropriate version update for convenience.
- Distribute it to maintainer for system firmware update.
Access the Web Maintenance Panel
- Ensure your EQSP32 is online (via Wi-Fi or Ethernet).
- Open a browser and enter either:
http://<device-ip>:8000http://<device-name>.home:8000
- Device name sanitization:
- Spaces are replaced with dashes “-“
- Special characters are removed
- Example: a device named “My EQSP32 Test#1” becomes accessible at:
http://My-EQSP32-Test1.home:8000
Troubleshooting tip: if the http://<device-name>.home:8000 address does not resolve, you may fall back to the direct IP address (http://<device-ip>:8000).
Upload the firmware
- In the Firmware Update section, you can select a
.binfirmware file using the file selector.
- Use the panel’s upload form to select and send the
.binfile. - The EQSP32 verifies the upload, applies the update, and then automatically restarts into the new firmware.
Authorized OTA updates
- Before the update can proceed, the panel requires a valid OTA password. If the password is incorrect, the firmware upload will be rejected.
- By default, the OTA password is
admin. You can change or remove it at any time using the EQConnect mobile app. - The same password is used by both Arduino OTA and the Web Maintenance Panel OTA. Any change made in
EQConnectapplies to both methods. - Once the correct password is provided, clicking Upload Firmware sends the binary to the device.
Behind the scenes
- The Web Maintenance Panel runs on port 8000 independently from any user-defined web server you may run on port 80.
- OTA runs in the background alongside your application, so the device remains responsive during normal operation until the reboot stage.
Security
- Protected by the shared OTA password (default
admin). - Password changes or removals in
EQConnectapply to both Web OTA and Arduino OTA. - Recommended: always set a strong, unique password in deployed (active) systems.
Related products
EQSP32CE – Industrial IoT ESP32 PLC With Ethernet
EQSP32C – Industrial IoT ESP32 PLC
EQSP32C-X – Industrial IoT ESP32 PLC With External Antenna
Take a look at our product catalog of EQSP32 controller versions and our range of expansion modules — we’re always happy to assist you with your selection and integration process.
Have questions? Feel free to reach out to us at info@erqos.com.