I love MakerGear and printers, but you guys dropped the ball on Firmware updates for M2.

Problem 1.

Firmware doesn't work with latest Arduino IDE and version 1.5.5 needed. The "fix" for this can be implemented in less than 15 minutes by replacing variable types. I've done it and was able to update FW using Arduino 1.8.x, why can't you release this easy fix?

Problem 2.

I recently upgraded Rev D printer to V4 hotend. Because mine uses older "silver" stepper I had to use really old version of Marlin FW that doesn't even support FAN AUTO OFF feature... Is there something special in REV E firmware? Nope! Just needed to change few lines of code to get it working with reverse endstop switch and different Z stepper. Works like a charm.

Please please, update Firmware on your site, I can send you my modified version if it helps

Mainly it's just a support headache for MakerGear. I am an open source software developer, so I know this routine very well: When you're dependent on someone else's software, they can change it at any time and break all your code. It's a fact of life in open source development. That doesn't mean it isn't a royal pain.

So your "Problem 1" looks like a fairly major update for Arduino with the (unfortunately very typical) backwards incompatibility, and really does need to be brought to the attention of MakerGear, as it affects all existing users.

Your "Problem 2" involves those with old but upgraded printers: A vanishingly small portion of MakerGear's customer base. Not to mention that most (all?) of the people who own a MakerGear printer from that far back and are willing to upgrade it are probably, like you, technically fluent enough to figure out how to configure the most recent Marlin code to work with the M2. Your best bet is probably to make your own fork of the Marlin code on github (from https://github.com/MarlinFirmware/Marlin) and then post a link to it on the forum.

I have just recently upgraded a *very* early version of the M2 to the latest 1.x Marlin release with BLTouchSupport. The only outstanding issue is false thermal runaway errors on the bed heater. I've currently got thermal protection for the bed heater disabled, but plan to work on getting a real fix when I get time.

I have just recently upgraded a *very* early version of the M2 to the latest 1.x Marlin release with BLTouchSupport. The only outstanding issue is false thermal runaway errors on the bed heater. I've currently got thermal protection for the bed heater disabled, but plan to work on getting a real fix when I get time.

Please note that my changes are for a very early version of the M2, so there are bound to be hardware differences between my printer and the latest revisions being sold. In particular, I believe that the pitch of the leadscrew was changed, so if you have a newer M2, make sure you update the steps/mm for the z axis.

One thing to note, the gcode for controlling your fans is a little different from the original M2 firmware. Instead of M108 controlling your case/filament-drive fan and M106 controlling your part cooling fan, M106 controls both using the "P" parameter. P0 = part-cooling, P1 = filament-drive cooling fan (I suppose it could be the otherway around if you have your fans hooked up differently).

So to set the part-cooling fan to full speed you would use:

M106 P0 S255

If you get false thermal runaway emergency shutdowns, try tuning the PID settings. The settings I put into the firmware were auto-tuned at 90C using the MG 24v aluminum heat bed. It that fails, try increasing the THERMAL_PROTECTION_HYSTERESIS in Configuration_adv.h