Oleksandr ShyshatskyiandClaude Opus 5 5b291d0b46 The PA verdict comes off a serial sensor on the eBoard's second UART
eBoard.bin is a stock Klipper MCU build, so the handlers are reachable without
symbols: eBoard.hex loads at 0x08010000, command_index sits at 0x0801a288 with
16-byte entries indexed by the dictionary's command id, and all 77 ids line up.
pa_action is id 5 (0x080115ec), get_emcu_pa_value id 6 (0x080115d0).

ACTION=11 arms a capture: it zeroes an 8000-byte buffer at 0x200001fc and the
result word at 0x200000a0, then enables TIM1/TIM4/TIM8 and DMA1 ch5. The buffer
is filled by the USART3 idle-line handler at 0x08016734, which validates a fixed
11-byte frame and stores the big-endian uint16 payload, up to 1990 samples --
and only while the capture flag is set, which is what makes it the PA trace.
On stop, a background task at 0x08016c60 runs analyse(buffer, 2000) and parks
the verdict where get_emcu_pa_value reads it.

So the signal is a serial sample stream from a separate module, not the
accelerometer, the eddy coil or an ADC channel -- the earlier guess in this file
was wrong and is removed. Which transducer is on that UART is still open.

The point that matters for the port: nothing ever looks at the printed lines.
They exist only because you cannot make a real pressure transient without really
extruding. The scoring is live, off a signal the toolhead already streams, so
keeping FlashForge's eBoard firmware gets us the same verdicts for free.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kw2rehvQJ7LSc28hPikfqk
2026-08-30 23:14:25 +03:00

Reforge

Custom firmware for the FlashForge Creator 5 and Creator 5 Pro.

It installs the way a normal FlashForge update does: copy one file to a USB stick, plug it in, power the printer on. No jailbreak, no soldering, no opening the case, no ssh needed to get started — the printer's own updater does the work.

Packages are published on the Releases page — two files per release, one per model, marked pre-release while the mod is young. Help and support: the Discord.

Unofficial and unaffiliated with FlashForge. It voids your warranty and you are responsible for your machine. See Status for what has actually been tried on hardware before you flash anything.


Status

It runs on a real printer — a Creator 5 Pro, flashed and printing:

HelixScreen mid-print on the Creator 5 Pro: T2 mounted, layer 2 of 173 HelixScreen's bed-mesh screen showing a probed 10x10 mesh

A checked box happened on that machine; an empty one has not, yet.

For everyone:

  • Install and migration from stock firmware — the printer's own updater does it; your unit's factory calibration imports itself on the first boot
  • Printing — gcode straight from the slicer, nothing edited
  • Toolchanges — a current Klipper with real toolchanger support, in place of the 0.12-era tree FlashForge ships
  • Nozzle-offset calibration
  • Mainsail at http://<printer-ip>/, with a current Moonraker behind it — anything that speaks the Klipper API works
  • Camera — mjpg-streamer, already on the printer; the mod just starts it
  • Wifi
  • HelixScreen on the printer's own screen
  • Chamber heater
  • Creator 5 (non-Pro) — its package builds and passes the same replica test suite, but has not touched hardware
  • Going back to stock — proven on the printer replica, not yet needed on the machine. The stock package restores everything it carries; Moonraker is not in it, so the mod's build stays and keeps working — see Support

For the tinkerer:

  • ssh as root — a random password is chosen on the first install and written to anvil-password.txt on your stick; updates keep it (make passwd bakes in your own)

What you give up

FlashForge's application is one binary, and replacing it takes everything that lived inside it: the network API on :8898, and with it FlashPrint, Orca's FlashForge profile and the mobile app. Moonraker's API takes over. Flashing the stock package brings them back.

If your prints already come out the way you want and you like the printer's own screen, this mod is not for you. It trades FlashForge's polish for Klipper's reach, and it expects you to be comfortable with a Klipper config and an ssh session when something breaks — Is this for you is the honest version of that question.


Get it

Creator 5 and Creator 5 Pro are not interchangeable. The printer refuses a package built for the other model — the most common reason a flash "does nothing". Yours is in Settings → About.

Your printer The file on the Releases page
Creator 5 Creator5-anvil-<date>.tgz
Creator 5 Pro Creator5Pro-anvil-<date>.tgz

Download the stock FlashForge package for your model before you begin. It is the undo button: flashing it back puts the printer as it was.


Start here

Is this for you Who should flash this, who should stay on stock, and what it asks of you
Installing The flash, the first boot, your root password
Your first print The go/no-go checks, calibration, and the two verification files
Support The logs, and the way back to stock

The full manual is at reforge.readthedocs.io. If you want the insides — one file, firmwareExe, with the stock boot scripts, updater and recovery path left untouched — How it works is under For contributors.


Credits

Built on the work of others: ghzserg/FF publishes the stock packages and factory image everything here starts from; Mainsail, Moonraker and HelixScreen are shipped as released; the toolchanger status API follows viesturz/klipper-toolchanger so tool-aware UIs work unchanged.

S
Description
Custom firmware for the FlashForge Creator 5 / Creator 5 Pro: Klipper, Mainsail, ssh and HelixScreen, installed by copying one file to a USB stick
Readme
6.5 MiB
0 Stars 1 Watchers 0 Forks
2026-09-24 11:56:02 -05:00
Languages
Python 59.6%
Shell 26.2%
C 11%
G-code 1.9%
Makefile 1.3%