Skip to content

Commit 121f9c1

Browse files
Broaden device scope: any STM32 with USB DFU ROM bootloader
- UI title/heading: STM32F723 → STM32 (generic) - README: compatibility section with tested (F723) and expected-to-work device table; note on USB-capable variants and protocol limitation - README: DFU mode instructions note board-specific BOOT button variants - .github/ISSUE_TEMPLATE: device-validation.md for community reports Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 94bcef7 commit 121f9c1

3 files changed

Lines changed: 70 additions & 4 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
name: Device validation report
3+
about: Report that you have tested this tool on a specific STM32 device
4+
title: "Validation: STM32[series] — [works / partial / does not work]"
5+
labels: validation
6+
assignees: ''
7+
---
8+
9+
**Device / part number**
10+
e.g. STM32F407VG, STM32H743ZI
11+
12+
**Development board (if applicable)**
13+
e.g. STM32F4DISCOVERY, Nucleo-H743ZI2, custom PCB
14+
15+
**Firmware file type used**
16+
- [ ] `.hex` (Intel HEX)
17+
- [ ] `.bin` (binary)
18+
19+
**Result**
20+
- [ ] Works fully (erase, write, verify, reset all pass)
21+
- [ ] Partial (describe below)
22+
- [ ] Does not work (describe below)
23+
24+
**Tested with**
25+
- [ ] Chrome browser + local HTTP server
26+
- [ ] Electron desktop app
27+
28+
**OS**
29+
e.g. macOS 15, Windows 11, Ubuntu 24.04
30+
31+
**Notes**
32+
Any error messages, unexpected behaviour, or observations (e.g. sector map was auto-detected / fell back to default).

README.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,45 @@
11
# STM32 Web Programmer
22

3-
Browser-based flash programmer for the STM32F723 (and compatible STM32F72x/73x devices). Uses the factory ROM bootloader over USB DFU — no drivers, no desktop software required.
3+
Browser-based flash programmer for STM32 microcontrollers that expose the factory ROM bootloader over USB DFU. No drivers, no desktop software, no installation required.
44

55
**Accepts:** `.hex` (Intel HEX) or `.bin` files
66
**Erases:** only the flash sectors touched by the file — all other flash is left intact
77
**Browser:** Google Chrome (web), or the standalone Electron app (macOS / Windows / Linux)
88

99
---
1010

11+
## Device compatibility
12+
13+
The tool communicates using ST's **DfuSe** protocol over the standard ROM USB DFU bootloader (VID `0x0483` / PID `0xDF11`). The flash sector map is read automatically from the DfuSe interface string descriptor, so any device that correctly exposes that descriptor should work without changes.
14+
15+
### Tested
16+
17+
| Device | Board | Result |
18+
|--------|-------|--------|
19+
| STM32F723 | Custom PCB | ✅ Fully working |
20+
21+
### Expected to work
22+
23+
These devices share the same ROM bootloader protocol. They have not yet been independently validated — community reports welcome (see below).
24+
25+
| Series | Example parts |
26+
|--------|---------------|
27+
| STM32F2 | F205, F207, F215, F217 |
28+
| STM32F4 | F401, F405, F407, F411, F429, F446, F469 |
29+
| STM32F7 | F722, F730, F745, F746, F756, F765, F767, F769, F777 |
30+
| STM32H7 | H723, H743, H745, H750, H753, H755, H757 |
31+
| STM32L4 | L433, L475, L476, L496 (USB-capable variants) |
32+
| STM32G4 | G431, G474, G491 (USB-capable variants) |
33+
| STM32U5 | U535, U545, U575, U585 |
34+
35+
> **Note:** Only STM32 devices with a USB Full-Speed or High-Speed peripheral and a DFU-capable ROM bootloader are supported. Devices that use UART/I²C DFU or require a separate ST-LINK connection are not supported.
36+
37+
### Report your device
38+
39+
If you have tested this tool on a device not listed above, please [open a validation issue](../../issues/new?template=device-validation.md) with your results. Reports help build a verified compatibility list for the community.
40+
41+
---
42+
1143
## Electron desktop app (recommended)
1244

1345
The Electron build runs as a native desktop app — no browser, no HTTP server, no Chrome required. USB device access is granted automatically.
@@ -144,7 +176,9 @@ Leave the terminal open while you use the tool. Press `Ctrl+C` to stop the serve
144176

145177
### 1. Put the STM32 into DFU mode
146178

147-
1. Pull **BOOT0** high (connect to VCC via a solder bridge, switch, or jumper).
179+
The exact method varies by device, but the general approach is:
180+
181+
1. Pull **BOOT0** high (connect to VCC via a solder bridge, switch, or jumper). Some boards have a dedicated BOOT button — hold it while resetting.
148182
2. **Reset** the device (press the reset button or cycle power).
149183
3. The STM32 enumerates as a USB DFU device — no firmware is running at this point.
150184

index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
<head>
44
<meta charset="UTF-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6-
<title>STM32F723 Programmer</title>
6+
<title>STM32 Programmer</title>
77
<link rel="stylesheet" href="style.css">
88
</head>
99
<body>
1010
<div class="container">
1111

1212
<div>
13-
<h1>STM32F723 Flash Programmer</h1>
13+
<h1>STM32 Flash Programmer</h1>
1414
<p class="subtitle">USB DFU (DfuSe) via WebUSB &mdash; Chrome or Electron desktop app</p>
1515
</div>
1616

0 commit comments

Comments
 (0)