@ghosttypes/ff-api
v2.1.0
Published
FlashForge 3D Printer API for Node.js
Readme
FlashForge TypeScript API
TypeScript and Node.js library for controlling FlashForge 3D printers over the modern HTTP API and the legacy TCP protocol.
Supported Printers
| Printer | Support | | --- | --- | | Adventurer 5M | Full | | Adventurer 5M Pro | Full | | AD5X | Full | | Adventurer 3 / 4 | Dedicated TCP clients |
Installation
npm install @ghosttypes/ff-apiQuick Start
Modern Printers
Use FiveMClient for Adventurer 5M, 5M Pro, and AD5X.
import { FiveMClient } from '@ghosttypes/ff-api';
async function main() {
const client = new FiveMClient('192.168.1.100', 'SERIAL_NUMBER', 'CHECK_CODE');
if (!(await client.initialize())) {
return;
}
await client.initControl();
console.log(`Printer: ${client.printerName}`);
console.log(`Firmware: ${client.firmwareVersion}`);
const status = await client.info.get();
console.log(`State: ${status?.Status}`);
await client.control.homeAxes();
await client.dispose();
}
main();Legacy TCP Printers
Use FlashForgeA4Client or FlashForgeA3Client for documented legacy TCP control. FlashForgeClient remains available as a generic fallback.
import { FlashForgeA4Client } from '@ghosttypes/ff-api';
async function main() {
const client = new FlashForgeA4Client('192.168.1.101');
if (await client.initControl()) {
const info = await client.getPrinterInfo();
console.log(`${info?.machineType} (${info?.variant})`);
}
await client.dispose();
}
main();Main Entry Points
FiveMClient: modern HTTP + TCP client for 5M, 5M Pro, and AD5XPrinterDiscovery: UDP discovery for supported FlashForge printersFlashForgeA4Client: documented TCP client for Adventurer 4 Lite / Pro printersFlashForgeA3Client: documented TCP client for Adventurer 3 printersFlashForgeClient: generic legacy TCP fallback for direct G-code workflows
Capabilities
- printer discovery
- printer status and machine information
- job control
- file listing, uploads, and thumbnails
- temperature and motion control
- LED, camera, and filtration control where supported
- AD5X-specific job and material-station support
