Druid Firmware
Release status: Beta
Description | Dedicated Firmware that currently runs only on Flashforge CoreBoard (All revisions)
|
License | |
Author | |
Contributors | |
Based-on | |
Categories | |
CAD Models | |
External Link |
Druid firmware is a dedicated 3D printer firmware that currently runs only on Flashforge CoreBoard (all Revisions).
Printer that uses this controller:
Flashforge: Dreamer, Dreamer NX and Inventor. Dremel: 3D20. Powerspec: Ultra 3D. Monoprice: Inventor 1.
The firmware is currently in it's Beta testing phase.
Currently supported Gcodes:
"G" Codes
G0,G1 - Coordinated Movement X Y Z E. G2 - CW ARC. G3 - CCW ARC. G4 - Dwell S<seconds> or P<milliseconds> if both set (then S will be used, P will be omitted). G5 - Cubic B-spline with XYZE destination and IJPQ offsets. G6 - Direct stepping moves. G20 - Set input units to inches. G21 - Set input units to millimeters. G27 - Park Nozzle. G28 - Home one or more axes. G90 - Use Absolute Coordinates. G91 - Use Relative Coordinates. G92 - Set current position to coordinates given
"M" Codes
M0,M1 - Unconditional stop - Wait for user interaction on LCD. M17 - Enable/Power all stepper motors. M18,M84 - Disable steppers until next move, or use S<seconds> to specify an idle. M20 - List currently monted SD Card. M21 - Mount SD card or internal microSD. Mount current:"M21", Mount SD CARD:"M21 S" or "M21 P0", Mount microSD:"M21 M" or "M21 P1" M22 - Release currently monted SD Card. M75 - Start the print job timer. M76 - Pause the print job timer. M77 - Stop the print job timer. M82 - Set Extruder(s) to Absolute (default). M83 - Set Extruder(s) to Relative. M85 - Set inactivity shutdown timer with parameter S<seconds>. 0=Disable (default). M92 - Set steps_per_mm for one or more axes. M104 - Set extruder target temperature. M105 - Report current temperatures. M106 - Set print fan speed. M107 - Print fan off. M112 - Full Shutdown. M114 - Report current position. M115 - Report capabilities. M117 - Display a message on the controller screen. M118 - Display a message in the host console. M119 - Report endstops status. M120 - Enable endstops detection. M121 - Disable endstops detection. M148 - Set Display temperature units. ( M148=report, M148 C / K / F ) M149 - Set Parser temperature units. ( M149=report, M149 C / K / F ) M150 - Set LED STRIP Color as R<red> U<green> B<blue> Values 0-255. Omitted parameters will be set to ZERO. M154 - Auto-report positions with interval of S<seconds>. 1-255, 0=disable. M201 - Set max acceleration in units/s2 for print moves ex: M201 X1000 Y1000 M202 - Set max acceleration in units/s2 for travel moves ex: M202 X1000 Y1000 M203 - Set maximum feedrate: "M203 X<fr> Y<fr> Z<fr> E<fr>" in units/sec. M204 - Set default acceleration in units/sec2: P<printing> R<extruder_only> T<travel> M206 - Set additional homing offset. M218 - Set/get a tool offset: "M218 T<index> X<offset> Y<offset>". (Requires 2 or more extruders) M220 - Set Feedrate Percentage: "M220 S<percent>" "M220 B" to back up the Feedrate Percentage and "M220 R" to restore it. M221 - Set Flow Percentage: M221 S<percent> M250,M256 - Set LCD brightness & contrast: "M250 or M256 C<contrast> B<brightness>" -100 to 100, 0=disabled / default M298 - Mute/Unmute UI sound... Sound Disabled= "M298 S0" , Sound Enabled= "M298 S1" M300 - Play beep sound S<frequency Hz> P<duration ms> M301 - Set PID parameters P I and D. M302 - Set the minimum extrude temperature, to avoid cold extrusion. S<temperature>. M303 - PID autotune - sets the parameters needed to perform autotune, for a specific heater and temperature range. M304 - Set bed PID parameters P I and D. M309 - Set chamber PID parameters P I and D. M400 - Finish all moves. M410 - Abort all planned moves. M412 - Enable / Disable Filament Runout Detection. M428 - Set the home_offset based on the current_position. Nearest edge applies. M500 - Write parameters in next flash subdivision. (Note 1) M501 - Read parameters from current flash subdivision. ( Automatically done at every boot ) M502 - Revert all parameters to the default "factory settings" and store in next flash subdivision. M503 - List the current settings (in memory). M504 - List divergences between parameters in the current save slot and parameters in memory (ram) M510 - Lock Printer M511 - Unlock Printer M512 - Set/Change/Remove Password M524 - Abort the current SD print job started with M24. M575 - Change the serial baud rate. (USB) M907 - Set motor current for specified axis. M995 - Touch screen calibration. M997 - Write "firmware update" trigger. Instruct the bootloader to update firmware from microSD card at next reboot. M999 - Restart after being stopped by error M6000 - REPORT PUID TO HOST... Puid: 084251D3F1A51542D3FDD4F0 (12 hex bytes,24 CHAR) M6001 - ENTER registration code :usage M6001 D3FDD4FDD3FDD4FDD3FDD4FD (12 hex bytes,24 CHAR) M6002 - ENTER SPECIAL CODES : unlocking, get access, reset, password override, etc. M9991 - Backup bootloader to SD (64k) 0x08000000 - 0x0800FFFF M9992 - Load a Backuped BOOTLOADER from SD and Flash it at 0x08000000. WARNING:wrong parameters may render your printer unusable. M9993 - Backup SETTINGS to SD-CARD (512 Bytes) M9994 - Backup PUID to SD-CARD (12 bytes or 24 HEX CHARACTERS)
"T" Codes
T0-T1 - Select an extruder(tool) by index: "T<n> F<units/min>"
Note 1.
Because of the small size for parameter storage (512 bytes), a 128K flash memory sector is used as permanent storage.
The sector can be partially written 256 times (512 bytes per backup) before requiring a complete sector wipe,
to restart the same process again. (That was 1 write cycle). The flash memory maximum write cycles guaranteed for the
STM32F407 MCU by ST Microelectronics are 10000, yielding a total of 2.56 million times, parameters can be saved.