Go to homepage
21 / 33
Jun 2016

So I have a Qidi Tech 3D Printer and I wanted to put Sailfish on it.

I had seen this thread ( Talk Manufacturing | Hubs 54 ) and I followed Adam’s advice on installing the firmware - following this video:

I made a mistake, though. When I went to install the 7.6 firmware in ReplicatorG 0040, I accidentally installed Sailfish 7.6 (I had already updated the preferences in the ReplicatorG 40r33 Sailfish).

At first, the printer did like in the video, and just froze up. But when I went to install Sailfish proper, it wouldn’t work. I tried Sailfish 7.1, 7.6, and 7.7.

I then at one point tried going back and installing the normal 7.6 firmware in ReplicatorG 0040, that didn’t work.

Eventually I had restarted the printer by turning it off and on, and now the LCD screen is completely blank.

Makerbot Desktop does see the printer, and I can access all the EEProm’s even. When I go try to update the firmware in Desktop it shows the printer having firmware 7.6. I tried firmwares 7.2, 7.3, and 7.5. None of them worked.

I did the same in both versions of ReplicatorG. Again, no result.

ReplicatorG will say the printer’s firmware is Unknown v0.0, Unknown v7.6, or nullvar.

I have tried pressing the reset button before, after, and at the same time I press the upload firmware button.

I can’t tell if I just need to keep at trying to upload a specific firmware, or if the printer is bricked and I need one of those AVR programmer things.

23 days later

Most likely you bricked the machine and will need a new motherboard. Qidi Tech is very helpful with customer service and their boards run about $80. The machine already comes with Sailfish Firmware installed and there is no need to upgrade. If you are desiring a better print quality, change your slicer to something like Simplify3D.

I apologize that I have left this thread dead despite the progress I have made, I had assumed honestly that I wouldn’t get a reply.

I have already fixed the printer, the motherboard was not bricked. I bought a sparkfun AVR Pocket Programmer and re-flashed the ATMEGA1280 over ICSP using AVRDUDE. It worked like a charm and the firmware took immediately.

I should also note that I have one of the earlier versions of the QIDI printer that is NOT loaded with sailfish but rather loaded with the default CREATOR 1.0 firmware that the flashforges use.

I also am not going to be using simplify3D because of it’s exorbitant price, though I have already changed the slicer I am using. I now use Slic3r, which works like a charm. I’m now getting some of the best prints I ever had from the printer. Honestly, the only problem I seem to have now is with steep unsupported overhangs. For all the hassle the printer is (and how the communities online seem to often have many solutions to the same problems), I think that’s pretty good.

Thanks for coming back and updating. I had contacted Qidi Tech and they mentioned that I had Sailfish already installed. However, there may have been some miscommunication. I bought my printer from Amazon and I notice when I boot up my Qidi Tech 1 that the screen says Creator 1.0. Is that simply an error or is it really Creator 1.0? I may go your route or buy a new Mobo if that is the case.

I had heard in the past that the older version carry the creator firmware, and I assume that is what you have. I have noticed while using sailfish there are several interface options that are quite different. So if your main menu has more than three options, and the options menu has no options regarding the EEPROM, then I think your printer has the creator firmware.

I don’t see why you’d need a new motherboard, buying an AVR programmer is much cheaper (at least, the sparkfun programmer is only $15).

BUT, before even that, I do think I screwed up the process of uploading the firmware by trying sailfish 7.6 in regular replicatorG first (by mistake). I do have a link in the original post to the thread where I first got my instructions to upload sailfish. I am not sure if following those instructions perfectly will work, though.

If you want to upgrade to sailfish, I’d recommend first having an AVR programmer handy. Just so if the firmware won’t take, you can flash the chip manually. Go ahead and try the steps in the tread (I don’t think you’d brick the printer, I didn’t, even with how poorly I think my attempt went), but be prepared if it doesn’t work. If the firmware doesn’t take, just open up the bottom of the printer and flash it manually.

Note: I think the early versions of the QIDI have some unusual settings for the fuses in the ATMEGA1280, so I have heard you cannot flash beyond Sailfish 7.2. That’s what I have on the printer right now, though I didn’t try anything more recent.

And as a testament to sailfish: I think since I started using sailfish the printer has just been functioning so much better. One thing is that the acceleration settings seem to have made the printer move so much more smoothly.

So I spoke with the representative from QidiTech. They only have ever had Sailfish firmware in their machines. The Creator 1.0 on the screen is just the model name. Here is the response from the rep:

Friend ,

no , the creator 1.0 it is means the model of the printer , it is 7.2 version motherboard you use now . because our company only have these two version . pls trust me ! and you no need to upgrade , it is more stable . i think you can get a good printing from it .

Best regards
Emily

And

Let me explain it .
We have two verison of the board , one is the stable version of 7.2 , another one is the testing version of 7.8 version .
When you order our printer , the 7.8 version is still in the testing .
We hope our customer can get a good printing , so we choose the 7.2 version to you .
In fact , these two version are the same , the only different the 7.8 version can show our company"s name .
So , really dont worry about this , 7.2 is more stable !

Well, all I can say for certain is that the firmware on my printer was definitively NOT sailfish 7.2 (or newer).

When I flashed the official Sailfish firmware version 7.2 r895, the menus and options provided were vastly different. I am positive also that the printer was shaking more during sudden movements before I flashed as well.

I am also positive that Sailfish versions 7.2 and 7.6/7.7 are vastly different (there’s not even such a thing as Sailfish 7.8). You can check the update notes from the Sailfish people here: http://jettyfirmware.yolasite.com/v74-v44.php 20 .

I think the rep from QIDI was talking about some kind of proprietary firmware THEY have, not the official Sailfish builds.

20 days later

I have the newest version of the printer, with the 2560 chip and Sailfish “7.8” installed. I am using it with Octoprint but there are problems in that the communication does not work well. I’d like to use the stable version of Sailfish (7.7). I can’t find 7.7 on RepG. So what is the procedure to install the new firmware?

Thanks so much for this detailed walk through.Is there a way to back up my current firmware? Qidi has this custom firmware that I can’t download from the web.

thanks

Yes, actually!

Now, I’m not sure whether or not this will work using the USB method, but if you get an AVR programmer this should definitely work.

AVRDUDE has the ability to read the flash, the eeprom, and the fuses of an AVR chip.

The firmware is stored in flash memory, so you can use AVRDUDE to export the flash memory into a .hex file. I haven’t done this myself, though, so you’ll have to find out the specific command line yourself.

Though I think the Qidi firmware is a derivative of the makerbot firmware, so it may not be fully necessary; but I guess better safe than sorry!

Okay, so there are two ways to go about this.

But first, a note: do not use RepG to upload the firmware, it’ll be better to use one of the following methods.

The first step for both ways requires you to download the firmware’s .hex file.

Here’s the file for the atmega2560 mightyboard’s firmware version 7.7: http://jettyfirmware.yolasite.com/resources/release/firmware/mighty\_one-2560-Sailfish-v7.7.0-r1432.hex

You can also search this xml file to find direct download links to all the sailfish firmwares: http://jettyfirmware.yolasite.com/resources/release/firmware.xml 8 (just replace the “firmware.xml” in the url with whatever is in the “relpath” section of the xml for the firmware you want)

By the way, I’d suggest unplugging the heating bed before continuing, it’s probably safer if you do.

Anyways, here are your two options: USB or ICSP. I can only attest to ICSP being more reliable, though.

To upload over USB, you’ll hook up the printer over USB and use AVRDUDE to flash whatever com port the printer is on. Make sure the programmer option is STK500v2. Also you may need to hit the reset button in the back of the printer when you start AVRDUDE in Command Prompt. I’m not sure on that front because I had screwed up my ability to perform the this method so I needed to use second one.

To upload via ICSP, you’ll need an AVR programmer that can flash a memory size of up to 256 Kb. The atmel avrisp mkII should work: Amazon.com

You need to open up the bottom of the printer and attach the programmer to the ISP port for the atmega2560 chip. You then flash the memory using AVRDUDE again. Also make sure AVRDUDE is using the correct programmer setting (it should be avrisp2 or something like that). (You can try atmel studio too, but I haven’t tried it so I can’t say how well it works).

If you try over USB first and it doesn’t work and the printer stops working all together (I don’t mean that it won’t turn on, I mean that it ends up with a blank LCD screen), then you’ll need to use the ICSP option to fix the printer.

You can also try and find a cheaper AVR programmer, just make sure it can support a flash size of up to 256 kb!

FINAL NOTE: If you didn’t understand any part of what I said, then do not try to do anything without performing significant research first. If you jump into this without enough understanding, you risk bricking your printer.

2 months later

Hi again Ryuluce. I have accidentally screwed up my printer by trying to reset the board after having a stepper motor failure. I now have the AVR programmer but am unsure on how to use it. Do you happen to know the orientation of the pins on the motherboard? I’d hate to put power to ground.

Okay, so you’ll notice that the ICSP pins for the ATMEGA1280 have a white dot near one corner, right? That white dot represents the upper-right of the standard ICSP pin configuration.

You’ll also notice that the programmer plug has a notch on one of the long sides, that represents the top of the ICSP pin configuration.

So, the notch on the programmer plug should be on the same long side as the white dot.

In other words, the white dot points out pin one.

The programmer appears plugged in correctly to me.

As for the AVR studio 4, I’m afraid you’re on your own on that front. I’ve used only AVRDUDE and ATMEL Studio.

Ah no problem. I’m going to use AVRDUDE. I have some help from another person who went through it and gave me the hex files. I guess what I need to know now is how to use AVRDUDE such as making sure the connector I bought even works. I’ll come back and update.

8 days later

Hi there and thanks again for replying. I have an programmer now and am familiar with avrdude. Do you have the commands I need to flash to the motherboard in order to get this working?

Right now I’m using:

avrdude -p m1280 -F -P usb -c usbasp -U flash:w:/Makerbot-usbserial.hex \ -U lfuse:w:0xFF:m -U hfuse:w:0xDA:m -U efuse:w:0xF4:m -U lock:w:0x0F:m

and

avrdude -p m1280 -F -P usb -c usbasp -U flash:w:/atmega1280.hex \ -U lfuse:w:0xFF:m -U hfuse:w:0xDA:m -U efuse:w:0xF4:m -U lock:w:0x0F:m

to the 8u2 ICSP port but to no avail. Avrdude says it completed but had a verification error. Also I see no com6 in repG

Okay, to make troubleshooting easier, could you try again with a verbose output and funnel the command’s output to a text document?

To do that, use this command:

avrdude -v -v -v -p m1280 -F -P usb -c usbasp -U flash:w:/Makerbot-usbserial.hex \ -U lfuse:w:0xFF:m -U hfuse:w:0xDA:m -U efuse:w:0xF4:m -U lock:w:0x0F:m > Troubleshoot.txt

That should output all the command’s response into a .txt file that can be used for troubleshooting.

Will do. Just so I’m clear. I was flashing the atmega1280.hex to the 1280 header and the usbserial.hex to the 8u2 ICSP. Is this correct?

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as D9
avrdude: safemode: efuse reads as F4
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as D9
avrdude: safemode: efuse reads as F4

Wait, the 8u2 chip on the motherboard…? You’re talking about the separate chip on the motherboard?

You… shouldn’t have touched that…

That chip has nothing to do with the firmware flashing, it’s all in the ATMEGA1280 chip.

The fuses you need to adjust are in that chip too as far as I’m aware.

That firmware does NOT belong in the atmega8u2 chip, that’s something else entirely…

I really, really hope you backed up the flash and fuse settings for that chip, or at least can find them online.

If not, you really did brick your printer if it isn’t starting up right now.

That chip at least doesn’t use the “-p m1280” setting in AVRDUDE, so maybe you didn’t break it…

EDIT: for fixing the atmega8u2, this link has some info:

https://groups.google.com/forum/m/?fromgroups#!topic/makerbot/-S01iIYO2E8 2

Okay, okay. Still so confused and someone else had posted on here with what I believe was incorrect information.

There is the 1280 ICSP port. The 1280.hex goes on that, correct?

The command would be: avrdude -p m1280 -F -P usb -c usbasp -U flash:w:/Makerbot-usbserial.hex \ -U lfuse:w:0xFF:m -U hfuse:w:0xDA:m -U efuse:w:0xF4:m -U lock:w:0x0F:m

There is an 8u2 ICSP port. The makerbot usb hex goes on that, also correct?

The command would be: avrdude -p at90usb82 -F -P usb -c usbasp -U flash:w:Makerbot-usbserial.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m

You had mentioned flashing the firmware directly and avoiding repG altogether. I can do that to the 1280 ICSP port, right?

If you look in this thread, I have a post giving simple instructions on uploading the firmware.

To be brief, flash the firmware (with the fuse settings) to the 1280 icsp port.

The 8u2 does control the usb, but you really shouldn’t have messed with that in the first place, the flash memory that was already on it was fine.

That response I gave you yesterday linking to that thread should have the information regarding reseting the 8u2’s flash memory back to defaults.

Thanks so much. I was in a bind so I was taking advice from the wrong people. I will give it a shot tonight. Thanks again.

FIXED! Okay I didn’t bother with the 8u2 and I don’t think it ever got messed up. I ended up having to install WinAVR and reran the same commands. I think I had too old of a version of AVRDUDE? Anyway, I had a blank screen still and same problem after reflashing the Atmega1280.hex to the 1280 port but after then flashing Sailfish 7.1 hex for a Replicator 1 Dual it started beeping!

Now my issue is that when I home axes the X axis buzzes like crazy like it is going to tear the printer apart. I noticed the back left stop switch red light isn’t coming on, is that the problem?

The light isn’t coming on? Seems that either the motherboard is no longer recognizing the switch or the switch itself is encountering some kind of mechanical failure. Either way, if the switch isn’t working the printer will keep trying to home until something breaks. The only thing I can think of off the top of my head is that maybe you bumped a plug or wire when working on flashing the printer? Check the connections and wires related to that switch. Otherwise, I’m not too sure on that front.

At least you got it functioning, that’s good. I knew that the motherboard was closer to a Replicator 1 Dual then a Replicator 2x, were you trying the 2x’s firmware?

As for upgrading past sailfish 7.1, people say it has to do with the fuses, but I haven’t tried any of that myself.

What happens is that when I home the axes, the X axis moves as if it is still printing. Back and forth, vibrating in a pattern like seizure. If I push the Print head along the x axis it helps it along and looks like it is printing. What could be the cause of this?

I only tried 7.1 because that was the first one I had handy. I can try other versions for sure.