Skip to content

Creator 5 Series

GhostTypes edited this page Jun 29, 2026 · 2 revisions

Creator 5 Series (Creator 5 / Creator 5 Pro)

The Creator 5 and Creator 5 Pro are 4-head CoreXY tool-changers in the 5M/AD5X firmware family. Unlike every other modern FlashForge, the Creator 5 is HTTP-only: it runs the HTTP API on port 8898 (plus the camera MJPEG server on 8080 and UDP discovery) and exposes no legacy TCP command server on 8899. There is no raw G-code / M-code passthrough.

Overview

Feature Creator 5 Creator 5 Pro
HTTP API (8898) Yes Yes
TCP API (8899) No No
Discovery PID 40 (0x28) 41 (0x29)
Tool heads (extruders) 4 4
Material station (4-slot) Yes Yes
Built-in camera Yes Yes
Heated chamber Yes (set/read, max 80 °C) Yes (set/read, max 80 °C)
Air filtration / aux fans No Yes
Door sensor No (cosmetic doorStatus) Yes

Both models share productType 0x5A02; the PID is the only reliable family discriminator (see Printer PIDs). Build volume reported by /detail measure is 256×256×256 (the 310x260x270 value seen in the update-checker JSON is stale — trust the on-device value).

Firmware Coverage

Version Model Endpoint Reference
1.7.8 (base) Creator 5 endpoints_creator5_1.9.2.yaml
1.9.2 Creator 5 Pro endpoints_creator5_1.9.2.yaml

Architecture: MIPS32 LE (Ingenic), Klipper-based. Firmware is distributed via VoxelShare only (not sz3dp).

HTTP-Only Architecture

The Creator 5 runs the same HTTP API stack as the 5M/AD5X, but it is the only modern model with no TCP control channel:

  • Inbound listeners are limited to HTTP 8898, camera MJPEG 8080, and UDP discovery. All other sockets are outbound (MQTT/HTTPS cloud).
  • There is no port 8899, so any "TCP-first" connection flow fails. Clients must connect over HTTP only — see Connection Model.
  • Moonraker exists as a separate process but is disabled by default.

Content-Type quirk: the firmware returns the misspelled header appliation/json (missing the c). Parse responses as JSON regardless of the header.

Authentication & Discovery

Identical model to the rest of the 5M family (see Authentication and Discovery Protocol):

  • Every handler gates on LAN mode ({code:-2,"Lan mode error"} if disabled), then validates serialNumber + checkCode. Credentials are sent on every request — there is no session token.
  • UDP discovery uses the standard 276-byte FlashForge packet with the PID at offset 0x88, so the printer is discoverable without an IP scan.

HTTP Endpoints

For the full request/response schema see the endpoint YAML. Available endpoints:

# Endpoint Method Auth
1 /checkCode POST SN + checkCode
2 /detail POST SN + checkCode
3 /product POST SN + checkCode
4 /uploadGcode POST (multipart) SN + checkCode (headers)
5 /control POST SN + checkCode
6 /gcodeList POST SN + checkCode
7 /gcodeThumb POST SN + checkCode
8 /printGcode POST SN + checkCode
9 /getThum GET LAN-mode only
10 /notifyWanBind POST serialNumber only

Unmatched paths return "page not found" (no catch-all handler).

/control Command Set

/control dispatches on the payload.cmd string. The Creator 5 firmware has a dispatch branch for 12 commands; the 9 AD5X-style motion/material commands listed below are absent — and crucially, an absent command is silently ACKed with {code:0,"Success"}, so a success response is not proof a command did anything.

Accepted commands (12)

cmd Args Notes
temperatureCtl_cmd platform, rightNozzle, leftNozzle, chamber, nozzles[4] Per-tool temps — see Temperature Control
printerCtl_cmd zAxisCompensation (float), speed, chamberFan, coolingFan Partial update; sentinel -200
lightControl_cmd status: open/close Chamber LED
circulateCtl_cmd internal, external: open/close Filtration fans (Pro)
jobCtl_cmd action: pause/continue/cancel Print job control
stateCtrl_cmd action (e.g. setClearPlatform)
msConfig_cmd {slot, mt, rgb} Slot metadata only — see note
calibration_cmd leveling / vibration Cloud/app-originated
reName_cmd name Cloud/app-originated
streamCtrl_cmd camera open/close Cloud/app-originated
delayClose_cmd auto-shutdown + time Cloud/app-originated
userProfile_cmd account mgmt Not printer control

msConfig_cmd wire keys are {slot, mt, rgb} (the # is stripped from rgb), the same as the AD5X. Do not send materialName / materialColor (those are the internal C++ parameter names, not wire keys). Unlike the AD5X there is no ms_cmd — the Creator 5 has no slot load/unload command.

Absent commands (9) — silently no-op

moveCtrl_cmd, homingCtrl_cmd, extrudeCtrl_cmd, ms_cmd, ipdMs_cmd, clearFan_cmd, plateDetectControl_cmd, firstLayerDetectControl_cmd, errorCodeCtrl_cmd.

This means no axis home/jog/move, no manual extrude, no slot load/unload, and no error-clear command over the API. These are a permanent limitation short of rooting the printer and using Moonraker directly.

Temperature Control

Send via /control with temperatureCtl_cmd. The body is { serialNumber, checkCode, payload: { cmd, args } }.

{
  "cmd": "temperatureCtl_cmd",
  "args": {
    "platform":    60,                 // heated bed
    "rightNozzle": -200,               // legacy scalar — not used by the Creator 5
    "leftNozzle":  -200,               // legacy scalar — not used by the Creator 5
    "chamber":     -200,               // chamber heater (max 80 °C)
    "nozzles":     [220, -200, -200, -200]  // per-tool targets — the only path that drives the tools
  }
}

The Creator 5 drives its tool heads only through the nozzles array — one entry per head, in order (index 0 is the first head; the printer UI numbers the heads T1–T4). The rightNozzle / leftNozzle scalars are not used. The bed (platform) and chamber use their scalar fields.

Sentinels

The "off" value differs between the scalar fields and the per-tool nozzles array:

Field No change Off Set target
platform, chamber -200 -100 target °C
each nozzles[] element -200 0 target °C

To turn a tool head off, set its nozzles[] element to 0 — not -100. The per-tool array only treats 0 as off; a -100 there is ignored and the tool keeps heating. (-100 turns off the scalar platform / chamber fields only.)

Hard constraint

nozzles must be an array of exactly 4 elements or the per-tool block is ignored. Always send 4 entries, using -200 for tools you are not changing — even on a bed- or chamber-only command.

Read back per-tool temperatures from /detail nozzleTemps[4] / nozzleTargetTemps[4] (current / target). The rightTemp / leftTemp scalars are legacy.

Chamber Heater

The Creator 5 and 5 Pro both have a physically heated chamber (max 80 °C), and chamber heating is verified working on both models.

  • Set / clear the target with the chamber field of temperatureCtl_cmd: a target up to 80 °C to heat, -100 to turn off, or -200 to leave unchanged.
  • Read the live chamber temperature from /detail chamberTemp, and the current target from chamberTargetTemp.

Print Workflow

The Creator 5 splits the multi-tool workflow across upload and print-start differently from the AD5X: the upload flags the file as a material-station job, and the per-tool material mapping is supplied at print-start (not in the upload header).

1. Upload — POST /uploadGcode

multipart/form-data, field name gcodeFile, streamed. Accepts .gcode and .3mf (a .3mf is unzipped on-device to its embedded .gcode).

Request headers:

serialNumber, checkCode, fileSize, printNow, levelingBeforePrint,
flowCalibration, timeLapseVideo, useMatlStation, gcodeToolCnt, Expect: 100-continue
  • Booleans are the strings "true" / "false" (not "1" / "0").
  • useMatlStation flags the file as a material-station job (clients set it true); gcodeToolCnt is the tool count (always ≥ 1).
  • There is no firstLayerInspection header (the field doesn't exist on the C5) and no materialMappings header — mapping happens at print-start.

Files are saved to /usr/data/gcodes. Pre-flight gates: LAN mode ({code:-2}), a cache drop, then a busy check ({code:2,"Printer is busy"}).

2. Start print — POST /printGcode

{
  "serialNumber": "...",
  "checkCode": "...",
  "fileName": "model.gcode",     // required
  "levelingBeforePrint": true,   // required
  "flowCalibration": false,      // always sent, default false
  "timeLapseVideo": false,       // always sent, default false
  "materialMappings": [ /* present ONLY for a multi-tool print */ ]
}

/printGcode does not read useMatlStation, gcodeToolCnt, or firstLayerInspection — those belong to the upload request.

materialMappings[] element (5 fields — same shape as the AD5X)

{
  "toolId": 0,                    // gcode tool, 0-based (T0..T3)
  "slotId": 1,                    // physical material slot, 1-based (1..4)
  "materialName": "PLA",
  "toolMaterialColor": "#2E54DD", // #RRGGBB
  "slotMaterialColor": "#2E54DD"  // #RRGGBB
}

Maximum 4 mappings. For a single-tool print, omit materialMappings entirely.

Job control

POST /control with jobCtl_cmd and action = pause / continue / cancel.

/detail Schema Additions

The Creator 5 /detail is the AD5X schema plus these additions (full live example modeled in the endpoint YAML):

Field Description
nozzleTemps[4] / nozzleTargetTemps[4] Per-tool current / target temperatures (read these, not rightTemp/leftTemp)
lidar First-layer scanner capability flag
model Model name, e.g. "Creator 5 Pro"
nozzleModel, name, macAddr, location Identity fields
estimatedLeftWeight / estimatedRightWeight Filament weight estimates
zAxisCompensation Current Z-offset

matlStationInfo.slotInfos[] = { slotId (1-based), materialName, materialColor (#RRGGBB), hasFilament }; currentSlot / currentLoadSlot use 0 = idle (real slots are 1–4); slotCnt = 4.

Active toolhead has no confirmed HTTP signal. The firmware tracks the active extruder internally, but it is not exposed in /detail and no /control command selects a tool. matlStationInfo.currentSlot is an unconfirmed candidate proxy — label any UI built on it as "derived," not authoritative.

Connection Model

Because there is no TCP 8899, the Creator 5 breaks any TCP-first connection flow. Clients must use an HTTP-only path:

  • The @ghosttypes/ff-api FiveMClient auto-enables httpOnly mode for Creator 5 PIDs; initControl skips the TCP control channel.
  • FlashForgeUI routes Creator 5 PIDs through an HTTP-only short-circuit and never prompts for a LAN/TCP password.
  • HTTP-only models can never use legacy mode — any per-printer transport flag must be gated by an isHttpOnlyModel() check.

Filament Palette

The Creator 5 has its own 24-color palette and 21-material list, firmware-confirmed and different from the AD5X palette — do not reuse the AD5X swatch values. See Creator 5 Filament Palette for the full tables.

See Also

Clone this wiki locally