Hesine M-505 3D printer mods
I have a Hesine M-505 3D printer which is one of the Chinese Prusa i3 clones that came onto the market around 2015. The frame appears to be exactly the same as the Anet A8, however this is a distinct printer. The Anet A8 has developed a reputation for catching fire, and after going over most of the reasons for this, the Hesine printer seems to be much safer out of the box. There are several reasons the A8’s catch fire:
- Firstly: thermal runaway detection was disabled in their Marlin-based firmware
- Wire connectors at the heated bed not rated for current the bed draws - this induces failure of the connectors
- Poor cable management allows bed wires to break off and short out on metal parts
- Because of the above issues, the custom Anet driver board is prone to overheating and burns out, or also catching fire
The Hesine M-505 does not have these issues:
- Uses the standard and well proven Melzi driver board running Repetier-based firmware
- State of thermal runaway detection code is unknown as the M-505 firmware, but is likely intact. It's NOT the same code the A8 ships with (A8 uses Marlin code-base, M505 uses the Repetier code-base).
- Heated bed wires come from the factory soldered directly to the heated bed, prevents thermal failure of a connector
All this being said, the Hesine M-505 still has some deficiencies. Namely, the routing of the heated bed wiring is prone to breaking loose due to very poor cable management. There are other smaller issues, but that is the biggest. The acrylic frames on these printers also gets a bad rap, so reducing wobble, namely in the Z axis is also a priority.
Next up is firmware updates for the board. Initially neither the Marlin or Repetier code bases supported the display and 5-button controls on either of these printers. This meant that anyone wanting to update firmware or guarantee thermal runaway protection was in place lost the use of these components. However, 2 years on, this has been resolved in both Marlin and Repetier code bases. Sadly, despite both code bases being GPL V3, often the Chinese printer manufacturers are out of compliance by not releasing the full code which caused this control panel situation for some time. On the up-shot, it's China, and about anything can be had if you know who to ask, which is how I assume the display code finally was obtained and back-ported.
Since long print times are the name of the game, i decided I wanted to make my printer as safe as possible. I’ve assembled a number of upgrades to improve safety and also reliability. There are many alternatives to these, but I will vouch for this configuration.
- Anet_A8_Y_Chain_Remix - This is a critical upgrade. It reroutes bed wires to the side of the bed and prevents them from rubbing or breaking off.
- Anet_A8_Chain_Bed_Protector - Keeps the chain below the top surface of the bed preventing nozzle strikes, goes with “Anet_A8_Y_Chain_Remix"
- Anet_A8_Extruder_Fan_Modification_V2 - This is a huge ease-of-use improvement when changing filaments
- Anet_A8_Improved_X-belt_Tensioner - requires longer belts, which is fine if you order fiber reinforced belts as an upgrade
- Anet_A8_Power_Switch_minimal_material - I got tired of having to unplug the printer, the on/off switch also adds a fuse.
- Anet_A8_Volt_Meter_Enclosure_V1 - I decided this was also a bit of a safety feature, power consumption can be an indicator of a failure if things change over time.
- Anet_A8_Y_belt_Tensioner_ - Simplest Y-belt tensioner I could find, much easier method of tightening this belt.
- Anet_A8_-_Front_Frame_Brace_with_Mounting_Holes - Reduces flex from tightening the Y-belt
- Anet_A8_Mosfet_Holder // modified to fit the Hesine Melvi board
- Anet_A8_Brackets_to_Reduce_X-Axis_Motion - Not compatible with most other X-axis stabilizers, including Hulk frame brace
- _Hulk__Frame_Brace_for_the_Anet_A8 - There are several designs to choose from, this one used less material
- Melzi Board Case w/ Lids - Optional
Notes for printed parts
I found that the Anet_A8_Y_Chain_Remix had some minor sizing issues which could be inherit defects no one has bothered to fix or differences between the A8 and M-505. The block that attaches to the main printer frame has a notch for one of the thread-rods to run over top of it. This notch is off enough that some of the printed part has to be broken off to allow the rod to seat back into place on the frame. It's not a show stopper, but the problem exists. Next, the screw holes that allow the other end of the chain to attach to the bed are about one screw-hole diameter off. Again, not a show stopper, but it could be improved. Maby there is an improved version already out there and I've missed it.
Once again, the sizing is slightly off on this part for the Hesine. It's slightly wider than the front plate it mounts up against. Also, I had to drill out one of the bolt holes in order to allow the all-thread to be spaced closer together. I ended up snapping off the entire corner by accident, but it was not a show stopper. The stabilizer seems to be held in place just fine. However, a minor complication is using this part along with the Anet_A8_Y_Chain_Remix. The stabilizer sticks out about 1/8" wider on the side you drill out the bolt hole. I didn't realize this, so I found my Y-chain trying to catch on it towards the full-forwards travel of the build plate. Because I only used one screw to attach the chain to the bed platform, I was able to swing the chain a little further away from the printer to avoid catching. So far this has worked ok.
I wasn't thinking when I printed this, at the same time went to install it I was also installing a 30A power supply over the native 20A supply. The new power supply was slightly wider. It's not a show stopper, with some trimming of the internal components it can be made to fit. It's a little more flimsy than I'd care for, but oh well, it works.
The author claims that you need to buy a smaller shunt resistor than the one that comes with the LCD/meter that this part was designed around. I found this was not necessarily the case. The shunt that comes with it can be bent into an "L" to fit around the inside geometry and still works fine if you are careful. Next, you need to use a bench grinder to reduce the length of the main bolts that attach the load wires. You only need to take off like 1/8" or so off each bolt (from the threaded end). You can do this with the nut and wire-crimps already attached so no worries about screwing up the threads.
Some of these parts match up with printed parts above, so be mindful if you interchange some of these (like the power switch). The power supply and MOSFET upgrades I deemed fairly important. The thermal fuse is maby a little overkill, but better safe than sorry. After those, everything is a reliability or usability upgrade.
- 30A power supply Anet/Hesine ships with a 20A and can barely keep up, especially when doing ABS, etc. When my heated bed kicks on, I can hear the fan drop in rpm. This is probably both a supply and main board issue: $20.99
- MOSFET upgrade for heated bed $7.99 - This may not be as important for the M-505, but it should take a lot of strain off the mainboard. For the A8 it should be a required upgrade though as the mainboard can't handle the current the bed draws.
- 220mm x 220mm glass bed - $18.99 / I noticed fairly quickly that the bed was warping some at temperature, the glass bed stops this issue making even better quality prints, especially for the first few layers. If I were to do this over, I’d order one of the PEI/Polyetherimide sheets that are all the rage now.
- Fiberglass insulation for hot end - possibly for under side of bed too $7.49
- Replacement blower fan - my original has bearing/noise issues $6.99
- Replacement hot-end fan - my original has bearing/noise issues, this one is supposed to be very quiet $13.95
- Power switch and PC cord socket $6.99
- Relay board for RPi/Octoprint - this is the board the Octoprint dev recommends if you want the ability to power your printer on and off from within Octoprint: $8.99
- Fiber reinforced belts The original rubber belts stretch and allow slop, this should be enough for both X and Y $13.24
- Voltage + Current display 21.92
Smaller shunt resistor for the above display - to fit inside printed voltage/current display enclosure: $6.44
- Thermal cutoff fuse for bed 25A, 250C temp cutoff $4.99
- MicroSD reader extender $6.99
For the main power wiring it's wise to use crimp connectors on the wires. These are the most important:
- Power supply to main board (12V and ground)
- Heated bed wires where they attach to the main board using screw-terminals
- Hot-end wires where they attach to the main board using screw-terminals
The issue is that on high-current wires like for the heated bed, bad connections heat up and corrode over time which can also lead to a fire. Screw terminals on bare-wire usually loses about half the surface area for connection when compared to a crimp connector. I've seen ferrules recommended, but both the connectors and the crimping tools required are fairly uncommon and expensive. I use crimp spade-terminals and just grind the spade down to a size that will fit the screw terminal. It's cheap, the parts are very common, and it works just as well.
Hesine M-505 Firmware Updates
I have not yet done this, but I plan to soon. This is an online configuration tool for Repetier firmware which the M-505 uses on it's included Melzi board. The board mine came with was a Melzi V2.0 board, this was in late 2015. It allows you to point-n-click a new firmware binary which can be loaded via the usual Arduino update. I've read that Repetier now includes support for the LCD display and 5-button input used on this printer.
- https://www.repetier.com/firmware/v100/ - make sure to use the latest non-development version
There's quite a bit configuration required, I plan to add an update with the options needed once I get time to work on this.