Skip to content

Document flashing a released factory image without building#3

Merged
echo-cool merged 1 commit into
mainfrom
claude/esp32-factory-flash-docs-d6bovr
Jul 4, 2026
Merged

Document flashing a released factory image without building#3
echo-cool merged 1 commit into
mainfrom
claude/esp32-factory-flash-docs-d6bovr

Conversation

@echo-cool

Copy link
Copy Markdown
Owner

The README only covered getting firmware onto a device by building from source; the release assets' factory.bin was mentioned only in passing with a bare esptool.py write_flash 0x0 ... hint under "CI builds and releases".

This adds a "Flashing a release (no build needed)" section under Setup that walks a new user through:

  • downloading esp32worldclock-<tag>-factory.bin from the latest GitHub release
  • CH340 driver setup and identifying the serial port per OS
  • flashing at offset 0x0 with esptool — plus a zero-install alternative using Espressif's browser-based web flasher
  • what happens on first boot (released binaries have no WiFi credentials, so the esp32Project captive portal opens)
  • optional erase_flash for recovering a device with leftover settings
  • pointing at the -ota.bin / web updater path for subsequent cable-free updates

The Setup intro is reworked to present "flash a release" vs. "build from source" as the two entry paths, and the "CI builds and releases" section now cross-references the new instructions instead of the inline esptool one-liner. Flash offset and asset names match what .github/workflows/build.yml publishes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BQw2WTXY23m36FD1sWEzGh


Generated by Claude Code

The README only covered building from source; the release assets'
factory.bin was mentioned in passing with a bare esptool hint. Add a
'Flashing a release' section walking through downloading the factory
image, driver setup, esptool / web-flasher usage at offset 0x0, the
captive-portal first boot, and OTA for subsequent releases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQw2WTXY23m36FD1sWEzGh
@echo-cool echo-cool requested a review from Copilot July 4, 2026 08:30
@echo-cool echo-cool marked this pull request as ready for review July 4, 2026 08:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves onboarding by expanding the README’s Setup instructions to include a “flash a prebuilt release” path (no local build), while keeping “build from source” as the customization path.

Changes:

  • Reworks the Setup introduction to present “flash a release” vs. “build from source” as two entry paths.
  • Adds a “Flashing a release (no build needed)” section with step-by-step flashing guidance (esptool + web flasher) and first-boot behavior.
  • Updates the “CI builds and releases” section to cross-reference the new flashing instructions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
Comment on lines +27 to +30
Each [GitHub release](../../releases/latest) has a
`esp32worldclock-<tag>-factory.bin` attached: a full flash image (bootloader +
partition table + app) that brings a brand-new ESP32 to a working clock in one
step.
Comment thread README.md
Comment on lines +46 to +48
Replace `COM3` with your port. No install needed alternative: open
[Espressif's web flasher](https://espressif.github.io/esptool-js/) in
Chrome/Edge, connect, and program the same file at address `0x0`.
@echo-cool echo-cool merged commit 206aeec into main Jul 4, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants