AnyCubic i3 Mega Marlin Firmware

So I’ve been doing more mucking about with my printer, and I elected to install a custom firmware onto the unit. This firmware is a port of the Marlin 1.1.9 firmware to be compatible with the AnyCubic i3 Mega v3.

Oh, it turns out there are four versions of the AnyCubic i3 Mega kicking around. You can find a breakdown of them here. Mine is a v3 – identifiable because it has the Ultrabase, v1.1 firmware, and the SD card board is separate from the mainboard (visible through the slots in the bottom plate). The difference is very important when it comes to firmware updating.

The custom firmware has a number of benefits – most notably for me is mesh bed levelling. My bed is pretty flat, but there is a slight concavity in the center (of the order of less than 0.1mm, but it affects adhesion in the very center). So before I went too crazy with calibrating the printer, I wanted to have a better firmware onboard.

OctoPrint and OctoPi

First of all, firmware updating requires a terminal. Since I have many Raspberry Pis kicking around, the easiest way to get what I want is to install OctoPrint. This comes in a distribution called OctoPi, and has a lot of awesome features including, critically, a firmware updater plugin.

Installing OctoPi was a breeze. Then after that, I installed the Firmware Updater, and followed the instructions to set it up. Specifically, the programmer settings are;

  • AVR MCU: Atmega2560
  • Programmer Type: wiring

After applying the firmware update and restarting the printer, the About on the TFT does not show any change. This is expected. You can, however, see the firmware version information in OctoPi on the Terminal display when the printer starts up.

Once that is installed, it is critical that you reset the printer to factory defaults with;

M502 ; Load default values
M500 ; Save to EEPROM

Once that is done, you can then proceed with mesh bed levelling and so-on.

I also picked up a Microsoft LifeCam H5D-00016, which can be assembled into a housing for OctoPi with camera here. I’ll be putting that together as a project pretty soon.

3D Printing – First Steps

So I bought myself a 3d printer. I decided on getting an AnyCubic i3 Mega printer, which was pretty cheap considering. Reviews were fairly decent.

Anyway, the box arrived, and it was packed pretty well, and proved to be quite painless to do initial setup;

The base unit (holding electronics), and the manuals and tools
The spool of PLA the unit comes with, and the gantry that holds the extruder
The tools and spare parts the printer came with

The printer came with all the tools required to assemble it, as well as various quality of life tools such as a scraper, tweezers, cutters, SD card and USB-to-SD adapter, USB cables, and even some spare parts such as a spare hot end and a spare limiter microswitch.

Assembly was painless, though the plugs were pretty hard to press in. After that, I fed in the PLA, and ran the test print (which came on the SD card);

The test print worked out fine. A small amount of stringing, but it ‘just worked’, no calibration was done here.

I also noticed a few defects which can be fixed. First up, the fans in this unit are REALLY LOUD. The reason for this is that the fans (on the PSU and on the control board) are much too close to the bottom plate, and the bottom plate obstructs the control board fan.

The fix for this is to print a new PSU cover, and replace the control board cooler with a ducted fan. I’ll print these shortly.

I did print an extruder knob, but I had to reprint it at 103% scale to get it to fit the NEMA17 stepper. This is likely because the printer is just at factory calibration right now.

Next up for me is some calibration stuff, rotating the bottom plate to clear the obstruction on the cooling fan, and getting the fans / printing replacement covers and cooling ducts to make it work better.