Anycubic Mega S
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
Travel speed at 100 mm/s seemed to help with stringing.
White PLA (Mech Solutions)
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 |
Print Issues and Observations
Dragon head printed with a raft lifted part way through the print and detached from the bed. Raft was 5mm. Bed was 70C. Tried again with the above profile but with the brim speed set to 15mm/s (it was 40mm/s, possibly causing weak brims?). This sort of worked, but the horns still shifted. This might have been rectified if additional supports were added to join all the parts together since each horn was separate until they're joined a couple millimeters higher. The shifting resulted in some horns being misaligned. The brim appeared to have adhered strongly, but the part still shifted somehow.
Printing dragon segments without support or raft is OK but the initial lip lifts up causing poor print quality on what is to be the underside of the dragon. Printing with custom support holding up the underside of the dragon segment seemed to help; doesn't seem to be such an issue with the larger segments.
Yellow PLA (Mech Solutions)
I had to crank up the flow rate to 210% in order to not get under extrusion. This was after checking the filament size is correct and that the extrusion is calibrated. Using a normal 100% flow rate lead to extreme under extrusion which was not observed with the white PLA. It doesn't appear to be an issue with a plugged nozzle, a skipping extruder, or too low of a temperature. I raised the temperature to 210C with the same result.
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_SENSORin 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 ifFILAMENT_RUNOUT_PINis 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
- Y Belt Tensioner - https://www.thingiverse.com/thing:2789837
- Motor driver duct - https://www.thingiverse.com/thing:3796022
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
- https://www.thingiverse.com/thing:2901190 - Goes over mods for the Anycubic i3 Mega. Some of the slicer settings may be of interest.