A couple of weeks ago I was at Heat Sync labs during open hours and a couple of guys were having problems with the CooCheer printer. I hadn’t printed with it before but I decided to take a look.


The main issues at the time were

  1. The coocheer has no way to load/unload filament from the LCD
  2. Connecting to the printer from my laptop would crash my laptop
  3. The wire connecting the control board to the bed’s heater pad was disconnected / melted.

Obviously #3 is a big problem, and had to be solved first. I’ve seen this kind of melting before on pluggable terminal blocks. Usually the problem is that the stranded wire is only contacting on a couple of strands, which can lead to the strands heating up and slowly melting the connector. Oxidation on the strands can also cause a similar problem. Sometimes however, the connector is just not rated correctly so too much power goes through and melts the connector. .

Just adding a ferrule to the wires and putting on a new connector would likely fix this problem, but I had am external MOSFET board meant for powering a bed heater, so I decided to get that hooked up.


-12 gauge silicon wire
Note - 14 gauge would probable have been a better pick as it met the power requirements and wold work better with the terminals I had.

-8-10 stud size Insulated Spade Terminals

-BIQU btmos v2
Note - there are newer models out there, this is just the one I had one hand.

-Misc ferrules and an extra pluggable terminal block found at Heat Sync



Here’s a simplified block diagram of the wiring. The 12v supply had empty terminals so I decided to wire directly from there instead of trying to piggyback of the 12v input on the main boards to help balance the power lines.

Ideally I would gotten the 5v control signal directly from the board, or reprogrammed an empty pin and controlled the BTMOS from that. Getting the control signal before the board’s built in MOSFET would involve an ugly solder job, and extra pins on the ANET board are in short supply. So while this might change in the future, I’ve decided to control the BTMOS directly from the FET output on the control board. There will be hardly any power draw, so the port melting again is not a concern.

Luckily the BTMOS accepts 12v in, so wiring directly to the FET output was not a problem. The BTMOS does not have markings for polarity on the input because it doesn’t matter, as there’s board compensates if the polarity is ‘wrong’.

The Coocher’s HBP has six wires coming off of it - 2 are form thermistor and the other 4 are for power. I haven’t yet checked if this is because it has two separate circuits or if the extra wires are just for balancing the power of one circuit on two sets of wire. Either way, I connected both positives together onto the positive output of the BTMOS and both negatives to the negative output on the BTMOS.

Following Jasper’s advice (and my own experience) I decided to put connectors on all the stranded-wire connections on the printer.


    2 x 24v lines (board side) 2 x Hotend lines(controller side)

Spade/fork terminals

  • 3 x AC input lines
  • 2 x 24v lines (power supply side)
  • 2 x Build Platform Heater (controller side)

Fixing What I Broke


During my various fixes I managed to crack one of the acrylic pieces holding the Z-Motor. Luckily there was some scrap acrylic in the lab and I cut a replacement part on the laser CNC. I used a part from this project and converted the STL to a DXF so I could cut it on the laser. Hopefully no one minds the new clear look.


After setting everything else I set the starting height and the bed level by eye. It’s not the best way to do it, but it’s good enough for a first print. I’d like to take another pass at leveling the bed and setting the starting height, possibly using some calibration prints. I’m a little spoiled with my M3-ID’s touch probe and built in calibration prints, but I might be able to adapt something for the Coocheer.



I had to leave before the first print was done, but the first layer was…ok. It was at least good enough that the first several layers looked good. I’ll post an update when I retrieve the first print.

To do

Firmware Update

I need to do some research on what version of firmware the board might have (an “M115” just responds “ANET anet3d.com”). But I’d like to load some new firmware onto the board, if only to add more options to the LCD (like load/unload filament)

control board

I originally intended to replace the electronics on the printer. I have a RAMBo I can donate to the project, or a board with some nice TMC drivers would be great. However all of these options mean some significant changes to the machine. None are directly compatible with the A8’s LCD (at least without re-wiring ) and some boards have some drastically different configuration methods. So for now I’m going to leave the stock board on there.


I love Octoprint. Organizing, starting and monitoring prints is so much easier, and the plugin system makes it really easy to add notifications/ triggers and other cool features. I’m going to get a Pi 2 or 3 and then get Octoprint running in the near future.


This machine needs some documentation for Heat Sync users, so after I hunt down any existing docs, I’ll get to work on that.

I really prefer to set starting height with a firmware offset as opposed to a physical screw offset like in the Coocheer. The screw is vulnerable to vibration / changing the starting height. This will need several changes though (physical, software, firmware) or just a new Z-home indicator like a probe.

I really like the Nextion LCD so that octoprint can be controlled without needing to login from a computer.

Overall the machine could probably use a tune-up in terms of rods and belts, but that’s for another day.

Misc - Computer Shutdown

Earlier I mentioned that my computer would reboot after plugging into the A8’s board over USB. It turns out I had an old driver on my Mac for the CH340. I updated the driver and now I can communicate with the printer.