Wanhao Maker Select v2.1 Firmware Upgrade

Wanhao Maker Select v2.1 Firmware Upgrade

It has been a while since my last post, I have not been fiddling with “blinking lights” for a little while now. I got a dog and life just happens. But I have felt the itch lately and decided to jump into some shit tonight – upgrading the firmware on my Wanhao Maker Select v2.1! There are no actual guides that I have found to be able to follow to flash the firmware (for this particular make/model). All of the information is out there but it seems to be mostly on Reddit and it is scattered across a few posts. Most of what I have found links to two guides; a YouTube video of how to flash the bootloader to the Melzi board, and an Instructables on how to do the same thing. That is basically all you really need but it came off as confusing to me so I am sure it will to someone else as well.

Basically what you need to do is a 2-step process. 1) Flash a bootloader to the Melzi board, and then 2) Flash the actual firmware to the Melzi board. You WILL NEED an Arduino of some sorts, any Arduino should do. I used a Duemilanove and it worked, and that thing is old. You will also need six (6) jumper wires (male to female most likely). You need to connect the wires from the Melzi board to the Arduino so you will also need to take the control box apart. You only need access to the Melzi board to flash the bootloader. Once the bootloader is flashed you can pack it all back up. The firmware is flashed via the Melzi’s USB port. So lets get to it!

Your Arduino IDE should be up to date and you will need the Sanguino board installed as well as the U8glib library (There is a different/older version linked to in the YouTube video, 1.14).

  1. Take the control box apart, I left the Melzi board in the can, you don’t need to fully remove it, less you want to. You just need access to the pins and the LCD.
  2. Put the auto-reset jumper on if you have it removed.
  3. Change the board power selector from VREG (AC) to USB, this lets us power the Melzi from the Arduino.
  4. Unplug the LCD (it will mess up the bootloader flashing process I have read, no harm in removing it temporarily. I also had issues until I unplugged the heatbed MOSFET also).
  5. Connect the wires from the Arduino to the Melzi.
  6. Connect the Arduino to the PC/Mac.
  7. Flash the Arduino to be used as an ISP.Open the example: ArduinoISP
    I had to add a line to get the flashing process to work, this may be due to the old Duemilanove I am using.
    I had to add #define USE_OLD_STYLE_WIRINGBoard: Your Arduino type Port: Your correct Arduino port Then click upload
  8. Now flash the bootloader (after you change the board settings).Board: Sanguino Port: Your same Arduino port Programmer: Arduino as ISP Then click Tools > Burn Bootloader
  9. Remove the Arduino from the PC/Mac, and remove the wiring from the Arduino to the Melzi. The Arduino is no longer needed.
  10. Place the jumper back on VREG not USB.
  11. Plug the LCD back in.
  12. Put all your crap back together (or leave it apart to make sure it all works!).
  13. Plug AC power back in.
  14. Plug the Melzi into the PC/Mac (change the board settings again).Board: Sanguino Port: the port of the Melzi board Programmer: AVRISP mkII Flash/upload the new firmware
  15. Print something!

Thats the whole process. The part everyone leaves out is how to flash the firmware, even though it is dead simple as plugging in a USB cord it is never mentioned. Something also never mentioned is how to configure Marlin to work on the Maker Select. The default Marlin is too large to fit, some things must be removed. I have not found a guide on how to configure it and or what to configure. But I did find a pre-set Marlin configured already for the Maker Select. This is what I am using. You have a few choices as far as I know; Marlin, Repetier and TH3Ds Marlin.

Update: Something I feel I didn’t make clear was flashing/updating the firmware. Step 14 above is the flashing part. Flashing the firmware the first time (after your bootloader is installed) is the same as flashing the firmware with future updates to your printer. With the printer in normal running condition, turn on the AC power. Connect your printer with the Arduino IDE open to your printer. Maker sure the board selected is Sanguino and the port is the port of the Melzi board that appears with the programmer: AVRISP mkII. Then with Marlin.ino open (or whatever firmware you’re using) select upload (or verify first to make sure it will compile). The firmware should upload and you should be good.

I chose the Marlin firmware preconfigured for the Maker Select v2. But I ran into an issue with the LCD screen being garbled. I also believe this is just a general Marlin firmware issue with Maker Selects and not just this specific version. But no fear! I found the fix online!

You need to edit a file in Marlin.ino, specifically ultralcd_st7920_u8glib_rrd.h around line 86 add the 2 NOP, this will fix the garbled LCD:
(You only need to do this if you LCD screen is garbled after flashing Marlin!)

This is the Reddit that I kept coming across: https://www.reddit.com/r/3Dprinting/comments/8o3wg8/installing_marlin_on_maker_select_v2/
This is the video on flashing the bootloader that seems to be popular: https://www.youtube.com/watch?v=ejpSniiJejI
This is the Instructable that shows the same thing as the YouTube video: http://www.instructables.com/id/Using-an-Arduino-to-Flash-the-Melzi-Board-Wanhao-I/
This is where I found the LCD fix: https://www.reddit.com/r/3Dprinting/comments/9i0n6z/maker_select_v2_lcd_issues/

Link to Sanguino board
Link to the U8glib library
Link to the preconfigured Marlin 1.1.x for the Maker Select v2.1

Some useful Thomas Sanladerer videos I found after I did my upgrade 🙁
Configuring thermal runaway
How to setup Marlin firmware

This was how I did it on my printer, I take no responsibility for anything that may happen to yours. Try this at your own risk.

Wanhao/Monoprice Y-carriage and heatbed upgrade

Wanhao/Monoprice Y-carriage and heatbed upgrade

So I made the jump and upgraded a bunch of shit. I did it for smoother bottom first layer prints (because of the glass) and hopefully no more curling issues. I upgraded to the “Anycubic Ultrabase 3D Printer Platform with Aluminum 12V/24V Dual Power MK3 Heatbed” and while I was at it I upgraded to the Gulfcoast Robotics Y-axis carriage too, as I have read it is wise to do both at the same time and the stock bed plate is usually warped from posts I come across constantly. In fact I went a step further and bought new 40mm and 80mm Noctua fans for the printer too! Happy upgrade day!

I am going to use the 40mm to replace the stock 40mm extruder cooling fan and the 80mm to replace the control box fan(s). I printed a new backplate for the printer. I dug through Thingiverse for a bit and chose one that looked like it had a following and worked well. After printing it I realized I should have maybe dug a little more, it was not easy to install. In fact I didn’t install all of the screws back on because I cannot get an allen wrench in there to do it. But it does the job, and man are those Noctua fans fucking quiet!! If it is sitting idle I cannot tell it is on, it is in my living room. I hear if you upgrade to TMC2130 drivers (with a RAMPS board) then it is this quiet while printing too. Damn!.

I decided to write this up real quick because when I searched for relative content I found shit on it. Searches for Anycubic turns up their printers, so searching for the bed/covering/plate was a pain in the ass. All I found was this. I ended up figuring it out as it’s not that hard but if i was able to read something on it first I probably would have saved my ass about 3-4 hours of head scratching.

View Post

My 3d Printer Toughts: Revisited

My 3d Printer Toughts: Revisited

Updated: October 5th, 2017

I have a 3D printer, a Monoprice Maker Select v2.1. I have had this thing for a few months now and feel like I have gotten a pretty good hang of it. I can get some pretty nice looking prints out of this thing. So here are my rambling thoughts on 3D printers so far:

Get something entry level your first time around. Don’t go spending thousands of dollars on it, you won’t know what you are doing. You wont know the basics. I nabbed a Monoprice (Wanhao/Cocoon Create clone) Maker Select v2.1. It’s a great entry level printer and for a great price. Once you’ve got it all setup and tweaked it will produce great prints. But it did print pretty decent right out of the box. If I had to choose again I would have gotten the Creality CR-10, but purely for its build size. I have found that I would very much like to produce larger objects. Bigger than the build plate of the Maker Select can handle. The MS is 8″ x 8″ x 7″. The CR-10 is 12″ x 12″ x 15″!! But I have no regrets on getting the Maker Select.

Being that it is an entry level printer and a cheap one from China, it needs some help in the safety “I won’t burn your house down” department. Remember those stupid “hover” boards and the fires? Yeah. So buy a $10 MOSFET to offload the heatbed amperage from the printer board to the more powerful MOSFET. The traces on the printer board cannot handle the amps the bed requires and will eventually burn out. Some people have tried just swapping the plugs for a higher rated plug but thats just bypassing the issue, not fixing it. Don’t do the XT plug mod, it won’t solve the problem.

  • Wire up the and install the MOSFET immediately, there are tons of tutorials and YouTube videos for it, its pretty simple. Order the MOSFET and printer at the same time.
  • Level that bed, then level that bed. Then level the bed. Then level the bed. Seriously. This is THE most important step out of everything minus the MOSFET. If you are not level you WILL have issues of some kind.

Level the bed again! This WILL be the hardest thing you have to do. There are many methods to do this, find one that works for you. For me I use a single piece of paper. With a cold bed and a cold nozzle I will slide the paper between the nozzle and bed and loosen the bed screws until its a snug fit but still moves. Then when I heat up and print (I use a 0.2mm first layer) everything is rockin.

  • Make sure you’ve squared your printer. It did NOT come that way. https://www.youtube.com/watch?v=XaroNfMVE4M
  • Make sure all the scews are tight
  • Print some Z-axis levelers, and make sure they are level to the bed.
  • I would order at least (2) 5150 radial fans to replace the 40mm stock fans. They suck and are loud, prone to failure. Or upgrade to noctua ($$) fans as people suggest.
  • A lot of people replace the electronics box fan with a 120mm for air flow and noise.
  • Print some Z braces. AzzA’s Z-brace is pretty nice, thats what I went with. But now there are rear Z-brace kits. I’d rock one of those if I had to do it again. Check out “Z-brace yourself” on Thingiverse.
  • Get a glass bed. This is next on my list of upgrades as well as… I want those glass smooth first layer surfaces.
  • Ditch the thumbwheels on the build plate and print some new ones, use M3 nylon nuts. The stock ones vibrate lose over time and don’t hold.
  • Print a razor blade part scraper (and this), the default putty knife can damage the buildtak surface.
  • Print the cable chain relocation bracket and cable shroud for the extruder head.
  • Upgrade and install the MicroSwiss all metal hotend. No more PTFE tubes and I hear it prints so much better. This is next on my list of things to-do.
  • Get a few rolls of filament in different colors. Stock up. Its nice to have that perfect color needed for something whenever it pops up. Or when you feel like a certain color. Its nice. I use Inland and Hatchbox.
  • Get some good superglue for glueing prints together. I use Gorilla Glue Super Glue 10 second bond. Good stuff.
  • Get a Raspberry Pi 3 and run OctoPrint (OctoPi) on it for ease of use. No fucking with an SD card, and you get to monitor and control the printer from a browser or cellphone/tablet (TouchUI).
  • Get a camera for the RPi to take timelapses or see progress. I use a raspberry pi camera and this mount.
  • Use an app. I use Printoid (for Android) to monitor and control the printer from my phone and tablet. It is much better and way more responsive than using the TouchUI.
  • Have a ton of things lined up that you want to print, and they better not be fucking fidget spinners! You are gonna have the urge to keep that machine printing 24/7.
  • Build an enclosure for it. It prints so much better when enclosed. No air drafts from doors or vents to fudge up your print. Having it enclosed also greatly reduces the amount of dust that will build up on the printer.
  • Have some shit on hand for maintenance. Oil and lubes, heh. Got to lube them rods! I use oil on the rods and lithium grease on the screw rods (z axis).
  • Print belt tensioners. Ditch the springs and tension the belts. They are probably too loose already, think guitar string. Some people just use zip ties like stock, I like the tensioners.
  • Lower your jerk and acceleration settings, as well as your speed. Jerk and acceleration settings you can play with. Most people seem to cut them in half of the default. Setting accel to 800 and jerk to 8 or lower. Speed, I did drop to 40mm/s. I print slow. I find anything over 50mm/s causes visible problems in your prints. My first layer speed I always run 8-15mm/s. Depending on how intricate the design is. This speed gets me screw hole circles perfectly. Over 15mm/s and the filament doesn’t stick for small circles and such, maybe better luck with glass?
  • Print a bed cable relief.
  • Print some brackets to hold the printer in one spot.
  • Print a filament runout sensor.
  • I print PLA with a heated bed. Nozzle at 200-215C and the bed at 60-70C. I print directly on the Buildtak (black mat surface) and have zero adhesion issues (most of the time). I don’t use glue or hairspray or anything of the sort. Too fucking messy, and I find it unneeded. YMMV. But I do have issues here and there with edges curling on large prints.
  • Get some lighting for your printer. You are going to want some LED lights in your enclosure, or at least on the printer pointing at your print. Because I guarantee you are going to sit there and watch it print. Plus you need the light for the camera (either just to watch or for time lapses).
  • Print test cubes and heat temperature towers for every new roll of filament that you get. Every roll is different. I guess you should also measure the filament with some calipers to make sure its 1.75mm (adjust in your slicer if not).
  • Get yourself some good fucking calipers!! You WILL need these. To check measurements on test cubes and such to make sure your printer is calibrated correctly. And to help you out when designing and making your own prints (the fun stuff!!).
  • Hot glue doesn’t stick well to printed parts, it does and doesn’t.

I’m sure there is more but thats what I have noticed so far.