HackerPhone web flasher
Open the Valleytech HackerPhone Flasher page or the USB installer. Use desktop Chrome or Edge, HTTPS and a USB data cable. The store page opens the installer in a separate tab so USB access does not depend on an embedded frame.
Supported release
This is 0.6 engineering preview, for the supported MakerPhone 2 / MP24 4 MB ESP32-S3 engineering sample. It is not a universal MakerPhone image or a daily-use reliability certification. No Maker Band binary is offered.
The published application was built from source commit
d6cd8c30f87ebb9e8dcb9d152d63fd8e9fabb3b8; it is the previously hardware-tested
battery/themes application, 1,885,856 bytes, SHA-256
ceb7ef73de25b7220ed98c986795fed44169084a087093f5bd18479d67e37991.
This file is an application produced by the public build, not a recovery dump.
Installation
- End calls, disable the hotspot and close other serial monitors/flashers.
- Confirm the physical board and connect its USB serial port. The installer checks ESP32-S3 identity, 4 MB flash, disabled security/encryption, and hashes of the supported bootloader region and complete partition-table sector.
- Read and download the full 4 MB recovery backup. Select the saved file again to verify its SHA-256 before the install button becomes available. Keep this backup private: it can contain credentials and personal settings.
- Install. The downloaded application must match its size, ESP32-S3 image header and SHA-256. The device must still match its full backup. Exactly one image is written at 0x10000, with all flash parameters kept and full erase disabled.
- Wait for application SHA-256 read-back and protected-region checks to finish. The installer requests a reset. If the screen remains blank, use the physical RESET button or power-cycle after completion.
The flasher accepts the supported factory application (makerphone_mp24) or
this exact published HackerPhone application. Unknown applications, interrupted
images and different hardware profiles stop the flow. A new release must
explicitly account for migration from earlier supported HackerPhone builds.
An ESP32 chip name alone is never treated as proof of board identity.
The website uploads no backup or device contents. Downloaded recovery files stay on the user's computer. The bootloader, partition table, NVS, PHY, SPIFFS and coredump regions are checksum-compared after writing; SD is not accessed. Normal firmware operation can update settings and logs after reboot.
Interrupted install or recovery
Do not erase the chip, flash a generic factory image, or change partitions to bypass a compatibility error. Keep the original downloaded backup unchanged. An interrupted application may fail the installer's existing-firmware check; this is intentional and requires a controlled recovery outside this browser.
Contact Valleytech with the board revision and the error text, not a public upload of the recovery file. A technician should verify the connected chip and board profile and the original full 4 MB backup's SHA-256, extract its application range 0x10000 through 0x2effff (length 0x2e0000) into a separate local file, and restore only that range at 0x10000, followed by read-back verification. Never write a whole recovery image onto a different device. Bootloader/NVS repair is outside this installer and needs a device-specific assessment.
Maintainer checks
node --test tests/web_flasher.test.mjs exercises the installer state machine,
wrong-device/profile/security gates, missing/corrupt backups, image corruption,
device swaps/disconnects, concurrency, write failures and read-back failures.
It also checks the published application's SHA-256 and the bundled S3 stub.
web/ is the only directory deployed to Cloudflare Pages, in the existing
Valleytech account's valleytech-hackerphone Direct Upload project. GitHub Actions
is disabled at the account level, so GitHub Pages is not the live host.
Before deploying, run the Node tests above and verify the release digest. A
maintainer authenticated to Cloudflare can publish with
wrangler pages deploy web --project-name valleytech-hackerphone --branch main.
Pinned esptool-js 0.7.0 and spark-md5 3.0.2 are served locally with licenses.
No private recovery files, captures, tools or .pio output are deployed.
The store page source is website/shopify/hackerphone-flasher.html; its navigation
item is under Web Flashers → HackerPhone Flasher, preserving the other links.
HackerPhone is also the fourth card in the store's Firmware Flashers directory.
On 2026-10-18, 23 safety tests and Chrome desktop/mobile-layout checks passed, including disabled install gates, chooser cancellation and unsupported-browser handling. The entire browser flow also passed against a synthetic serial loader, including downloading a backup, selecting the saved copy, installing and verifying. The new browser-to-physical-device flashing path has not been hardware-tested; the same application and application-only serial flashing procedure were verified earlier. Keep this distinction when describing support.
The production Cloudflare URL and Shopify landing page return HTTP 200. Chrome loads all installer assets without JavaScript errors, exposes Web Serial and keeps Install disabled before the required checks. The firmware downloaded from the live host matches the size and SHA-256 above. Desktop and mobile navigation were followed through the published menu; all four directory cards remain present.