Skip to content

Releases: aegean-odyssey/mpmd_marlin_1.1.x

"We've been replaced" Release - 119r16

28 Aug 04:57
Compare
Choose a tag to compare

"We've been replaced" Release - 119r16

Quick Start   Wiki Pages  

IMPORTANT CAVEAT! The mpmd_marlin_1.1.x firmware is NOT designed for the V2 model of the Monoprice Mini Delta 3D printer. Monoprice recently began selling a V2 model of the printer, and I doubt that this firmware is compatible. Please, do NOT try to install this firmware on the Monoprice Mini Delta V2 printer.

Well there appears to be a new version of the Monoprice Mini Delta printer; the V2 model (which we don't support). So before all interest wanes for the original model, let's get out another release of the mpmd_marlin_1.1.x firmware.

Notable changes

  • fixed a fairly important regression introduced in 119r12 that would affect G33 P0 and G33 P1 (aka G29 P0). Discussion is in issue #54;

  • the extra fan output on the printer's controller board is now supported! Kudos to @BackwardEcho, @mulcmu, @PurpleHullPeas, and @MatthewUpp for working it out. Opens up some interesting possibilities for the printer, I think. More info is in the wiki.

Please Note

When installing or upgrading, the firmware may not properly detect and correct errors in the flash memory used to store its settings. Bizarre or erratic motion is a strong indication that there is a problem with the settings. The M502 (load factory settings) command followed by the M500 (save settings) command should get the firmware operating from a known "ground" state.

Installation

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested

"2020 is hindsight." Release - 119r15

04 Jan 00:04
Compare
Choose a tag to compare

"2020 is hindsight." Release - 119r15

Quick Start   Wiki Pages  

IMPORTANT CAVEAT

The mpmd_marlin_1.1.x firmware is NOT designed for the V2 model of the Monoprice Mini Delta 3D printer. Monoprice recently began selling a V2 model of the printer, and I doubt that this firmware is compatible. Please, do NOT try to install this firmware on the Monoprice Mini Delta V2 printer.

Helluva year, 2020. Good to be started on 2021.

Nothing fancy in this release, but we have some genuine improvements, I think. Discussion and feedback motivated almost all of the changes, and credit goes to @mulcmu, @BackwardEcho, @Jozer99, and others for their participation and patience in this update round.

Notable changes

  • the printer should no longer hang and reboot when cabled through its USB port without an open connection (hoping to fix issues #47, #48, and maybe #5);

  • a tiny error that would accummulate in the z-axis when the printer repeatedly tapped (probed) the print bed has been fixed (issue #38);

  • more information, relevant for delta style printers, is part of the M114 "position report" code and during the G29, G30, and G33 calibration and probing sequences (discussion #46); and

  • the printer now displays the A/D converter values with its temperature readings to make it easier to collect measurements used to create customer thermistor tables. Groundwork is also started for custom/ alternate thermistors and more precise and space efficient temperature tables (discussion #45).

Please note: when installing or upgrading, the firmware may not properly detect and correct errors in the flash memory used to store its settings. Bizarre or erratic motion is a strong indication that there is a problem with the settings. The M502 (load factory settings) command followed by the M500 (save settings) command should get the firmware operating from a known "ground" state.

Installation

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested

"Marginal Gains" Release - 119r14

07 Oct 00:39
Compare
Choose a tag to compare

"Marginal Gains" Release - 119r14

Quick Start   Wiki Pages  

Work on improving the machine's auto-calibration has stalled -- this release contains the "prep work" to perhaps overhaul Marlin's auto-calibration process, along with a few other small changes some might find useful. I thought I'd push these small changes out since the current main objective (improved auto-calibration) has been elusive.

Please note: when installing or upgrading, the firmware may not properly detect and correct errors in the flash memory used to store its settings. Bizarre or erratic motion is a strong indication that there is a problem with the settings. The M502 (load factory settings) command followed by the M500 (save settings) command should get the firmware operating from a known "ground" state.

Notable changes

  • SD card contents: include SHA1 hashes for the firmware files, and place M851 setup commands in their own folder (thanks to @mulcmu for these suggestions);

  • change the bed probe tapping for the G29, G30, and G33 codes from three (3) averaged taps to two (2) fast/slow taps and adjust the tap speeds;

  • bump the "maximum extrude length" limit from 500mm to 600mm; and

  • tweak the bed probe compensation parameters (more of an experiment than an improvement).

Installation

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested

"Lucky 13" Release - 119r13

05 Aug 02:25
Compare
Choose a tag to compare

"Lucky 13" Release - 119r13

Quick Start   Wiki Pages  

Anxious to release r12 with its big bug fix, I flubbed a fix and missed a few things. So here is 119r13 -- what the previous release should have been.

Please note: when installing or upgrading, the firmware may not properly detect and correct errors in the flash memory used to store its settings. Bizarre or erratic motion is a strong indication that there is a problem with the settings. The M502 (load factory settings) command followed by the M500 (save settings) command should get the firmware operating from a known "ground" state.

Notable changes

  • Fixed where I added but should have subtracted in the G30 code's calculation of the corrected Z offset (Q value).

  • Split the long M665 ... output of the M503 code into two shorter lines. The original line was correct, but it was too long for Marlin to process in the event that it was fed back into the printer.

  • Tweaked the printer's emergency stop to send "//action:killed" to the serial host (e.g. OctoPrint) before the printer requires an LED button press to restart the printer; also accept M108 from the serial host to simulate an LED button press in such a case to restart the printer.

  • Renamed the uSDCard .zip file to sort at the top of the "Assets" list on this release page; also include the firmware variants in the \firmware folder of the .zip file.

Installation

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested

"It takes a village..." Release - 119r12

31 Jul 16:07
Compare
Choose a tag to compare

"It takes a village..." Release - 119r12

Quick Start   Wiki Pages  

Good suggestions, commentary, and feedback mark this firmware release. Thank you to everyone for your comments, observations, suggestions, and patience. With this release, we have some fixes and generally more useful firmware.

Please note: when installing or upgrading, the firmware may not properly detect and correct errors in the flash memory used to store its settings. Bizarre or erratic motion is a strong indication that there is a problem with the settings. The M502 (load factory settings) command followed by the M500 (save settings) command should get the firmware operating from a known "ground" state.

Notable changes

  • A particularly nasty crashing issue rendered the -PCfan variants of the previous release useless. The cause has been identified (stack overflow) and seems to be fixed in this release.

  • Usability changes to the G29 and G30 codes should allow these codes to be much more useful. (see "G/M code Support")

  • The -ACfan variants of the firmware combine both the automatic hotend fan and the part cooling fan functions into
    one fan. When the part cooling fan is disabled (M107/M106 S0) the fan operates as the automatic hotend fan.
    Otherwise, the fan functions as a part cooling fan.

  • Temperature measurements now pass through a smoothing filter with a larger time constant. This should reduce a
    fair amount of the noise in the temperature readings.

  • AddedCALIBRATE_25MM.gcode to the setup_gcode commands as an alternate to the AUTO_CALIBRATE.gcode command that calibrates with a smaller mesh boundary. It is useful for machines that cannot reach the full 55mm print radius.

Installation

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested

"Linear Advance" Release - 119r11

18 May 03:42
Compare
Choose a tag to compare

"Linear Advance" Release - 119r11

Quick Start   Wiki Pages  

The firmware now includes Marlin's "Linear Advance 1.5" feature!

IMPORTANT, IMPORTANT, IMPORTANT!

The format of the saved settings has changed with this release. After installing the firmware, it is imperative to restore the factory settings. Simply use the command M502_FACTORY.gcode followed by the command M500_SAVE.gcode from the contents of the micro SD card.

Please note: when installing or upgrading, the firmware may not properly detect and correct errors in the flash memory used to store its settings. Bizarre or erratic motion is a strong indication that there is a problem with the settings. The M502 (load factory settings) command followed by the M500 (save settings) command should get the firmware operating from a known "ground" state.

Notable changes

  • The firmware now includes Marlin's "Linear Advance" feature. As the feature requires some individual calibration and tinkering, it is disabled by default. (see "Linear Advance 1.5")

  • The Marlin "kill" process now reboots the printer without executing the bootloader. This change avoids some issues with the bootloader.

  • A small change in AUTO_CALIBRATE.gcode; don't adjust the tower angles with the G33 command. With this change, the calibration process will NOT override a user's custom M665 "trim" values.

Installation

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested

"M665" Release - 119r10

06 May 03:47
Compare
Choose a tag to compare

"M665" Release - 119r10

Quick Start   Wiki Pages  

With the controller board's 128k of program space, it's increasing difficult to "shoe-horn" more features into the firmware. I reworked the source code a bit to make room to extend the M665 (delta configuration) command. With this release, the firmware's features pretty-much supersede those of the mcheah/Marlin4MPMD firmware. Alas, this was the not the intent of the mpmd_marlin_1.1.x project. Work on Marlin4MPMD project has stopped, so there is a slight onus on this project to become a substitute.

IMPORTANT, IMPORTANT, IMPORTANT!

The format of the saved settings has changed with this release. After installing the firmware, it is imperative to restore the factory settings. Simply use the command /setup_gcode/M502_FACTORY.gcode followed by the command /setup_gcode/M500_SAVE.gcode from contents of the micro SD card.

Please note: when installing or upgrading, the firmware may not properly detect and correct errors in the flash memory used to store its settings. Bizarre or erratic motion is a strong indication that there is a problem with the settings. The M502 (load factory settings) command followed by the M500 (save settings) command should get the firmware operating from a known "ground" state.

Notable changes

  • Added parameters A, B, C, D, E, and F to the M665 (delta configuration) code. These parameters individually adjust the diagonal rod length (A, B, C) and effective radius (D, E, F) for each tower in a similar manner to adjusting the tower angles (X, Y, Z). Note that with this change, the calibration radius is now set using the V parameter instead of the B parameter -- this is not backward compatible with Marlin.

  • Changed a couple of configuration parameters to improve the usability of the M600 (change filament) code.

  • Backported some small changes from Marlin 1.1.9.1 -- one to make the G2/G3 codes slightly more robust.

Installation

Please see the wiki for installation instructions -- Wiki Pages

What's Next?

Though program space is at a premium, I would still like to include Marlin's linear advance feature in the firmware. So far, the linear advance feature causes the firmware to crash. And with this release, there is no longer sufficient space to build the firmware with the LIN_ADVANCE feature enabled. So, there's quite a bit of work to do.

For a few more thoughts concerning "what's next?", please see Loose Ends.

Feedback

Feedback is appreciated.

Status: untested

"Extras" Release - 119r09

20 Apr 04:20
Compare
Choose a tag to compare

"Extras" Release - 119r09

Quick Start

With this firmware release, we've fixed a few bugs, updated some documentation, and added a few extras to the contents of the micro SD card image. The big news is that finally, we've an Octoprint plugin and Pronterface script that exploits the firmware's M990 command to quickly upload a G-code file to the printer's micro SD card. These are early versions, but they do seem to work.

Please note: when installing or upgrading, the firmware may not properly detect and correct errors in the flash memory used to store its settings. Bizarre or erratic motion is a strong indication that there is a problem with the settings. The M502 (load factory settings) command followed by the M500 (save settings) command should get the firmware operating from a known "ground" state.

Notable changes

  • The wiki is updated with some tips on using the firmware with 1/8 microstepping versions of the MP Mini Delta printer. We also include a new command in the /setup_gcode folder on the micro SD card to provide correct default values for these printers:

    M92_XYZ57_E48.gcode  - set alternate defaults for 1/8 microstepping printers
    
  • The firmware now displays a message when the manual "jogging" of the E axis is prevented by Marlin's safety checks. Marlin normally does not allow "cold" extrusion by disabling the E axis stepper while the nozzle temperature is below 170°C. We also include a new command in the /setup_gcode folder on the micro SD card to (temporarily) override this safety feature:

    M302_P1_COLD_E.gcode - allow E-axis stepping regardless of nozzle temperature
    
  • The contents of the micro SD card image now contains an Octoprint plugin to provide faster uploads of G-code files from the Octoprint host to the micro SD card in the MP Mini Delta printer. (see Octoprint-plugin)

  • The contents of the micro SD card image now contains a Pronterface script and command to provide faster uploads of G-code files from the Pronterface host to the micro SD card in the MP Mini Delta printer. (see Pronterface tips)

  • We worked around a Marlin issue that causes problems with motion during the G29 (auto bed leveling) command. Specifically, motion commands queued during the G29 command did not execute reliably.

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested

"Calibration" Release - 119r08

16 Mar 17:04
Compare
Choose a tag to compare

"Calibration" Release - 119r08

Quick Start

The printer's seems to be working well. In stand-alone operation, that is printing directly from the micro SD card, we offer "utility" commands (auto-calibrate, save/restore settings, factory reset, etc.) in the form of g-code files that can be run directly from the printer. Using the printer with Octoprint via the USB port also seems to be very reliable. Things to come: more work to bring the wiki documentation up-to-date.

Now we turn to improving the automatic calibration and automatic bed leveling accuracy. To this end, we're testing a couple of strategies: improving the accuracy of measurements made by the probe's tapping; and refining the bed level mesh afterward. This firmware release is our first attempt.

Notable changes

  • Added "compensation" to the bed probe to account for the bed's tilt during the tapping process. The goal is to improve the machine's initial calibration, G33, by providing better probe measurements. It is a highly experimental feature that can be (temporarily) disabled with the debug command, M111 S128. So far, it seems to slightly improve the calibration results.

  • Added G29 C1 command, "fit a plane to the bed level data". Though repeatable, the bed probing on the printer does not seem to be all that consistent, resulting in a map of the bed surface that is far from uniform. This command replaces the existing bed level mesh with a plane the best fits the existing data.

  • Some fixes to Marlin auto bed leveling code, mostly to correct rounding errors. Also added X and Y (in addition to the I,J, and Z) values when displaying the bed level data with the M503 command -- useful possibly to create other ("off" machine) strategies to calibrate the machine and level the bed.

  • Fixed bugs in Marlin's card reader code to clean-up support for long file names (LFN) for the list files (M20), open file (M23), and print file (M32) commands. The changes improve the experience when using hosts such as a simple terminal or Octoprint. Still no LFN support when deleting or creating files, though.

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested

"Refinements" Release - 119r07

26 Jan 09:31
Compare
Choose a tag to compare

"Refinements" Release - 119r07

Quick Start

After a bit more testing, we've adjusted the firmware -- and our expectations. Mainly, the firmware's WIFI support was quite unreliable and could interfere with the LCD display, so it's been disabled for now. But there's good news, too -- in particular, we've "backported" stepper motor control changes from Marlin 2 into our firmware, and fixed a bug or two. Here are the important changes:

Notable changes

  • Replaced the CRC check on the stored settings with a simple pattern test. Since any change to the settings requires all settings to be erased, a CRC test is overkill. Removing the test saves a fair amount of program space.

    IMPORTANT When upgrading firmware that includes this change, the check will fail (first time-only) causing the stored settings to be overwritten with the firmware's factory settings. Your custom calibration and bed-leveling settings will be lost! Please plan accordingly.

  • Disabled WIFI support. The experimental support for WIFI in the previous release proved very unreliable, and for the most part, it was not at all useful. The printer could consistently establish and maintain a WIFI connection, but it could not upload files nor reliably return output from executed G/M-code commands (e.g. M503 report settings). Also, the multiplexing aspect of the WIFI seem to interfere with the operation of the serial LCD display from time to time. So for now, WIFI is disabled.

  • Backported changes in the stepper motor control (stepper.cpp, stepper.h) from Marlin 2. These changes take advantage of the hardware's 32-bit processor, increasing peformance and saving program code space. Qualitatively, overall printing motion seems a bit smoother and faster.

  • BUGFIX Fixed a USART interrupt bug (i.e. an unhandled overrun error) that would occasionally lock-up the printer and eventually cause a watchdog time-out.

  • Reworked the USB/CDC driver. Changed the STM32F0's HAL USB driver for slightly better performance, smaller program code space, and improved clarity. Backported a few changes from STM32Cube SDK v11, plus removed unnecessary code. More work to do here.

  • Added a custom M990 code -- support for faster file uploads to the micro SD card via the USB port. With host support, the "simple upload protocol" can transfer a file from the host to the printer (via USB) much than Marlin's standard file copy. In our tests, we achieve rates close to 8M bytes/minute using a python3 script on the host to transfer files to the printer. Hopefully, we'll be able to add support to OctoPrint for this file upload mechanism.

  • Fixed start-up G-code in example G-code files. The modified start-up G-code mitigates issues with thermal run-away for the firmware variants that limit power to bed heater. see this Issue

Please see the wiki for installation instructions -- Wiki Pages

Feedback

Feedback is appreciated.

Status: untested