Skip to content

PMC8 ESP32 Serial Flash v1.3 — firmware ES4.2.3

Choose a tag to compare

@wesmcd6 wesmcd6 released this 20 Aug 13:35
· 3 commits to master since this release

Rescue tool for a PMC-Eight whose Wi-Fi module will not respond. Use this only when the OTA updater cannot be used — if your mount still talks over Wi-Fi, use OTA instead. It is far simpler and needs no tools.

This procedure means opening the mount's enclosure and fitting a jumper. Read SERIAL_FLASH_USER_GUIDE.txt in the zip before starting.


⭐ G11, EXOS-2 and Titan can now be flashed from Linux and a Raspberry Pi

If you have the metal silver box — G11, EXOS-2, Titan — and you tried this tool on Linux or a Raspberry Pi, it could not work. Not "sometimes", not "slowly": the mount could not send a single byte back to the computer, so the flash always failed with No serial data received no matter what you did. People re-seated the jumper, swapped cables, tried other computers, and none of it could have helped.

The cause turned out to be in the mount's own wiring, and it is deliberate. The silver box has no negative power supply for its serial port, so it borrows one from a control line on the USB lead. Linux and macOS switch that line to the wrong state the moment they open the port — which quietly removes the supply the mount needs in order to transmit. Everything on the mount keeps running normally, status light and all. It just goes silent.

Windows happens to leave that line alone, which is the only reason this tool ever worked there.

The tool now holds the line in the state the hardware needs for the whole operation. Silver-box mounts flash from Linux and Raspberry Pi. iEXOS-100 / 200 / 300 owners were never affected — those boards are wired differently.

Installing on Linux actually works now

Everything below was hit on a clean Ubuntu 24.04 machine.

  • No module named pip. Recent Ubuntu ships no pip at all, so every instruction that began "run pip" was useless. The launcher now sets pip up for you.
  • A broken esptool from the system package manager. Ubuntu's version is missing some of its own files: it connects, prints your chip's ID, then dies. The tool no longer installs that one, and if it finds a broken one already there it repairs it and carries on instead of blaming your mount.
  • The permission step needed a full restart. The guide said to log out and back in after adding yourself to the dialout group. On current Ubuntu that is not enough — you must reboot — and until you do, everything fails with a permission error. The guide now says so.

Fixes for problems owners actually hit

  • Being sent for a screwdriver you did not need. If your mount was in Envision mode, the first check called your perfectly healthy Wi-Fi module "missing or dead" and pointed you at this whole enclosure-opening procedure. It now switches Envision off first and asks again.
  • A silent firmware downgrade. v1.0 restored an older version of your mount's own firmware than many mounts were already running. It now ships 20A02.2.0.1, names the exact version before it writes anything, and warns you if your mount is running something different.
  • Error messages vanishing. If you started the tool by double-clicking it, some failures closed the window instantly with the reason in it. Every exit now waits for you.
  • A successful flash reported as UNKNOWN. The final check could fail even though the flash had worked perfectly, then recommend a step it had already skipped. It now confirms the connection properly, offers to power-cycle and retry, and says plainly that the flash itself succeeded.
  • The wrong advice for silver-box mounts. When the Wi-Fi module was not ready, the tool retried something that cannot work on those boards, and could knock a module that was ready back out of programming mode — hiding the real problem. It now asks you for a proper power cycle and waits.

For support

Running it with --trace records everything the flashing tool sends and receives into esptool-trace.log. If you report a problem, that file is worth far more than a screenshot.


Tested on all four

Windows, macOS, Linux and Raspberry Pi — the same download, with a full flash of a real mount on each, including a silver box.

how to start it
Windows python serial_flash.py
macOS double-click start_flash.command
Linux / Raspberry Pi ./start_flash.sh

Things that look wrong but are not

  • A long pause after it opens the port on macOS or Linux — up to a minute. The mount restarts when the port is opened on those systems; the tool waits it out and says so.
  • The flash itself takes around six minutes. It is limited by the speed of the link through the mount, not by your computer.
  • On macOS the first launch is blocked. Dismiss it, then System Settings ▸ Privacy & Security ▸ Security ▸ Open Anyway, and open it again. Once only.

⚠️ After it works, you are not finished

This tool installs ES4.2.3, which is deliberately old. Its job is to bring a dead module back to life — not to leave you current.

Run the OTA updater afterwards to get up to the current firmware. Your mount is working at this point, so OTA will do the rest wirelessly, with the enclosure closed.


Verify your download against pmc8-esp32-serial-flash-v1.3-ES4.2.3.zip.sha256:

Windows       Get-FileHash .\pmc8-esp32-serial-flash-v1.3-ES4.2.3.zip
macOS         shasum -a 256 pmc8-esp32-serial-flash-v1.3-ES4.2.3.zip
Linux / Pi    sha256sum pmc8-esp32-serial-flash-v1.3-ES4.2.3.zip