Context
The solution arises from the need to create embedded devices based on ESP32 which they are not simple prototypes, but components ready to be integrated into a real product. In many IoT projects the initial firmware meets the functional requirements, but it turns out difficult to maintain, upgrade or adapt when the device enters a phase of real or production use.
The goal is to define a solid and replicable embedded base, designed to accompany the device throughout its life cycle. Not a generic firmware, but an ESP32 SOM already programmed and configured according to customer specifications, ready to be inserted in the final system.
The approach is oriented towards control, architectural clarity and predictability of behavior, avoiding improvised or tool-dependent solutions external. The platform is designed to evolve over time while maintaining a technical structure consistent and verifiable.
Design needs
The solution must meet the typical needs of a professional embedded context, where the device is not a technical exercise but an integral part of a product.
The main design needs include the separation between system and application logic, the ability to update the firmware in a controlled manner, persistent management and secure configuration and adaptability to different hardware.
A monolithic firmware severely limits the evolution of the product. The priority is therefore build a maintainable technical base, capable of adapting to new functions, new contexts of use or hardware variants without requiring a complete redesign.
Technical structure
The solution is organized on a modular embedded architecture, with well responsibilities defined and separate components. The firmware is divided into distinct levels: bootloader dedicated, application firmware, system services and persistent configuration area based on NVS.
This separation allows individual parts of the system to be upgraded or extended without compromising the rest of the firmware. The bootloader manages versions, fallbacks and mechanisms recovery, while the application remains focused on the features required by the product.
Configuration is kept separate from application code, allowing provisioning initial, runtime changes, and controlled resets. Architecture is designed to support multiple operating modes and different use scenarios.
Device safety and security
The platform integrates the native security mechanisms of the ESP32, selected and configured based on the application context and the level of protection required.
- Secure Boot for exclusively booting authorized firmware
- Validation of the firmware image via checksum or signature
- Credential protection separated from application code
- Controlled management of flash memory
The goal is not just to protect the firmware, but to make the device reliable, verifiable and maintainable over time.
Connectivity and communication interfaces
The ESP32 solution supports different communication modes, which can be configured based on needs of the project and the operational context.
- Wi-Fi in Station mode
- Wi-Fi Access Point for initial setup
- Bluetooth Low Energy (BLE) for provisioning and control
- Communication to remote backends via standard protocols
Extensibility-oriented architecture
The same ESP32 base can be reused on different products, varying only the modules necessary or the surrounding hardware. This approach reduces development time and enables to build a family of coherent devices based on a common platform.
Development methodology
Development follows a structured process, oriented towards quality and maintainability in the long run. We start from the requirements analysis to define a firmware architecture consistent with the application context.
The system is developed in a modular way using the ESP-IDF as a basis, with components separate, repeatable builds and tests on real hardware.
Security is addressed as an integral part of the development process. During the design are defined as firmware update model, credential management, memory protection level and initial provisioning mode.
This approach allows you to create devices that can be updated, reconfigured and maintained over time without compromising their reliability.
Outputs
The result is a ready-to-use ESP32 SOM, programmed according to customer specifications and accompanied by a solid and documented firmware structure.
- SOM ESP32 programmed
- Custom firmware with modular architecture
- Initial device setup
- Support for integration with surrounding hardware
- Basic technical documentation
Outline hardware and integration
The solution can be integrated with surrounding hardware according to needs applications, including sensors, actuators, relays, displays, communication interfaces (UART, I²C, SPI, GPIO) and custom boards.
Integration is managed consistently with the firmware architecture, maintaining separation between drivers, application logic and configuration.
Application of the method
The approach used for this ESP32 solution is not tied to a single project. The same methodology can be applied to different hardware variants, products or more complex embedded platforms.
The focus always remains on the structure: clear architecture, separation of accountability, maintainable firmware, and predictable behavior.
In this way it is possible to create tailor-made embedded solutions, ready to grow together with the product.