AnyCubic i3 Mega Upgrades

After setting up my printer and doing some test prints and other things, I immediately set forth printing out upgrades for the printer. The intention here is to resolve some deficiencies in the design.

Filament Guide

Filament Guide

I printed a filament guide from Thingiverse. This needed to be reprinted slightly oversize and trimmed to fit, but it clips around the right-hand side (from the front) allowing filament to go through it and be guided in a straighter line into the filament sensor. A pretty easy print.

Filament Sensor Guide

Next, the filament sensor default setup is pretty awful. The magnetic ball disconnects all the time, leaving the filament sensor bouncing up and down a lot. So I printed a replacement filament sensor guide from Thingiverse.

Filament Sensor Guide

The design as given has no tolerances built in, so it may be difficult to fit. In particular, I had to trim the flat below the screw hole and widen the hole itself so it would fit. In addition, the far end makes contact with the adjustment screw for the pinch grip on the stepper motor, so I had to cut that off with a knife to make clearance. If I knew more what I was doing with Fusion 360 I’d redesign it to have more clearance, but there you go.

As it is now, it works great – it retains the filament sensor and allows it enough movement to not cause any problems.

Y-Axis Tensioner

Next is a Y-axis tensioner. I noticed that there was some effects caused by a slightly wobbly belt, so I printed a tensioner mechanism which can adjust the belt tension from Thingiverse.

Y-Axis Tensioner

Now there’s some notes about this thing. First of all, you MUST have a lock nut on the adjustment screw, otherwise vibration will work it loose and it’ll ruin your print. I found out this the hard way. Second, don’t tension up the belt too tight, it needs to be tight enough but not enough to bend the stepper pulley. I did it enough that if I push the belt together with my fingers near the middle, I can still get them to touch without undue force.

I had to do a reasonable amount of trimming and fitting to get it to all fit together, sizing holes with a drill bit held in the hand and trimming faces with a craft knife. The assembly order is quite important, so carefully examine how it all works before you try and put it together. Don’t overtighten anything, getting too brutal will result in the PLA failing.

I’ll likely reprint this in ABS when I get that dialed in.

Squash Ball Feet

Everything from here required turning the printer on its side and removing the bottom plate. Ghosting is a printing phenomenon where “echoes” of features on a print appear later on the print. It is worsened by higher print speed. Here’s an example from Calibration Cube;

Ghosting example

What’s happening here is that vibration from the print head changing direction travels through the surface the printer is installed on, then reflects and comes back. When the echo arrives it leaves the ghost you see. So it’s interesting because tightly mating the printer to the surface it’s on (for example a table) may actually make the ghosting worse, and a larger table provides more time for the echo to travel before it comes back. The solution here is to isolate the printer from the surface that it’s on. Enter these feet, printed from Thingiverse, with squash balls inserted into them.

Squash Ball Feet

The feet were easy to print, and work well. They do make the printer quite a lot higher though (~51cm total from base to top), but they dramatically reduce ghosting effects.

PSU Replacement Fan Cover

The PSU fan on this unit is horribly loud. I put this down to there being hardly any clearance between the thin aluminium shell of the PSU and the metal bottom plate, so it vibrates awfully. So, I printed a replacement PSU fan cover from Thingiverse (the 60mm version) and installed the recommended Noctua FLX fan.

Replacement PSU Cover

I’m not terribly impressed with the print, it fits, but it’s off by a little. It works OK though. I’m also not enthralled with using PLA for something that may be exposed to heat, but I wanted to be sure of the amount of cooling I had before I did a big print in ABS – one of my first projects with the fire retardant ABS I have on order is to print a replacement cover for this in that. But it dramatically cuts down noise while improving airflow.

Controller and Stepper Drivers

I haven’t replaced these, but here’s a view of the Trigorilla control board with the default stepper drivers;

Trigorilla Board with default stepper drivers

I have a set of replacement stepper drivers on order, which should improve print quality and resolution markedly. I’ll install those when I have replacement internal components printed in ABS.

Stepper Driver Cooling Duct

The default cooling setup for the stepper drivers is woeful. It features a fan with about 1mm of clearance to a solid steel section of the bottom plate, meaning there is virtually no airflow over the stepper drivers. Considering these generate a lot of heat, this design is pretty poor. So, we simply print a stepper driver cooling duct from Thingiverse.

Stepper Driver Cooling Duct

This uses a 40mm Noctua FLX fan, and due to the design you can only actually fit it while the power supply is out. But it does fit, and provides a directed flow of air straight over the stepper drivers and out of the case. I also intend to reprint this in fire retardant ABS.

Final Notes

It’s pretty ingenious that you can print upgrades and fixes for your own printer. However, note that your ability to print upgrades depends on the upgrades you have already printed working! So I would strongly suggest that when you find a working upgrade that is critical to the functioning of the printer (eg, tensioners) that you print two of them. I also ordered spare drive belt (GT2x6 pulley belt) and some spare pulleys, since I expect a belt will go at some stage, and I can’t reprint that.

Next up I’m printing some cable chains to help keep things neater. I also printed a side mount for an OctoPi which houses a camera, but I don’t know if I’ll use that in the end, it depends how I do my final setup.

I also made a Wemos-powered status monitor that can sit on my desk, but that warrants its own post.

Lastly, I’m looking into making an enclosure using some IKEA Lack tables and printed fittings for them, but that will also warrant its own post.

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.