Firmware Development Service

Upgrade STM32 wirelessly via ESP32.

Steplab designs and delivers production-ready firmware that turns your ESP32 into an OTA bridge for STM32 microcontrollers — no cables, no JTAG, no downtime.
OTA UPDATE FLOW
📡
ESP32
Receives binary via Wi-Fi / BLE
↓ Steplab bridge firmware
🔗
UART Bootloader
STM32 ROM protocol handshake
↓ Flash & verify CRC
⚙️
STM32
F / G / H / L series — updated ✓
15+
STM32 families supported
<8s
Average 256KB flash time
99.8%
Field flash success rate
2 wks
Typical delivery timeline
What we deliver

Everything you need to flash in the field

Custom firmware built around your hardware — not a generic SDK. Delivered with full source, documentation, and integration support.
01

Wireless binary delivery

The ESP32 receives firmware packages over Wi-Fi or BLE — from your cloud backend, mobile app, or local server.
02

UART bootloader flashing

Communicates with STM32's built-in ROM bootloader via UART — no JTAG, no SWD programmer, no hardware changes needed.
03

CRC integrity & rollback

Every binary is verified before and after flashing. Failed updates automatically restore the last working firmware image.
04

Signed binary support

Optional RSA / ECDSA signing. Only your authenticated firmware images can be flashed onto field devices.
05

Multi-target STM32

From STM32F1 to STM32H7 — the bootloader protocol and memory geometry are adapted precisely to your chip.
06

Full source handoff

ESP-IDF source code, reference server, CI pipeline hooks, and a complete integration runbook. No vendor lock-in.
Our process

From spec to production in four steps

A structured engineering process that eliminates surprises and ships working firmware on time.
1

Hardware audit

We review your schematic — GPIO wiring, UART pins, BOOT0 control, and reset circuitry — before writing any code.
2

Firmware scoping

We define the delivery channel (Wi-Fi, BLE, MQTT), binary format, version manifest, and rollback policy together.
3

Build & test

The bridge firmware is developed and validated on a physical bench using your exact STM32 variant and flash layout.
4

Integration handoff

Full source code, CI hooks, and a runbook. Two weeks of post-delivery engineering support included.
Developer first

Clean ESP-IDF code — fully yours

No black-box libraries, no licensing fees. The complete source is readable, documented, and delivered under your preferred license.
✓ ESP-IDF v5 compatible
✓ Arduino framework variant available
✓ RTOS-safe, interrupt-driven UART
✓ Chunk-based transfer with progress callbacks
✓ Unit-tested flash & verify routines
Talk to an engineer
stm32_flasher.c
void *_sbrk(ptrdiff_t incr) { extern uint8_t _end; /* Symbol defined in the linker script */ extern uint8_t _estack; /* Symbol defined in the linker script */ extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */ const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size; const uint8_t *max_heap = (uint8_t *)stack_limit; uint8_t *prev_heap_end;

Ready to go wireless?

Tell us your STM32 variant — we'll scope a solution and quote within 48 hours.
Shopping cart0
There are no products in the cart!
Continue shopping
0
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram