Recently I bough a faulty Wanhao Duplicator 4S to increase the capacity of my 3D printing requirements as I already own one and know the machine inside out. eBay seller’s description wrote that the 3D printer stalled in the middle of a print. I did some digging across the internet before I purchased the machine and was suspecting that some wires were not shielded correctly which resulted in electromagnetic interference. It cost me £300 and that’s half of the retail price so even if I couldn’t be able to fix it, I would have plenty of spare parts for my current 3D printer.
The machine booted up and was already preloaded with the latest version of Sailfish firmware. After the initial inspection, the troublesome wires were already properly shielded so the issue had to be something else.
First thing I wanted do is to update the Sailfish firmware on the machine and reset all settings as I had no clue what previously had been done to this 3D printer. However I could not connect to the printer with ReplicatorG via USB. Thinking that this could have been an issue with problematic firmware upload by previous owner I took out the MightyBoard mother board out of the machine and hooked it up to Atmel-ICE programmer to upload firmware manually.
The upload was successful, but every time the machine booted up, the startup melody would become weird, change pitch and tone as if it was slowed down. Even after uploading the new firmware to the board I was unable to communicate with it via USB cable connected to the PC: the serial monitor would display garbage as soon as the connection was established on the USB to serial COM port.
This looked like mother board is at fault and a replacement costs around £90, but I don’t give up that easily! That’s when had an idea: could it be the crystal oscillator at fault? As it’s the main component that provides clock to the ATMega1280 the symptoms do indeed point to the part: serial communication speeds out of sync and startup melody sounding weird. I quickly found a spare 16MHz crystal lying around in the component box and replaced it with the suspect. Didn’t solder it flat to the board in case I had to remove it if it wasn’t faulty.
The first time the motherboard booted and instantly played the startup melody at correct speed and pitch! Now I could also communicate with the machine via USB without any issues. I soldered the crystal flat on the motherboard, reassembled the 3D printer, calibrated the bed and now it’s printing BlinkStick Strip enclosures just as new.
Nothing compares to that feeling when you get to fix a broken thing :-)
I too have a 4s that has just died. I wondered if your experience might help. With the board disconnected and only powered up the 5v 24v and 3.3v green leds light as does FET1 and the buzzer buzzes. Thats it. When it was in and connected the led lit up blank and the buzzer sounded. Nothing else!
My 4s has done me proud over the last couple of years and I definitely need to fix it!
Any tips?
Can you connect it via USB and communicate with the board?
I connected via usb no power supply to board and get usb device unrecognised. should it be powered up or does it get whats needed from the usb?
Yes it should be powered up only by USB. I would probably start by dumping the firmware on the chip next to USB socket. That should be ATMEGA8U2-MU and there are pins next to it to connect a programmer. There is a crystal next to it too and considering issues with the crystal I had it may be a good idea to replace it if you can’t communicate with the 8U2 with external programmer. Getting USB device to be recognized should be the very first thing I would look into.
A little bit late to the party but I’ll try any way.
I’m trying to fix a bricked wanhao d4s and wonder if you could elaborate or even make a guide as to how you used the atmel ICE and tell me what you mean with “dumping the firmware on the chip next to USB socket.”
My biggest problem right now is that I disconnected the board from the printer and when trying to power it through USB it won’t power up.
Cheers.
It’s never too late to the party :-) Just a couple of days back I fixed my other Duplicator’s motherboard by replacing the oscillator. I think it’s a common issue.
There are 2 ICSP 6 pin connectors: one for the main chip and the other one for the one that acts as USB to serial converter. To power up your board you need to connect USB an you need to plug in the external power supply from the 3D printer.
I have a d4 with a croupted display. Works fine on usb. Looking around you fellas seem like you know what going on. Do you think it could be that same crystal causing this?
Hi Arvydas,
thanks for your article. Actually I am not having any issues with my D4S but I happened to read your article searching for “D4S firmware” as you wrote:
“The machine booted up and was already preloaded with the latest version of Sailfish firmware.”
I bought my D4S late 2016 and since then I am wondering
– whether it has the latest firmware installed (it does run on a Sailfish firmware)
– what firmware versions are available out there?
– where I can find the “right” firmware for the printer? Is it “vanilla” Sailfish or some Wanhao-specific flavour?
– if the source code of the D4S firmware is available so I can check and understand if it has a thermal runaway protection for example
So, my D4S is running fine and actually there is no need to update anything. But I would like to understand what software it is running.
I have also been thinking about building a real bed levelling system for it (three small-sized linear actuators below the printbed) and I was wondering if the firmware could easily be adapted to support it.
So, where do you get the firmware from when you are going to update it? If it is vanilla Sailfish, what machine-specific configuration items (compile-time and eeprom) are there?
Thanks in advance
I see you updated the Wanhao duplicator 4s motherboard to sailfish with a avr programmer but how?
Which port do I you use in the board,1280 icsp or 8u2 icsp?
Where did you get the compatible sailfish firmware from and what program do I use?
Any help would be amazing!
A bit late, but see https://youtu.be/HNJylb6EQsE for the technical procedure.
The answers to the other questions I don’t know.
I have a 4X that’s running the original firmware and I want to upgrade it. I seem to remember that the earlier versions of the mainboard could cause problems when upgrading. That’s for the 4/4X not the later models like 4S. You could identify the earlier board by looking at the colour of the USB port. It think it
had something to do with the presence of auto reset of the USB (yes or no).