Anycubic Mega S

From Leo's Notes
Revision as of 06:15, 20 September 2020 by Leo (talk | contribs)
This page was last edited on 20 September 2020, at 06:15.

The Anycubic Mega S is a cheap 3D printer. I bought this printer for about $280 CAD with shipping.

Configuration

Serial talks at 250,000 baud.

The print area is 210x210x205 (width, depth, height).

Anycubic suggests that the following slicer settings:

  • bottom layer speed not exceed 20mm/s
  • top/bottom speed 30mm/s
  • outer shell speed 30mm/s
  • retraction speed at 60mm/s at 6mm or for flexible filament at 91mm/s at 6.4mm

Cura Profiles

White PLA

With the enclosure, print profile:

Setting Value
Layer Height 0.15
Print Temperature 200
Printing Temperature Initial Layer 210
Final Printing Temperature 185
Build Plate Temperature 70
Flow 98%
Initial Layer Flow 125%
Print Speed 50 mm/s
Outer Wall Speed 30 mm/s
Top/Bottom Speed 20 mm/s
Support Speed 30 mm/s
Travel Speed
Initial Layer Speed 15 mm/s
Skirt/Brim Speed 15 mm/s
Retraction Distance 6 mm/s
Retraction Speed 40 mm/s
Fan Speed 100 %
Initial Fan Speed 20 %
Regular Fan Speed at Height 0.5 mm / 4 layer


Firmware

The stock firmware can be found on Anycubic's website, near the bottom of the page. https://www.anycubic.com/products/anycubic-i3-mega-s?variant=32094219305091. The stock firmware uses Marlin 1.1.0-RC8. UUID cede2a2f-41a2-4748-9b12-c55c62f367ff.

The TFT display is driven by a separate microprocessor (more information on the displays at https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Types-of-Anycubic-Touchscreens) which communicates via serial with the main board. Updating the firmware will not update the display GUI.

Custom Firmware

There is a custom firmware for the Mega S maintained by knutwurst at https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S. This firmware uses the latest version of Marlin. You can download the pre-compiled release .hex file or obtain the source and compile it in Arduino IDE manually.

Precompiled

If you use the precompiled version, note that there are the following changes:

  • The firmware still has startup sound. This can only be disabled by editing Marlin/Configuration.h and ensure STARTUP_CHIME is not defined.
  • Filament sensor needs to be closed or else it shows an error on the display when the machine is powered on. The special menu to disable the filament sensor is only temporary and reverts on a reset. You will need to undefine the ANYCUBIC_FILAMENT_RUNOUT_SENSOR in Configuration.h to disable this completely. The screen nags you of the filament because this firmware will send J15 to it on startup to the display if FILAMENT_RUNOUT_PIN is high.
  • Bed size is changed from 210x210 to 225x220 (width, depth). I reverted this back to 210x210 because the nozzle will crash to the clips on the right side of the bed.

Compile Yourself

If you choose to not use the pre-compiled version, compiling a modified version is very easy. Clone the repository and open the Marlin/Marlin.ino file in Arduino IDE. Set the target for the ATmega2560 board. Get the compiled binary by going to Sketch -> Export compiled binary. The binary will be located in the same location as the Marlin.ino file. Upload the .hex file that does not contain the bootloader via OctoPrint to update the firmware.

Review the first 100 lines of Configuration.h and uncomment whatever applies. Ensure that the correct device is enabled with the proper configuration flags (eg. KNUTWURST_MEGA_S, KNUTWURST_TMC). You may want to uncomment line 287 so that #define MOTHERBOARD BOARD_TRIGORILLA_14 is defined.

Flashing Firmware

After obtaining the .hex file, to update the firmware via OctoPrint, install the OctoPrint Firmware Updater plugin and configure the plugin with the following settings:

  • Flash method: avrdude
  • AVR MCU: ATmega2560
  • Path to avrdude: /usr/bin/avrdude
  • AVR Programmer Type: wiring
  • Baud Rate: auto

Mods and Upgrades

Filament Holder

Filament Holder - https://www.thingiverse.com/thing:2841440

I installed this filament holder so that the entire printer fits inside a Creality enclosure which was designed for the Ender 3.

TMC2208 v2 Motor Driver

Follow the guide at: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Swap-stepper-motor-driver-for-TMC2xxx

To install the new TMC2208 drivers, disconnect power and open the unit to remove all the existing drivers. Plug one driver in one by one and apply power. Adjust the potentiometer so that the measured voltage on the Vref pad is 1V. You can do this all at the same time, but due to space constraints, it was easier to do it sequentially.

If you intend to update the firmware to use the TMC module, you can leave the wiring as-is. Otherwise, you will need to reverse the wirings so that the motor directions are reversed.

See Also