Sailfish Firmware

by jetty, published

Sailfish Firmware by jetty Oct 13, 2012
211 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps



Sailfish Firmware by jetty is licensed under the GNU - GPL license.

Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

319795Views 82728Downloads Found in 3D Printing


If you use this firmware, please take the time to click on "I Made One" with a picture of your bot.

This firmware took approx 10 months to write and test. Because this isn't something printable, the best appreciation you can show for this work is to encourage others to use it by keeping it on the Thingiverse front page. Thanks to those who have done this already.

Sailfish is the next generation of the Jetty Firmware. It's faster and has better print quality.

Supports: Cupcake, Thing-o-Matic, Replicator 1, Replicator 2/2X, Clone R1 line, Avatar/QiDi line, CTC line, FlashForge Creator line, MBot3D line, WanHao Duplicator 4 line, ZYYX line, and other Replicator 1 and 2 clones.

Documentation: http://sailfishfirmware.com/

Owing to continued changes to yolasite.com impacting firmware downloads, the firmware download URL is now http://s3.amazonaws.com/sailfish-firmware.polar3d.com/release/firmware.xml

This firmware contains many new features, some of which are: better acceleration, ditto printing, [email protected], SF50 Volumetric 5D printing.

Requirements: http://www.sailfishfirmware.com/doc/install.html

Support: Help with using this firmware can be found over at the Jetty Firmware Forum: http://groups.google.com/group/jetty-firmware

Authors: Dan Newman & Jetty

A derivative of firmware released by Makerbot Industries.
Any updates will be placed here, so check back often.
Medallion was created with OmNomNom Creator:

Note: This is not an official Makerbot firmware release.


Installation instructions: http://www.sailfishfirmware.com/doc/install.html Setup Guide: http://www.sailfishfirmware.com/doc/install-configuring.html Printing out the attached "MakeByASailfish", at 100 Micron - Download the zip - Set deprime in your acceleration settings to 0 - Replicator: Using Printomatic, generate for dual extrusion with 100% fill, 120mm/s feed rate, 0 shells, 0.1mm layer height, and 200mm/s travel feed rate - ToM with LCD: Do the same as replicator but use Pause @ ZPos for 1.02mm to change colors.

More from 3D Printing

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App
Apr 13, 2017 - Modified Apr 13, 2017

Does v7.7 have the adjustable HBP while printing feature or is this being added in v7.8... because it isn't showing?

It's in 7.8

Apr 13, 2017 - Modified Apr 13, 2017
CTcartesian3D - in reply to dnewman

Appreciate the reply, and confirmation... v7.8 is still Beta I take it?

Any idea how long before it's a stable release?


Apr 13, 2017 - Modified Apr 13, 2017

Hi nice work thank you for sharing it with everyone.

I'm having problems with the .hex files trying to flash them on to an ATmega1280, on a CTC creator (replicator clone) I've tried flashing through this version of ReplicatorG as well as directly through the ISP header using AVRDUDE. I've tried everything I can think of.

I am wondering if the hex files for ATmega1280 on http://s3.amazonaws.com/sailfish-firmware.polar3d.com/release/firmware.xml are correct.

A quick update
Just recompiled the firmware for the mighty-one on the ATmega1280 and uploaded the .hex file to my bot and it worked first time.

I think the hex files for the atmega1280 on http://s3.amazonaws.com/sailfish-firmware.polar3d.com/release/firmware.xml might have errors.

Work this Firmware with CTC DYI D8277 prusa i3 pro b, board its a GT2560?

No. RepRap Gen 3, Gen 4, or MightyBoard electronics only.

Thanks for the great firmware!

You're quite welcome!


I am working with a Replicator 2 in a school. Therefore all network traffic by ReplicatorG is blocked by a proxy. I have the proxy information but wasn't able to find any option to modify the network settings of ReplicatorG.
Is there there the possibility to get ReplicatorG through that firewall or use an offline installer?

Many Thanks

The use of network proxies is not supported by ReplicatorG. ReplicatorG has been abandon-ware since Nov 2012. A version is only provided as one means of uploading .hex files to a MakerBot printer.

You could install ReplicatorG at your home, allow it to connect and collect files, then zip the directory ~/.replicatorg into a zip file, put it on a thumb drive, then unpack it on the target system at school into ~/.replicatorg. You'd then be good to go.

have you talk to the network administrator at you school about this and to see if they can help you ?

Mar 30, 2017 - Modified Mar 30, 2017

hi i updated mt flashforge creator pro to sailfish 7.7 (r1591) and now the left extruder will not print and the unload and load the extruder are back words

Comments deleted.
Mar 31, 2017 - Modified Mar 31, 2017
csa2k3 - in reply to dnewman

well the person who made the sailfish7.7 (r1591) need to support this do to iam running on their software not the one that came from flashforge ty and have a great day

Mar 31, 2017 - Modified Mar 31, 2017
csa2k3 - in reply to csa2k3

well i see you deleted your comments dnewman why ?? and to add to your deleted comment not i dont have a attitude, it need to be put if you make software or aka firmware for a 3d printer you need to support

Mar 31, 2017 - Modified Mar 31, 2017
dnewman - in reply to csa2k3

To repeat this is NOT a support forum. If you need assistance, go to a support forum for your printer. Sure, I occasionally help people in these comments, but only people who do not have a crappy attitude like you do, your belief that you are entitled to support for free, open source software.

well if NOT a support forum then this need to be taken off thingiverse

Comments deleted.
Mar 20, 2017 - Modified Mar 20, 2017

it would be helpful add the feature to adjust the extruder flow while printing, like in Marlin firmware, also for makerbot replicator

That's one of the worst features of Marlin. Far too often people make a slight adjustment not realizing that it has a cumulative effect. Hours later, they find that their print is messed up.

i've noticed that replicator 2x firmware send a little bit filament so the extruder clicks, some filament seems to have more density.

Always measure your filament diameter with calipers before slicing and input that number when slicing. Also, it's always a good idea to calibrate your slicer to your extruder. See, e.g., http://www.sailfishfirmware.com/doc/tuning-slicer-calibration.html#x28-730005.1

yes I do it, but i think it would be a good feature

Mar 18, 2017 - Modified Mar 18, 2017

I replaced a burnt out motherboard on a makerbot replicator dual and am trying to get the board in the link below to work properly. The main issue i am having is with the new board the leds no longer work like they did with the original one and does not have the LED option on the display. Any suggestions on how i can fix the problem???

I am using Replicator G Sailfish version 40R33 with the board.


Does anyone else start having issues running the large model version? I have been getting a Java error for about the past couple of weeks, on two different computers. Seems like Java can't grab enough memory.

Does anyone know why I don't have the HBP Temperature , I've seen it in the menu system on the documentation but its not there on my replicator 2x ???

Mar 2, 2017 - Modified Mar 2, 2017

Is there any new update for our CTC 3D Printer?
I have sailfish 7.7
maybe 7.8



I am using this software and all seems to be ok in a printer that i am repairing.
But have another one to repair that some one replace the Z tread with a different pitch (it is half the mm/turn them the original)
Is it possible to change the mm/step somewhere to upload the firmware and correct this problem?


It's not a firmware issue. MakerBot printers don't convert mm to steps. They only consume steps. The mm to steps conversion is done by whatever software is converting the gcode to X3G. So you need to look there.

Feb 12, 2017 - Modified Feb 12, 2017

I picked up a CTC dual over the weekend and having a bit of trouble getting the firmware updated to Sailfish, I think the documentation is a bit out of date. I have a few questions.

  • How do you check if you have the ATmega 2560 or not?
  • Which printer do you select in the ReplicatorG for the CTC?
  • On my actual printer itself, the firmware says The Creator, Version 1.0. Is this OK to do straight to the latest version of Sailfish?
  • Where the hell is the reset button???
  • Once I put Sailfish on, can I use programs such as Simplify3D?


Please post these questions in a CTC support forum.

wanting to install sailfish to a ctc duel extruder ive picked up.
Ive got sailfish versions of replicatorg working fine on my MAC but wont allow me to change the firmware directory.
says the firmware.xml was not found.

ive set app so its not read only and is connected to internet.

can anyone help?

change "firmware directory"? There's no setting by that name in RepG. Do you mean the "Advanced" Preference that sets the "Firmware update URL". And you cannot run RepG from the .dmg file. You need to drag the ENTIRE folder out of the expanded DMG image to your Desktop, /Applications directory, or similar. Do not just pull the RepG executable out of that folder.

And also make sure it is RepG 40r33 - Sailfish (or later). "r33" being an important aspect.

I have changed the url to the sailfish repo but it does not seem to want to download from it.
if I use the standard url it will download all of the firmware versions but sailfish doesnt load from - http://jettyfirmware.yolasite.com/resources/release/firmware.xml and try to upload firmware I get an error screen everytime - the firmware description file 'firmware.xml' was not found. You may see this message if you're running ReplicatorG for the first time and are not connected to the internet , or if you are running ReplicatorG on a read only file system.

I am running from expanded DMG on desktop (and checked its set to read / write)
running 40r33 too

Thanks for the help

it's possible that yola.com has once again changed the hoops code has to jump through to download files. They did that about a year ago and broke lots of code, RepG included. They may have done so again. You'll have to figure out how to manually download the files yourself and park them in


The firmware.xml file goes to


Sorry, but I don't have time this month to try to fix RepG.

Sounds like that's what's happened here.

Is anyone able to email me the contents of their firmwares folders please?

I'm confident I can do the rest to make it work from there.

Thank you.

The contents is about 0.25 GB. Not easy to mail.

However, polar3d.com has agreed to host the data. I'm uploading it to Amazon S3. That'll take an hour or so. Then I'll test it from RepG. Then update all the documentation and repost.

In RepG's "Advanced" Preferences, use the firmware download URL,


'tis working for me. And a BIG THANKS to polar3d.com for hosting the data.

Want to say a massive Thank you to both dnewman and polar3d.com for their help

Managed to get it loaded and printing from a SD card

wont connect over usb any longer saying that it is in use by another program but thats a problem for another day lol

Hey, thanks for this great pice of code!
One question about changing dimensions.
I need to print larger parts with my CTC Replicator. So i want to rebuild it and extend the z achses.
Is there a way to change the z range without recompiling the firmware?

Thank you


Comments deleted.

Hey, thank you very much for designing this great software. It is so much better! I only got one question, can you activate the beeping sound the old firmware made when the build starts? That would be great so I can check if everything is working fine.
Thank you

Best wishes


You're quite welcome.

As to playing a tune at the start of a print, that's a gcode command you or your slicer places in your print's starting gcode

M72 P0 ; error
M72 P1 ; print finisned
M72 P3 ; MakerBot startup tune
M73 P4 ; MakerBot TV tune
M73 P5 ; Beethoven's 5th
M73 P6 ; Filament load ready
M73 P7 ; Pause tune
M73 P8 ; Sailfish startup tune

Any other tunes were played by your printer control software on your laptop/desktop. E.g., Simplify3D will play tunes that you can configure.

Ah thank you very much :D

You're quite welcome.

As to playing a tune at the start of a print, that's a gcode command you or your slicer places in your print's starting gcode

M72 P0 ; error
M72 P1 ; print finisned
M72 P3 ; MakerBot startup tune
M73 P4 ; MakerBot TV tune
M73 P5 ; Beethoven's 5th
M73 P6 ; Filament load ready
M73 P7 ; Pause tune
M73 P8 ; Sailfish startup tune

Any other tunes were played by your printer control software on your laptop/desktop. E.g., Simplify3D will play tunes that you can configure.

Quick question for you guys that have experience with this, is it still necessary to use MakerBot MakerWare or Desktop to get X, Y, Z toolhead offsets or Replicator - Sailfish attached here can read the correct settings from the original firmware?

The linked documentation states that you need to use MakerBot softwares, but most of tutorials on-line use Replicator - Sailfish.

Please add steps/mm configuration from display of printer.
It would be very helpfull :)

But what would the printer use it for? Keep in mind, it is sent X3G, not gcode. With X3G everything has been converted from mm to steps. As such, all adjustments of steps/mm must be done in your gcode to X3G translator.

The printer only needs to know steps/mm so that it can interpret kinematical constraints (e.g., mm/s, mm/s/s). As such, changing the steps/mm values in the printer has minimal impact. And certainly won't impact sizing of the print nor the amount of extruded plastic.

Good to know about that difference in x3g.
It takes care of some of the problems I had with calibration.
Thanks :)

What sets do you use for this print?

What sets do you use for this print?

Hi, is there a cookbook somewhere to recompile the firmware? My mightyboard has a tech issue and I need to change the pin assignments to switch the extruder 2 and the Z axis...
Thank you!

No, there's no cookbook.

See https://github.com/jetty840/Sailfish-MightyBoardFirmware/blob/master/docs/avr-gcc.markdown . Particularly the link to the pre-built VirtualBox VMs which you can download and then use to compile the sources.

I have a Flashforge Creator. I recently installed Sailfish and I'm having some different issues with repg now. How do I get my printer back to the old firmware?

First, keep in mind that unless this is a really, really old FF Creator -- 2012 -- it came with Sailfish. So, the issue is just falling back to an older version of Sailfish. You can do that with RepG 40r33 - Sailfish by just selecting an older version. If you want the version distributed by FF, you will need to get it from them. You might try posting at the flashforge group at groups.google.com.

I'll give that a try. Thank you.

Hi, I 'm using FF creator x (Rev A.) board, atmega 1280. After, I update the new selfish firmware for FF creator. I see the machine move more smooth. However, I can no longer use Makerbot desktop. I return me with unknown error. So, I guess the makerbot desktop do not recognite the firmware. Does it have any work around.

Works fine with Desktop. You have another problem. Printing via USB? You'll be better off using only the SD card.

MakerBot Desktop works fine with Sailfish. Must be something odd in your specific case. You should post to the flashforge user group at groups.google.com. (After all, this isn't a support forum.)

I upgraded my flashforge creator pro to sailfish 7.8 it prints great but it makes beeping sound every so often while is printing. Can i downgrade to 7.7 as that what i had and never had the beeping noise before. The noise is like when the print finish but every so often while printing.

Yes, you can downgrade.

The beeping means one of two things:

  1. You have large enough temp swings that the "beep when reaching temp" gets triggered now and then. Mid 7.7 added a feature to beep when the printer reaches its target temp. The beeping only happens when you have deviated several degrees from target. That you hear the beeping, means that your temps wander a bit far.

  2. Or, you have some sort of intermittent short on your motherboard which is causing the piezo buzzer to occasionally make noise.

Does this support the new Makerbot Replicator+?

I have a Powerspec Ultra and wanted to know if I could upgrade the firmware to Sailfish and whether or not it would be worth it in terms of any improvements in speed or accuracy?

Please find a user group for the Powerspec Ultra and ask there. Failing that, ask in the FlashForge users group at groups.google.com. That because FlashForge makes the Powerspec line for Microcenter.

Oct 6, 2016 - Modified Oct 6, 2016

Minimum hardware requirements to run Sailfish & retain MakerBot Desktop compatibility?

I'm building a new 3D printer control board. I need to create a new 3D printer 'motherboard' for my production printers. This is from-scratch and intended to be an extremely flexible test bed platform.

As part of this I want to make one variant of it a MakerBot compatible board, capable of running Sailfish (and even stock MBI firmware).

So, what are the bare minimum specific hardware requirements to enable a new Mightyboard compatible to be made? Down to a component level?
I can get this in a brute-force manner by comparing the RevE schematic with say RAMBO, but I'd like to understand what the real essential differences are between the X3G boards and everything else.

I already have a lot of printers, and loose examples of multiple RAMPS, RAMBO, RADDS, CTC Mightyboard, RevH Rep2 Motherboards, LPCExpresso boards, LPC1114... you name it. 8bit, 32bit... I already intend to include on my boards support for different thermocouples, thermistors, StepSticks and BotSteps... even Toshiba steppers.

Searching this subject mostly returns debates about Marlin vs Sailfish vs Makerbot vs Repetier vs RepRapFirmware etc - these all seem to stop with the division between Makerbot/X3G boards and 'everything else'. I feel the only way to make a sensible comparison is to run them all, back to back, on the same hardware and test print. My new board being modular offers an opportunity to do this - would be grateful for any info!

Build a board using a 32bit ARM chip, preferrably with hardware floating point. Consider using RepRapFirmware. Do not waste your time with 1990's CPUs.

Thanks for this advice, but I'm already doing that as part of a bigger project [I already have two different variants of 32-bit ARM under test on 4 boards - LCPXpresso/Gen7ARM with SmoothieWare, RADDS and Duet running RepRapFirmware and Marlin.]

My key need here is to retain MakerBot Desktop and BotStep compatibility. For which today I can either use a closed source RevH board or one of the RevE clones.

For all the discussion and opinions around the different architectures and their capabilities, fact is that MakerBot Desktop gives a very easy workflow, the Replicator 2 is a good workhorse and under some circumstances my Replicator 2 outperforms other more 'modern' architectures, and I want to get a deeper understanding of why.

I also want to provide an alternative repair/upgrade path for existing Replicator 2 owners and even 5th Generation owners. I am committed to several rounds of PCB development and am not afraid of iterative development.

I can get there myself by building up a Mightyboard from components on a breadboard and messing about - but I'm hoping to connect with Sailfish devs to understand the true minimum hardware requirements to run the firmware and retain MakerBot Desktop compatibility, and MakerBot Botsteps, thermocouples and heaters too.

Unfortunately, I have zero time for the next at least 4 - 6 months in order to assist. In short, make damn sure to use pins with hardware PWM for heaters. Otherwise, sailfish has zero interest in the hardware: software PWM for heaters is not as safe and thus not of interest. But further, if you don't want to port the firmware then use the same pinouts as either the Rev E or Rev G/H mightyboards. If you do make pin changes, then you will need to make your own Sailfish build to support the electronics.

Hi Dan, thanks for those tips and I don't expect any real support effort from the Sailfish side, but if I could ask the odd question I'd be grateful!
At least the first iteration will be 100% pinout compatible for the mightyboard revE, using an ATMEGA1280P like the mightyboard - so it's able to run standard Sailfish guaranteed.

So - question - since there are 2560-based mightyboards, can Sailfish be made to run on a bare Arduino Mega to experiment with it?

Unlikely as the Arduino Mega 2560 does not expose all the pins. So odds are you'll be missing pins. Note moreover that you cannot build Sailfish in the Arduino App. Like a good number of large AVR projects, we do not use the Arduino environment owing primarily to its instability. It just isn't a programming environment you want to commit to for serious work; not when the Arduino devs make significant changes and do not release note them.

I'm a bit lost here, I'm already running sailfish on my FF creator pro as that is what it came with, but I wanted to make sure I'm on / can get the latest firmware. According to the directions and all the links provided, I need replicatorG which appears to be dead. None of the download links work and the github redirects me back to the same download links. Can you please help me out and show me what I'm missing?

You almost found what you're looking for. What you're missing is looking at the downloads to this very thing you posted a comment on. Namely, the ReplicatorG 40r33 - Sailfish download items.

Also this thing has links to the Sailfish documentation which will explain the update procedures for the firmware.

Hi there, i have just completed the upgrade on a ctc dual. Eveything seemed fine until i tried a 57 hour print. A few hours in the y axsis motor starts slipping and then i get a screen full of random characters. Once i get this screen it seems like all plate dimensions go out the window, and the x motor tries to leave the printer via the side of it. Is there any way to go back? Any thing i can do to fix it? Thanks

This isn't a support forum. Please post in the CTC 3D printing support forum of groups.google.com.

Sorry should have said running 7.7 with simplyfy 3d

I'm running SailFish 7.7 on a FlashForge Creator Pro - works great, but I have a question...

Is there any way to read the current printer status (hotend temp, percent done, etc.) via USB ? If so, does anyone have some sample code to do so. I assume one would need to simulate reading serial data over the USB connection. I currently only print via SD card, so reading the USB/serial data shouldn't interfere with the ongoing print.

Any help is appreciated and thanks in advance

Sure, read the S3G specification or look at the Java code in ReplicatorG. And, yes, reading temps can and will interfere with the ongoing print if you do it too frequently. Keep it above 0.5 Hz.

https://github.com/makerbot/s3g (has some old Python code which is buggy, newer versions can be had by prying open MakerBot Desktop)

dnewman - Thanks for your help on this. Based on the links you provided I was able to develop a simple python script to poll the printer information in a loop and present the data in a text overlay on my webcam video. very cool...

That nice. If you ever feel inclined, drop it into github or somewhere and post a link in the jettyfirmware forum of groups.google.com. (That't the sailfish forum.)

Will sailfish be updated or is it stuck in its current state ?

There is a nascent 7.8 which should see an open beta test before the year is over. However, owing to the fact that there's no more code space available on ATmega 1280s, there's really no room left for new features. Which is fine. Folks should be moving away from 1990's processors onto circa 2000 processors (ARM). RepRapFirmware is the leading 3DP firmware on ARMs at the moment.

Does anyone have this working with Octopi/OctoPrint + GPX? I gave up on this, and switched to Astroprint, which is working a lot better.

However, I love the features of Octo, if it is working correctly. Thanks for any tips.

Also thanks so much for the great firmware!

Lots of people use Sailfish with Octoprint. One of the Octoprint devs uses Sailfish. I use Octoprint on all my Sailfish printers.

However, this isn't a support forum. You would be better off posting in the forum appropriate to your printer (e.g., the CTC group, WanHao group, FlashForge group, etc.). And keep in mind, Astroprint is a fork of Octoprint....

Aug 21, 2016 - Modified Aug 21, 2016
jchristman - in reply to dnewman

Thank you for the info. Do you know what x3g (makerbot) handler Astro uses and if it is available for Octo?

With Astro I can upload and print .x3g files directly. But with Octo, if I upload x3g files they are not readable/printable. I need to upload g-code and let GPX translate it. This seems to be where I run into problems.

For instance, if I try to print two items without out power cycling the printer (Flashforge Creator 1) between prints, it will run very slow, and jerky, like so speed value got stuck. Also, when it starts a print, as the gantry moves from the back right to the front left (before pre-heat) it cold retracts the entire time, even though the g-code only has commands for x and y. This leads to a lot of problem. If the hot-end is hot, it unloads the filament, if it is cold it can strip the filament.

I do not have any problems with Astro. So I can only assume the difference is that Astro has a homegrown x3g handler, and does not use GPX. That is what the forums look like.

I would like to have the ability to upload and print x3g files to octoprint.

I figured and hoped that the people in this comments section would be smart enough and have the experience to help me easily. Thanks.

They use their own fork of GPX. (I know as I helped Daniel Arroyo of Astroprint with it.) I don't know if it works with mainline Octoprint. Mark Walker's GPX fork (which I share with him) does work with Octoprint. It's Mark who maintains the GPX plugin for Octoprint and Mark is one of the Octoprint devs.

As to uploading x3g, you do not upload x3g to Octoprint. As you have discovered, you upload gcode to it and the GPX plugin for Octoprint converts it to x3g for you. If you're having issues, make sure you have up-to-date Octoprint and GPX plugin. (You can update via the system settings in octoprint.) Then make sure that the GPX plugin is enabled and they you have selected the correct printer type -- e.g., a Replicator 1 dual. It defaults to Replicator 2 (as the original author of GPX has a Rep 2).

You can find Mark Walker posting in the FlashForge group and other groups. He's usually pretty good about answering questions.

Aug 21, 2016 - Modified Aug 21, 2016
jchristman - in reply to dnewman

Thank you. I will try again.

I do love the firmware. I think my printer prints as well as my friend's Ultimaker.

good afternoon, I received a long does a qidi with the Sailfish 7.8 is better that comes standard 7.7 or better put you uploaded? Thanks in advance, and sorry if it's a silly question but do not know much about it

Well, you have a QiDi so you're stuck with the firmware they provide. They seem to do something odd with their electronics and then require a modified Sailfish. They have never made their changes public (in violation of the Sailfish license). And as such, no one knows how to pull back their changes to the mainline Sailfish. As a result, you have to run the firmware QiDi provides.

hi, after the update if i try to print out a gcode file created with cura o slic3r or any other slicer using S3D it set the model position to 0-0-0 and not in the center of the plate... i'm using a CTC bizer , any idea how to solve this issue? maybe editing the gcode file?


For your CTC printer, (0,0,0) is the center of the build plate. Cura and slic3r, however, think that (0,0,0) is a corner of the build plate. You need to configure Cura or slic3r to use (0,0,0) as the build plate center, and not a corner. They think that (0,0,0) is a corner AND that you want the modeled centered and so they displace the model away from (0,0,0) thinking that that will center it. You configure Cura or slic3r to not do that by telling them (1) the dimensions of the build plate, and (2) that (0,0,0) is the center of the build plate and not a corner.

Folks in the CTC forum at https://groups.google.com/forum/#!forum/ctc3dprinters use Sailfish and use Cura and slic3r. You may want to post their; coments at thingiverse are not a good support vehicle.

I am in the planning stage of building my own 3D printer, I plan to use the mightyboard so I can use the sailfish firmware, my question is does the sailfish firmware support large size printer with a build volume of 300x200x300mm or larger?

Many thanks

Build volume is not the issue. It's the step count to traverse an axis. So, you can make a volume of 1000 km as long as the steps/mm are, say, 1 step/meter.

So the real issue is what steps/mm are you going to use. The one people do dumb things with is Z; e.g., 4000 steps/mm. Keep Z below 1000 steps/mm and you will likely be okay.

The best place to post would be https://groups.google.com/forum/#!forum/3dprintertipstricksreviews as that group has several people who make printers with Sailfish and 1 cubic meter build volumes. (E.g., jetguy and the large printers he shows at Maker Faire NYC.)

I followed the instructions for upgrading to Sailfish. Now my extruders overheat FAST when trying to load them. I just want to go back to my regular firmware. How do I reset the board so I can reload up to 7.5? Any help would be appreciated. Thank you!

Please find the correct support forum for your make and model of printer and post there. This isn't a support forum and we have no idea what printer you have let alone where you can find a copy of the old firmware which was previously installed on it. And your old firmware would have been Sailfish as well -- even MakerBot in Nov 2012 started using Sailfish; they just put their own LCD UI on it.

I'm sorry. I didn't mean to cause a problem. I was just frustrated and looking for answers. I would gladly direct my questions to the proper forum, if I knew where that proper forum was. I have a CTC Bizer dual extruder printer. I did a "Bing" search for "upgraded to sailfish and now extruder over heat" & "how to revert backward after upgrading to sailfish" and there was nothing showing up as a forum that had any answers. If you could kindly suggest a proper forum, I would be more than happy to ask the questions there instead of bothering you, as it seems I must have by the response you gave. Than again, I am frustrated so maybe I just took your response the wrong way. If so, I apologize.

(And you are amazing for doing this).


Posting this here in case Sailfish developers know whether or not Cura 2.1.2 slicing is not playing well with Sailfish on my Qidi Tech Replicator 1 Dual clone:

My motor VREF setting is 90 for X and Y. Printing at a peak feed rate of 90mm/s and 130mm/s for travel-only moves. Object sliced with Cura 2.1.2 and acceleration in Sailfish firmware was limited to 300mm/s^2 for X and Y. I notice that occasionally, acceleration is ignored and the print head races to its next starting point at the full 130mm/s travel speed! This results in a "bang" and the stepper motors skip and printing continues at a new location, ultimately killing the print. I did some reading here: http://www.sailfishfirmware.com/doc/sailfish.pdf (READ SECTION 9.4). Sounds like Sailfish cannot "accelerate" a move if it doesn't know the last location (e.g. last location not saved in EEPROM). I wonder if Cura 2.1.2 (or even GPX) does something to the gcode that could cause this "NON-accelerated" move phenomenon to occur randomly MID-PRINT. 130mm/s without acceleration on a dual direct extruder Cartesian setup is painful to watch.... I am sure my 90 VREF setting is also reducing the amount of holding torque resulting in the steppers having insufficient force to overcome the momentum of a 130mm/s un-accelerated move - resulting in skipping of steps. What is causing my random un-accelerated moves? Thanks!

This has nothing to do with Sailfish per se. Sailfish doesn't know where a prior point was. This is all about GPX. GPX cannot generate an accelerated move command if it does not know both the absolute coordinates of the starting and ending point of the move. That is usually only an issue for the very first move of an entire print. However, I suppose it is possible for GPX to lose track. I'd make sure that Cura is not using G92 commands except at the very start of the print. (Or, don't use Cura and try slic3r or Simplify3D instead. Me, I use simplify3d but it costs around $140 USD.) Slic3r you can tell to not use G92. The G92 command is problematic for GPX since there is no equivalent X3G command.

hi i got such information in console after upgrades
CTC BIZER (creator)

Attempting connection at .\COM3...
Testing plaintext communication protocol...
WARNING: CRC mismatch detected
WARNING: CRC mismatch detected
Connected to machine!
WARNING: CRC mismatch detected
WARNING: CRC mismatch detected
WARNING: packet transmission failed, retrying... (d50115a2)
WARNING: packet transmission failed, retrying... (d50115a2)
WARNING: packet transmission failed, retrying... (d50115a2)
WARNING: packet transmission failed, retrying... (d502860085)
WARNING: CRC mismatch detected

I done it twice and still get this info is it normal ?
next i need some help with settigns for Simplify3d and speed for PLA and ABS

This isnt' a support forum. Please post in the CTC 3D user group in groups.google.com.

Comments deleted.

You've previously used ReplicatorG 0040 and had preferences set for "The Replicator Dual". There is no such machine with RepG 40r33 and hence that warning. It's a warning and you can ignore it. (The nearly equivalent machine is "The Replicator Dual (SAILFISH)".

I made one

Is there a reason Sailfish doesn't do PWM for things like the HBP (7.7 mentioned it doesn't so uses a kludge of 1bit that seems to work) and the Fan? I went digging to see why my printer's fan was always on at 100% or always off at 0% when my slicer was sending the S command and it appears Sailfish, unlike Marlin, can't do it. The Mightyboard has the FET so it isn't a hardware issue.

PWM for a heated bed is a waste of time -- totally unnecessary. Same can be said for worrying about the heated bed temp varying +/-2C.

And actually Sailfish can and does do PWM for the print cooling fan. Your issue is that X3G, the command protocol, doesn't support PWM for print cooling fans. So, there's no way to tell Sailfish the PWM duty cycle to use. But late 7.7 and all 7.8 (beta) builds of Sailfish have an LCD UI menu setting to set a 0 - 100% fan power which is then used each time the fan is told the binary on/off supported by X3G.

Jul 9, 2016 - Modified Jul 9, 2016
DarkAlchemist - in reply to dnewman

I don't agree with the PWM and the bed part and if .x3g is the issue then why does SF only work with .x3g and not .gcode?

When I was looking at the source for 7.7 I noticed that only the Azteeg X3 and 2 others (I forget which ones now) had the Cooling Fan PWM defined so all other boards don't have it defined therefore never will work.

So, wouldn't it be wonderful if SF started to use gcode instead of the antiquated Makerbot nonsense? That way SF could really shine and the code generated to make the fan go faster for bridging and slower in other places actually worked? I think so.

Yes, I know about the way SF offloads the computing to the slicer's machine but something should be made to make .x3g work for this.

Well, we're just going to disagree on heated beds and PWM.

As to X3G and SF, X3G is what SF uses. It gives it a slight performance kick, not having to parse gcode. On the little AVRs, every bit helps. X3G can be made to support fan PWM by adding a new X3G command with that or extending the existing command. You'd then also modify GPX and SF to then support it. Not significantly different than the gcode case: you make a new M or G code, do what it takes to make the slicer use it, and then mod the firmware to recognize and support it.

Well, it just seems someone was asleep at the wheel for all of these years when dealing with an always on/off fan situation. That makes absolutely no sense to me why it would not have M106 Sxxx for instance but in X3G. Seriously, a fan can make, or break, your print and not having the ability to control the speed via the slicer is just a bad show for sure.

I use a CTC, upgraded to Sailfish and the x axis is not good, dualprint print doesn´t work

Please post in the CTC users group at https://groups.google.com/forum/#!forum/ctc3dprinters . My guess is that you did not follow the sailfish install directions and, as a result, need to wipe the EEPROM using the Utilties > EEPROM menu. Merely resetting to factory defaults will not work as it leaves all calibrations untouched and likely your X home offset and/or X toolhead offsets are wrong. (Covered in the install directions.) Also, incorrectly using the abandoned-in-2012 ReplicatorG 0040 to write EEPROM settings will corrupt the home offsets and toolhead offsets. You must use ReplicatorG 40r33 - Sailfish (a download of this Thing).

X3G (formerly S3G) goes back to 2009 and predates any use of a duty cycle with the M106 command. S3G (Sanguino3 Gcode) was actually developed by RepRap.org (e.g., Adrian Bowyer and crew) and was used for the generation 3 and 4 RepRaps. (Maybe also the pretty-much-never-happened Gen 5 RepRaps.) It made it into the MakerBot ecosystem since the Cupcakes and Thing-o-Matics used RepRap Gen 3 and Gen 4 electronics and the firmware was shared between the RepRap and MakerBot ecosystem. (Indeed, Zach "Hoeken" Smith, co-founder of MakerBot was had a title within the RepRap organization and significant involvement with RepRap.org.)

Is there an easy way to detect if the printer is currently printing? I would like to recognize when the printer starts / stops a job. I would be happy, when I can reach this without customizing the FW....!

No, not offhand. There are filament monitors which might serve this purpose.

Or, install a Z max endstop and have the printer home Z max when a print is finished. You'd tie that in to the connector on the motherboard but also tie into that electrically so that your external whatever knows that the print has finished. It won't know that it has failed should that happen.

Jun 14, 2016 - Modified Jun 14, 2016

Can any of you help me flashforge is giving me the runaround. I was going to save myself some time and trouble and just buy the board with sailfish on it but it is not working out. It came on connected to makerbot one time and now makerbot will no longer recognize my board and connect. the person i communicated with at flashforge said he doesnt even know if you can use makerbot because they use sailfish

This isn't a support forum. You should post in the groups.google.com FlashForge forum at


I suspect that you will find plenty of people there using FF boards with MakerBot MakerWare and possibly MakerBot Desktop. However, know that MakerBot has been making Desktop hostile to clones and even their own printers when modified. Moreover, MakerBot is notorious for not testing their software with their own legacy printers and as such it's not uncommon for owners of older MakerBot printers to find bugs with Desktop. For this reason, many people with legacy MakerBot printers stick to the final MakerBot MakerWare release, v2.4.

I just installed Sailfish and it is great! I just wanted to know how to change the language to english. Mine installed in german, but I didnt select a german jetty link. How can I change the language to english again? Just found out with this link: https://github.com/jetty840/Sailfish-MightyBoardFirmware/tree/master/firmware/src/MightyBoard/shared/locale but how can I replace the file?

Thank you

Well, somehow you picked up German builds. And if you point RepG at the English builds, it won't download them until you first delete the German builds....

  1. You must find and remove the .hex files from the directory ~/.replicatorg/firmware/ on your computer. That's the correct path on Linux and OS X. I do not know offhand the path on Windows but it will be a subdirectory of your login directory. I suppose you can have the OS search for the file wanhao_dup4-Sailfish-v7.7.0-r1432.hex . That's just one of the .hex files you need to remove; the others will be in the same directory.

  2. You must use RepG 40r33 - Sailfish (or later rXX is okay) to download the English hex files.

  3. You must point RepG's download URL at http://jettyfirmware.yolasite.com/resources/release/firmware.xml

  4. You may need to exit and restart RepG. At any rate, it will report downloading files in the lower part of the main window.

  5. You can then install the desired firmware. It will be in English.
Jun 15, 2016 - Modified Jun 15, 2016
Nanafalke - in reply to dnewman

thank you very much for the guide. It is in english now. Great software! Thanks for sharing

Thank you very much :)

Kind regards


May 31, 2016 - Modified May 31, 2016

Where is the PID loop for the heated bed in this firmware? Nozzle is right there but not for the heated bed? Marlin...24v...MK2B...110c 8-10mins. Sailfish 7.8...24v...9x6 Makerbot style heated bed...110c...30 mins. WTF?

There's PID and there's how you actually switch the power to the HBP. They are two entirely different things. Many firmwares default to using bang-bang for the heated bed regardless of whether they use PID to decide when to continue or stop heating. Sailfish is no different in this regard: it uses bang-bang for actually switching power to the HBP. And on all of my printers with Makerbot-style heated beds, it's only about 8 minutes to reach 100C. (And likewise for the ones with RepRap-style MK2a HBPs.) Me, I never use 110C but plenty of other people with those printers do since it was MakerBot's recommended temp for years. Ergo, your problem is your specific printer and not the firmware. And since this isn't a support forum, you might be better off posting to the relevant support forum for your make of printer. Odds are, there's something wrong electrically. If it's an Asian clone printer, often it's the really poor job of wiring and the power connector to the HBP is failing (burning up) on one end or the other of the wiring. (Far too many posts of exactly that in the assorted forums.) However, it may be that you have the wrong build of Sailfish on your printer. There's a special build specifically for FlashForge printer's with ATmega 2560s. They have a mis-manufactured HBP circuit which has far too low of a resistance and will attempt to draw 14.1A @ 24V (in a printer with a 14.6A PSU). So, FF modified the firmware to use PWM to simulate only presenting 17V to the HBP circuit. That sort of works. But if you use that firmware with a "normal" MakerBot-style HBP, then it will indeed seem to take forever to get your HBP to temp.

Jun 2, 2016 - Modified Jun 2, 2016
DarkAlchemist - in reply to dnewman

I am used to having all of this right there for my tweaking but in Sailfish 7.8 only for the nozzle is it there using RepG. Even to 40c it takes as long to get to 40c as my PID Marlin does to 110c and it has a bigger heating board so should take longer.

  1. Something is then wrong with your electrical system and/or HBP. Like Marlin and the other AVR firmwares, the HBP circuit receives flat out FULL power until it is within 10C of the target set point. Only then does PID even consider kicking in. Marlin and Repetier behave the same way modulo the cutoff they use before cutting over to PID (10C vs. some other compile time constant). So, if you have set 110C and it is taking forever to get to 40C then something is wrong electrically and looking at the firmware serves no further purpose at this point: the firmware is telling the electronics to send FULL 24VDC and will continue to do so until it reaches 100C (set point less 10C). Only exception as regards Sailfish is the crazy build for FlashForge printers with ATmega 2560s as I described previously.

  2. If this is an Asian clone printer, then the wiring is always suspect.

  3. You should be posting in the support forum for your make of printer.
Jun 2, 2016 - Modified Jun 2, 2016
DarkAlchemist - in reply to dnewman

Nope, I found out over on the Googlegroup that WanHao is doing the same thing and that is lieing to people calling theirs Sailfish. This is a Qidi technology and they have Sailfish 7.8 for Mega 2560 but, as I suspected, the official version is Sailfish 7.7. Also the magic PID and PWM numbers do NOT come up, for even 7.7, using RepG only for the hotend will they but never the max power numbers like is in Marlin that is compiled in.

I also read that if you try and use 7.7 on a Wanhao it will not work and Wanhao is closed source using an open source firmware. So, in the future they can go to blazes I will not touch either with them doing that.

As far as wiring goes they do not get hot but they shouldn't with how long it takes to heat up (for all I know they are sending 6v to it). It is the clip in kind whereas my Ramps board I used 14 ga wire on it. This has so many wires I am not ever sure why it has this many unless it is sharing the load. 4 wires I can understand but more? Only if for load sharing.

Oh, I wanted to add that I just checked the ohms on the +/- of the hpb as it was in my lap and it came in at 3.4 ohms which is precisely what my MK2B from Sainsmart came in at on the 24v side. So, it is something in the firmware in this "7.8" Sailfish. If this were Marlin I would head directly to #define MAX_BED_POWER and change it but too detached to even attempt it with this.

Again, this has NOTHING WHATSOEVER to do with PID. LIKE MOST FIRMWARES, THE PID DOESN'T KICK IN UNTIL THE TEMP IS WITHIN 10C OF THE SET POINT. Contact the support group for your QiDi or contact the seller who sold it. You have something electrically wrong.

Jun 2, 2016 - Modified Jun 2, 2016
DarkAlchemist - in reply to dnewman

Stop your shouting What this has to do with, as I said above, is they ripped off, as so many are, this firmware and changed it because they only use 20awg wire for the heated bed (two terminals are not even used so no load sharing is happening). So, they changed the bed voltage to some ungodly low number inside the "7.8" FAKE Sailfish.

Besides you never once answered the problem of where in the heck is the PID numbers for the HPB, regardless if they pertain to this problem or not. Why didn't you? Because they don't exist to the public and for that you have to fuind it in the source and change it unlike a simple change for the hotend.

Good day.

DarkAlchemist: Seeing the original abusive text of your comment before you modified it, and personally knowing Dan....

I seriously suggest that you owe him an apology. You clearly do not know what you're talking about it, and you need to realize that Dan is giving you help which he is not paid by anyone to give and is doing it out of his generosity. He's also correct in this matter.

It's free software, you can choose whether you use it or not, and if you don't or don't like it....
well no-one really cares as there are plenty of people who use it and don't have issue.

If you happened to purchase a printer from a vendor that chose to use this software, then your beef lies with them not Dan, he did not ask them to leverage this open source software to save development costs.

Abuse directed at the wrong person won't gain you anything here and frankly results in less help.

Jun 2, 2016 - Modified Jun 2, 2016
dnewman - in reply to DarkAlchemist

Once upon a time RepG used to properly display and allow changing of the PID for the HBP. (I believe it still works correctly for the Cupcake and Thing-o-Matic.) MakerBot then broke it when they introduced the Rep 1 (of which the QiDi is a clone). I even have a fix for it, but have not felt up to publishing yet another rev of RepG 40rXX - Sailfish. The commit is here,


Why didn't I answer where the PID numbers are? Because (1) they are public for anyone who bothers to look, and (2) they are a red herring. But since you seem to insist, I'll save you the effort of looking,


Also, keep in mind that Sailfish is intended for a very narrow range of electronics and printer designs. As such, the overwhelming majority of Sailfish users never need to change their PID settings. And Sailfish is intentionally this way: by heavily narrowing the focus, the firmware can be better tailored. If you don't like that, then you shouldn't use Sailfish and instead use one of the firmwares meant for tinkering.

Jun 2, 2016 - Modified Jun 2, 2016
DarkAlchemist - in reply to dnewman

That last statement I must confirm that I agree with it.

Now when I asked where the PID numbers are I didn't mean in Sailfish itself that I have to compile I meant where are they in RepG since they are in your face for the hotend. I would have thought Sailfish would have both exposed to the enduser like that in case it does need tweaking for that last 10c). I found it ironic that they are there for it but not the other as well but with your explanation I see why (I also see why to a lot of other ????? I had on the github page you linked).

As far as PID goes I find the HPB to be pretty stable, and the hotend not as stable as I am used to with Marlin's auto tune and some tweaking but after tweaking the numbers via RepG I had to roll back. The numbers are so much lower than in Marlin they didn't make as much sense to me (a lot more digits too).

I guess I am just used to Marlin and anything that doesn't detach me so much. I have learned my lesson that if it uses a Mightyboard to not buy it since that board is made to keep the end user in the dark. Just plug it in and it should work but maybe not optimally. Noob friendly but for anyone used to the DIY mentality it is just frustrating. Luckily Mightyboard's claim to fame is outdated now since we have faster boards that can do all of the math on the fly whereas 4 years ago we were stuck with 8bit avr boards that would struggle doing some of the math (reason a Ramps based board on a Delta printer is holding the Delta back from its full potential).

Let me add Makerbot is soon to go away as is being reported by a lot of people/news sources due to their 8 sales total per day world wide and with that the end is near. While I am full of joy over that I am sad that Thingiverse will probably go with them.

Realize also that Marlin doesn't implement the entire PID algorithm. Nor does Sailfish. It seems that the AVR 3DP firmwares all implement some subset of PID. Thus, experience with tuning PID in one firmware doesn't necessarily carry over well to a second firmware. This is definitely the case between Marlin and Sailfish. In Sailfish, the I term is effectively wound up faster. (I believe the same is done in a couple of the RepRap firmwares. Keep in mind that RepRap Gen 3 and Gen 4 electronics were used both by the RepRap world and MakerBot and they all shared the same firmware. The MightyBoard firmware was a port of the Gen 4 RepRap firmware and the PID implementation was not changed. I believe the same is true of Teacup and a couple of the other firmwares which similarly were branches of the Gen 4 firmware.) Marlin didn't start with Gen 3 or 4 as its starting point and ended up with a different implementation of PID.

I cannot lay my hands on it, but Ryan Carlyle did a nice study a while back of some of the 3DP firmware PID implementations (Sailfish/MakerBot, Marlin, Repetier, Smoothie). It's his findings that I'm basing my statement on about Marlin's PID implementation being both a subset of PID and different from that in Sailfish. I'm most definitely not a PID expert.

Jun 2, 2016 - Modified Jun 2, 2016
DarkAlchemist - in reply to dnewman

I can attest, just by the numbers, that they are different and I know the formula in Marlin was upgraded to use all 3 sets a while back (a while as in the last 2 or 3 years). You would never get a 7 something for P in Marlin.

Here is my PID for my hotend then my bed in Marlin (compare these to those in Sailfish and they are way different):

#define  DEFAULT_Kp 10.91
#define  DEFAULT_Ki 1.40
#define  DEFAULT_Kd 26.38
#define  DEFAULT_bedKp 1602.19
#define  DEFAULT_bedKi 613.45
#define  DEFAULT_bedKd 799.11

Does anyone see a situation where the extruder will cold retract on the XYZ travel?

I am not sure if this is the firmware or GPX plugin, but this g-code will both travel to the position where the hot-end will heat, but it also cold retracts and often strips the filament, and I need to reload.

G1 X-120 Y-70 Z30 F4800

The printer does exactly as it is told to do. If it was told to retract filament, then it retracts the filament. It does NOT check to see if the tool is at some magic temperature beforehand. Moreover, the G1 command you show doesn't indicate E motion (filament motion). So the firmware itself would not have effected any motion of the filament. There had to be some other offending commands beforehand.

However, this isn't a support forum. Please post to the relevant support forum for your printer.

Is this firmware better than Sailfish 7.7 & 4.7 ?

This firmware is Sailfish.

Is there is command to reset the mightyboard?

May 2, 2016 - Modified May 2, 2016
dnewman - in reply to jchristman

Yes. See the s3g/x3g command specification at https://github.com/makerbot/s3g/blob/master/doc/s3gProtocol.md

If instead you are asking about resetting the EEPROM on the mightyboard, then see the Sailfish documentation at http://www.sailfishfirmware.com/doc/index.html

No. I have cleared my EEPROM. My printer will print one thing, then it looses its mind. It will drive the Z-past bottom and start jamming.. Or it will run off x max.. All bad things.

rebooting, fixes it every time.. so I was hoping to reset after every completion or cancel.

If you are talking about 01, it looks like Sailfish ignores this. Is that the case? Or are you talking about another command?

For more reference. I am using OctoPrint and the GPX plugin. I am a software engineer, so I don't mind changing the code if needed. Thanks for the help.

This isn't really a support forum. You'd be better off posting in the appropriate forum for you printer.

That said

  1. Running off X: bad ending gcode which is sending the extruder carriage too far to the left at the end of a print. There's plenty of that out there. Even makerbot released some of their slicers (more than once) with ending gcode incorrect for some of their printers. Also, this can be caused when you have a Replicator 2 and incorrectly use a Replicator 1 profile with GPX. The Rep 1profile uses about 94.5 steps/mm for X & Y and thus to moves 6% too far when used with a Replicator 2 (~88.9 steps/mm).

  2. Running too far on Z: again, bad ending gcode sending the platform down too far. May also be a sign that the actual Z travel of your printer isn't the norm of about 150 mm. That can happen if you use a thick glass plate and then shim things to trigger the Z endstop. Solution here is to change the ending gcode to not travel down so far. Some of the older MakerBot ending gcode used to send the platform ALL THE WAY down and thus often triggered this issue. Best thing to do is do nothing at the end of a print other than to home X and Y. That gets the hot extruder out of the way of the finished print and doesn't try to send the platform down.

Thanks for the help.. I think it was a bad firmware upload. I re-uploaded the firmware, cleared EE then re-entered all the settings for my printer. Then it was horribly worse, running off the ends as soon as I turned it on.

So, in accordance with Einstein's theory of insanity, I tried again expecting different results, and it seems to be happy this time.

I can print more than one thing in a row. There is some odd acceleration settings that seems to stick, because when I start a print, the travel from right rear to front left (right before preheat), is normally about 30% speed on a second print, but once the actually print code kicks in, it goes back to normal. I will tinker with adding come pre-print commands.

The odd part is, the only time it acted up, was when I canceled a print, from the LCD, it started bottoming out the Z. But I expect that was because OctoPrint didn't realize the print was canceled, and was continuing to send commands for the printer. So now I just cancel in Octo.

May 2, 2016 - Modified May 2, 2016
jchristman - in reply to dnewman

Both the z and x run off happen after the print is done. Perhaps 5 minutes later, while it is idling.

If I start a second print. it will usually run really slow and stuttery. It is like there is some leftover garbage. but sending cancels and other commands in the end code doesn't seem to fix it.. :(

None of this happened before I upgrade to this firmware. I did not change Octo. But I love the features. I just want to have end print and cancel print perform a soft-boot to clear out the crap.

May 2, 2016 - Modified May 2, 2016
dnewman - in reply to jchristman

You need to report this to Mark Walker then. This is plain and simple some sort of a bug with Octoprint and the GPX plugin. The printer doesn't on its own just decide to execute motion commands. There's absolutely, positively no way the firmware can just do that out of the blue. It's either corrupted flash memory in the processor and the program execution steps into it and does that crazy stuff, or commands coming over USB from Octoprint + GPX plugin. And MakerBot has seen cases of corrupted flash memory causing weird behavior; however, I don't myself recall cases of the bot actually executing a motion command as a result but it's remotely possible. The obvious workaround to corrupted flash is to reload the firmware. Of course, the flash can become corrupted again if there's an electrical problem with the microprocessor. (And I've seen non-genuine ATmegas on some of the Asian clone boards.)

Realize also that this is some sort of problem unique to your printer. After all, the Sailfish firmware core is what is on MakerBot printers post Summer 2012. MakerBot just put their UI menu choices into the LCD UI. And Sailfish is what CTC, FlashForge, WanHao, etc. have been putting on their printers for several years now. (The entire Sailfish, not just the core which MBI uses.) There's something odd about your printer causing this. More I think about it, it may well be corrupted flash memory.

Mar 20, 2016 - Modified Mar 20, 2016

I have to powercycle between prints. If I cancel, it doesn't not retract the bed, like the original firmware did. And if I try to print a second without power cycling, it will stutter and make noises like it is jammed.

Is there some G-code I can send to fix this?

I am using OctoPrint with the GPX plugin, and Simplify3D for the slicer. Thanks for the assistance.

Hello everyone!
I now use Sailfish a long time and its awesome!
The only one Problem is the German translation!
@sailfishteam does someone can provide me language... Files for translation??

I love this firmware. You did a fantastic job.
I have a question. I have a ffcp with atmega2560 and want to uodate. I checked replicator newest release and it shows that for the ffcp with 2560 7.7 is available version 7.7 r1592, r1416b. Mine shows some generic 012345. Will it hurt to update to the new 7.7 r1592? It is running flashforges mightyboard with atmega2560.

This is not a support forum. Please post your question in [email protected] That's a very active forum of FlashForge users.

hello i have a ctc i installed 7.7 and it is awesome but i cannot use dual extrusion bc when i goto print and it does the priming line it goes to the endstop then goes all the way in the other direction and crashes please help

  1. This is not a support forum. Please join the ctc3dprinters user group at groups.google.com and post there.
  2. You likely did not follow all of the directions from http://www.sailfishfirmware.com/doc/index.html . Specifically, it sounds like you did not write down your home and toolhead offsets before upgrading to Sailfish. Then after upgrading, doing a reset of the EEPROM and then setting the values you wrote down previously. The behavior you describe is consistent with incorrect EEPROM settings, particularly the X and Y toolhead offsets.

Hi Guys!!!
It is the first time I'll update my Flash Forge Creator Dual and need early versions of sailfish, can you tell me where I can find them?

They're all there when you go to upload: just choose the version you need. If you don't see it, then it never existed.

Dec 19, 2015 - Modified Dec 19, 2015

I got CTC Replicator Dual Clone with Flashforge 7.7 Sailfish. It works, but I want to use Makerbot Desktop Software.

I got two problems with that:

  1. I cant enter "Device Preferences". He says "An error occurred displaying onboard preferences for firmware version 7.7.". I already copied the eeprom files to "C:\Program Files\MakerBot\MakerWare\s3g\EEPROM". I can see the "eeprom_map_7.7_0x80.json" file. A little bit down in this directory I can find a file "EepromMap_7.6_0x80.hh" but not the "7.7" version of this file. Its not in the zip-File that I downloaded here. What can I do?

  2. I selected the Device "Replicator (Dual)" in the Makerbot Desktop Software, he can find and connect to the "FF Creator" and start a print. Problem is, he does NOT heat the left extruder to the desired temperature of 210 degree. I selected the print model in the 3d view and choosed "left extruder" for that. Then I put the degree of right extruder to 0 and of left extruder to 210 degree. When I start printing directly or via sd card he will start printing instantly without heating the left extruder... What can I do?

This isn't a support forum. You are better off posting in the ctc3dprinters group in groups.google.com.

  1. You may not have followed all the directions in the zip file containing the maps. Namely the important direction to restart the background services in MakerWare. If you use Desktop, the maps may not work. MakerBot has actively been making Desktop hostile to clones and even modified MakerBot printers. The maps are known to work with the last good release of MakerWare, MakerWare 2.4.

  2. Contact MakerBot if you need support using Desktop; this is a MakerBot Desktop issue and not a firmware issue. (After all, even stock MBI firmware is running the Sailfish core ever since MakerBot's 7.0 firmware release where they adopted Sailfish but put their own LCD UI into Sailfish.) This may be a question people in the CTC users forum can answer; [email protected]

What is the latest version of sailfish? My FFCP comes with version 7.7, but I only see 7.6 in the RepG program?

You're running the wrong ReplicatorG. You must have at least r30 or later of ReplicatorG 40 - Sailfish. Changes made to how some of the web caching is done across the globe necessitated changes in RepG; those changes appeared in r30. Without it, you will not see new releases of the firmware.

See also,


And, you may want to post in the flashforge users' group at groups.google.com. Comments here at thingiverse really are not meant for support.

Any luck with ReplicatorG on windows 10? I'm using a FlashForge Creator Pro which worked fine on windows 7,8. When it updated to 10 it no longer opens the program. I've tried reinstalling and disabling driver signature requirements. There are no errors, it just doesn't open.
Thanks for the help with this

I can use mine on windows 10 no problem. Though I mostly use Simplify3d now since I got that. I'm not 100% sure what is going on with your system. I have a FFCP also.

Yes thank you, it must be an issue with my PC since I was just able to get my laptop to run it on win 10 without issues. Thanks though. Simplify3d works with FlashForge eh? i'll have to check it out. The only thing i don't like about Sailfish is when i transfer from AutoDesk Inventor 2016 to it, everything gets shrunk to about 11% of real size. It's not a big deal, but I've heard it has to do with how AutoDesk outputs stls.

Note that if you are confused about your printer type and tell your slicer that it is a Rep 2 or 2X, then your print size will be off by about 6%. I mention this since lots of people with Asian clone printers mistakenly think they have a Rep 2 or 2X. Or they use GPX do do the gcode to X3G translation and don't tell GPX their machine type in which case GPX defaults to assuming a Rep 2.

I do not run Windows and as such am not in a position to test RepG on Windows 10. You might try posting to the FF users group at groups.google.com and see if anyone has had any luck. You may need to disable andy Windows requirements for replicatorg.exe itself to be signed. That's independent of drivers being signed. Or look in the error log for Windows and see if any error is being logged when you attempt to run replicatorg.exe.

this is a great FW! I plan to extend my printers firmware with a additional temperature controller for a heated build room. Does anyone tried this? Does this requires to much extra computing power during printing? Is it better option to move to a extra MCU and only pass through the data?
Thanks for your input.

I have a FlashForge Creator X that came default with this Sailfish 7.7. Let me tell you, THIS ROCKS the socks off of any marlin firmware. I have a Prusa i3 PRO dual extruder, ran with Ramps 1.4, GT2560, and even my own brew board (which works way better than ramps and gt2560) and I cant get this quality of prints from a MARLIN firmware.

I am just in awe. This creator of this software is bad ass. He took so much time to write this and perfect it. Lets put it this way. It must be this good otherwise MakerBot wouldn't support it nor FlashForge.


Now if only it can be ported to work with ramps, that would be awesome! I'm game if someone can guide me and we can work together to do this. I do know that it will require digipot support and probably different drivers, unless sailfish can use non digipot drivers like drv8825. That would be great too if it could have the flexibility for multiple drivers like the ones that come with flashforge with digipots and the drv8825 and a4988. Not sure if its possible I'm sure it is just by setting a flag digipot_drivers = true if set to false then bypass digipot.


I've got this when I open ReplicatorG:

[17:13:56] Could not load machine 'The Replicator Dual' no machineNode found
[17:13:56] could not load machine 'The Replicator Dual' please check Driver->

Help !

But what's the problem? That is, what problem are you experiencing? RepG issuing warning is normal. As to that warning, it looks like you are using RepG 40 - Sailfish when you are NOT using Sailfish. Don't do that. The warning you are seeing means that you have selected as your machine type --- Machine > Machine Type (driver) --- the machine "The Replicator Dual". Well, that's a non-Sailfish machine. Sailfish machines have "(Sailfish)" in the name. E.g., "The Replicator Dual (Sailfish)". Since you have a non-Sailfish machine selected and RepG 40 - Sailfish no longer includes machine definitions for non-Sailfish machines, you see that warning.

I've got this when I open ReplicatorG:

[17:13:56] Could not load machine 'The Replicator Dual' no machineNode found
[17:13:56] could not load machine 'The Replicator Dual' please check Driver->

Help !

I've got this when I open ReplicatorG:

[17:13:56] Could not load machine 'The Replicator Dual' no machineNode found
[17:13:56] could not load machine 'The Replicator Dual' please check Driver->

Help !

Hey Jetty!
Just got my Rep 2 upgraded to the newest Sailfisn. It is excellent. One thing i noticed wasn't in the firmware (or at least i couldn't find it) was the ability to turn the lights on the machine off during the print. This would be most convenient because I print in the same room that i sleep and the light can be very bothersome. I became very accustomed to turning the light off and going to sleep. If its there, let me know, if not, FEATURE REQUEST! Thanks!

We'll put it on the to do list. Issue is there may not be sufficient program space to add it for printers with ATmega 1280s. For the past 18 months or so, it's been a constant fight to do anything owing to there literally only being a few bytes left of program space on some of the 1280 builds. Rep 1 being the tightest.

Jul 16, 2015 - Modified Jul 16, 2015

Hi, I downloaded this but when I went to extract the files for the windows version I kept getting file path and file names being to long to continue errors. Any suggestions on how to correct this.
Thank you

I'm running win 8.0 I will try to use a win 7 system. I had problems with the makerbot desktop program also. It might be the in the settings on laptop I'm using.
I was trying to do the update to sailfish and going from the install doc on the Jetty page it mentioned downloading the MB desktop program to get the dual extruder offset setting.
The main trouble I am running into is that my CTC was build last year after all the software and updates listed in the instructions are ether out of date or cant be downloaded.

Well, you use MakerWare / Desktop if this will be the first time Sailfish is installed on the printer. I have no idea what firmware CTC initially installed on your printer. If it was MBI's 7.x firmware, then you should do that step so as to preserve your X and Y toolhead offsets (assuming they've been calibrated). If the original firmware was Sailfish of some flavor, then you don't need to do that. And, of course, you can always re-calibrate the toolhead offsets if/when you want to do a dual extrusion print.

Yes, it would be the first install of Sailfish. It cam from CTC with ver 7.2 firmware. I read what people were doing with this printer and most said to do a step by step firmware update (which I did) I got to 7.5 and it corrupted my prom. The printer would not boot. I finally got it to start after I loaded a makerbot firmware 7.2.
When I downloaded the makerbot desktop 3.7 software bundle from their site. When I went to install it, I got to the screen choose what components to install. 2 components were listed makerbot desktop and makerware for digitizer. But I could not select the box to install the desktop. The only selected component was to install the makerware for digitizer (it was checked) and in the section showng how much disk space needed was 0.0kb. I tried to check the desktop option it was not possible, and the makerware did not show it would install any thing, I unchecked it and the space required did not change. So there must be something wrong with the software I downloaded. I deleted t and redownloaded it. Same issue, tried on another computer, same thing. I reached out to makerbot and not reply. and when I tried to download a older ver I was not able to find a working link.
I'm not sure if the dual extruder offset settings survived the initial firmware curuption. I not sure if I do the Sailfish update if any of this will work.
I am lost and the only for sure thing I have is a printer that is just sitting here.

You might want to post in the CTC forum for help. These comments are a very poor vehicle for doing support. Also, from time to time, I post the links to old MakerWare downloads. I know one of my postings for the final version of MakerWare 2.4 has been reposted at least once over in the WanHao forums at groups.google.com.

Oh, I'm sorry. I am new to this. Thank you for your help. Take care

Unzips just fine for me on Windows 7 64bit. I'm not a Windows user; I have no idea what you might be doing wrong or what sort of error you might be seeing. I just double click the .zip file and then drag the folder "replicatorg-0040r33-sailfish" to my Desktop. Then on the Desktop, I open the folder "replicatorg-0040r33-sailfish" and in it double click "replicatorg". At that point, ReplicatorG starts running and everything just works. You cannot move replicatorg out of that folder; it must be in that folder to run.

Jun 2, 2015 - Modified Jun 2, 2015

I just downloaded Sailfish 0040r30 in hopes of installing it on a Flashforge Creator X Dual clone sold by MonoPrice. I have confirmed the chipset to be atmega 2560 and the: "FF Motherboard is CreatorBoard_REV D 20140320"

First, will Sailfish work with my machine? The instruction's hardware requirement section does not include my "REV D". It specifies only REV E, G, & H.

Second: when setting the Machine Type I only see the "The Replicator Dual (Sailfish)" option. There is no similar option without the (Sailfish) option. The YouTube Video: "Getting Started with the FlashForge Creator X: Upgrading to Sailfish Firmware" specifically shows choosing the a Machine Type without the Sailfish option. That video is using version "FF Creator - ReplicatorG-Sailfish-0040r24" while mine is 40r30

Thanks for any help you can provide.

No idea if it will work or not on a MonoPrice clone of a clone. See if there is a support forum for the printer and ask there.

RepG 40 - Sailfish is ONLY for printers with Sailfish. So, naturally, it only has profiles for Sailfish printers. Moreover, if you use it with a printer with MBI firmware and connect over USB to the printer, it can mess up some of your EEPROM. That because before MBI abandoned RepG 40, they introduced some bugs into the driver for printers with their firmware. So, if you introduce a non-Sailfish profile using the driver for MBI firmware, then you may mess up some of the calibration settings in your EEPROM.

Jun 26, 2015 - Modified Jun 26, 2015
vronp - in reply to dnewman

Thing 393155, which references Sailfish, includes a BOM with the following link:


This is the same version "FF Motherboard is CreatorBoard_REV D 20140320" mentioned by TimOdell.

So, is this not the correct board to use on 393155 and/or 612857 with Sailfish? If not, I need to return mine.

If you want to use Sailfish, then that is a good board to use. It's what I've been using.

Can i slice with cura, if i install the latest sailfish from here to my creator pro? I bought it a few months back, not sure about the current firmware version


This isn't a slicer support forum. Please consider posting in the flashforge forum at groups.google.com. However, the answer to your question is, "yes". But you'll need to convert the gcode to x3g with gpx.

Thank you! I was looking for confirmation to some posts I came across, and this was more than I asked for :)

Comments deleted.

@dnewman I've seen lots of new commits on the GitHub repo lately, are you planning to release a new version soon?

There will likely be a new release sometime in 2015. But no definite plans. The recent changes are mostly tentative changes for supporting new electronics and bots (e.g., Panucatt Azteeg X3 and Raffle's Clone R1 [which does NOT use an Azteeg]).

May 17, 2015 - Modified May 17, 2015

Hi guys, my printer has an ATmega 1280 board and when I try to upgrade to sailfish, I don't see the option for my boar.how can I upgrade?

If your board isn't one of those covered in the Sailfish documentation, then Sailfish doesn't support your board.

my board is supported. The problem now is that I have two white lines in the printer.

Which strongly suggests you loaded the wrong firmware. E.g., loaded Rep 2 or Rep 2X firmware on an Asian clone printer which merely looks like a Rep 2 or 2X but isn't.

However, this is not a support forum. Please find the support forum appropriate to your printer and post there for help. On groups.google.com, there are forums for WanHao, FlashForge, and CTC printers. Likely for the MBot3D as well.

Thank you! The firmware brought my Creator back to life. Well, it wasn't dead but it was spitting out poor quality for sure. Now its great.

Hi guys,

I have installed the latest version for mac and changed the firmware update URL in preferences. But when I select update firmate i just get an error saying Firmware.xml not found. Does anyone know what to do to fix this?

Thanks in advance

I just checked to make sure and things are working for me. I moved ~/.replicatorg/firmware.xml, launched RepG, and it pulled
the latest firmware.xml file from


You might try restarting RepG. Also make sure it says "ReplicatorG - Sailfish - 40r30" across the top of the main RepG window. It MUST be r30 or later owing to changes in Cloudflare, a widely used caching system for web servers and used by yolasite.com.

Also, make sure you aren't behind a firewall. You can also put


into a web browser and see if it can see that file. (Your web browser may be configured to use a proxy in order to get past a firewall.)

Hi dnewman,

Thank you so much for your help! The problem was that I was using 40r28

Hi Jetty,

I have done some modifications to my CTC printer and now I'm working the Y axis setting, for my design to work properly I need to change the Y stepper direction. I can swap the wires but I was wondering if there is a way to do this in the firmware?
Any advise will be appreciated.



You are better off doing this at the hardware level. That way, you don't have to worry about making the firmware setting whenever you reset your firmware settings.

However, this is easily done from the firmware level. Just use RepG 40r30 - Sailfish (a download of this thing). In RepG, select the correct machine type (Machine > Machine type (driver) > Replicator 1 Dual (Sailfish). Then connect over USB. Then in RepG select Machine > Onboard Parameters. In the popup window invert the setting for the Y axis on the tab with the axis direction and endstop settings. Then commit the changes.

Successfully upgraded my CTC Replicator clone to sailfish with no issues! Thank you for this awesome firmware, it really is amazing to be able to control speed and temperatures while printing! Love it!

Could you give me a step by step? What I have found online is a bit confusing...

Mar 9, 2015 - Modified Mar 9, 2015

Moved to support-forum!

I read about the fact that many of You users cannot update to sailfish. The problem is the firewall in win7. You need to configure the firewall before trying to download the drivers. The first step is to shut down background services in Makerbot desktop. You click services in the menu.. And select stop background service. Then you push the start button and select the control panel. You open firewall and select advanced settings. To the left You then select incoming traffic. And then to the right select new rule. Program is preselected in the next screen. Push next and in the following screen you need to select the path where you installed the replicatorG recommended for your update as described in the installation documents. Now that you are finished. change the update path in replicatorG. And then push reset all preferences. ReplicatorG will shutdown. And when You restart the update will start aswell. And you will be able to see that replicatorG will download sailfish.
regards Magnus Norrman

Feb 27, 2015 - Modified Feb 27, 2015

Stopping the conveyor automatically greys out the ‘Upload firmware’ feature. I have got several conveyor errors trying to update to 7.4. even after pressing the reset button.

Unless you have a thing-o-matic, you cannot upload Sailfish using MakerWare. That's a marketing decision by MakerBot. So the rules are

  1. Note that this isn't a support forum. Please use the support forums for help.
  2. If you want to use MakerWare or Desktop to install Sailfish, contact MakerBot support.
  3. If you want to use the documented method of installing Sailfish, then follow the documentation. See http://www.sailfishfirmware.com/doc/index.html .

It's excellent. The ability to change the extruder temperature and speed is very handy but please could you also add the ability to change the platform/bed temp whist printing?

Create calibration model thing (661827) because script for calibration dualstrusion is not work for me 8(.
This thing has relative X/Y offset (base for 7/7 in calibration software)

Is it possible to get PWM on M126? I am using it for a laser but its seems to be only on/off. Thanks for all the hard work on this, my printer is printing beautifully...

No. It's not supported by MakerBot gcode usage nor the X3G protocol spoken by MakerBots.

people still use this firmware? For the life of me I can't seem to update the sailfish firmware. Keeps timing out. I downloaded the latest replicator g from here 40r30. I disconnect repg from the printer (but with the usb cable plugged in) and I go to update firmware. Not sure to select 2x or 2x + atmega 2560 so I try both. Same results with either both. The printer reboots once I click upload and it doesn't do anything after that. it reboots almost immediately too after clicking update.

I gotta say I'm having second thoughts about sailfish. Why am I going thru this much trouble to get sailfish ?

I have Wanhao duplicator X4 DH - same Replicator(dual)
and no problem with sailfish 7.7 firmware =)

Not that this will help you terribly, but I recently installed it on my Rep1 & Rep2x, both installed without a hitch. Rep1 was on mac, Rep2x was in windows. What printer / os are you using?
Is it worth it? Absolutely, so many more usable options in the firmware, bigger SD cards with subfolders....

I am with AK_Eric on this even though my Duplicator 4 doesn't seem to like Sailfish fw. I have been wanting to retry it since I have most the kinks worked out of my printer.

Ok I typed my comments in a little too quickly. I just got it working. I guess you really do have to follow the manual in detail, 1 step at a time. And yes now that I am running it, it is absolutely worth the upgrade. I think what tripped me up initially was I went to replicat.org to download sailfish and I guess old versions don't work anymore (the way it handles downloads from the download site) but they left it on the site. Someone needs to do a little cleanup work and just move those to an archive location and refer back to this location for latest files.

Anyone know if this bad boy will work on the new Monoprice 3D printer? It looks to me like a clone of the Rep Dual, (looks identical to a FlashForge). Thanks much!!

No clue. However, make sure you know where to find the original firmware should you attempt to upgrade and find it doesn't work.

Hello. I use ReplicatorG-sailfish-0040r28, when i press button "upload new firmware", there is a next bug: " The firmware description file 'firmware.xml' was not found. You may see this message if you're running ReplicatorG for the first time and are not connected to the internet, or if you are running ReplicatorG on a read-only filesystem. What should i do?

Use RepG 40r30 - Sailfish which you can download from here. Yola.com changed how data is served out from yolasite.com and that required a change to how RepG fetches firmware files. Revision 30 of RepG 40 - Sailfish has the required change.

I wanna know if the Flashforge Dreamer is supported and if not will there be any plans for support?

The Dreamer is closed hardware, closed source. No it will not be supported and, as long as it remains closed, there are no plans to support it. Cannot support hardware for which there is no documentation on the inner workings.

I see well thanks for answering anyways.

Just upgraded my The Creator. Thank you Jetty.

replicatorg-0040r23, replicatorg-0040r24 and replicatorg-0040r28 gave the same result when generation gcode red error:
gcode sourcereplicatorg.app.gcode.MutableGCodeSource@???????

windows 8.1 or 7 gave no better result.

Still a FFF error when generating gcode, useless print!

gcode [email protected]
[16:08:35] printomatic 5D sf other
[16:08:37] Beginning toolpath generation.
[16:08:37] printomatic 5D sf 50

using windows 7 and duplicator 4.
a solution please

Don't use RepG for slicing: the slicer in it was abandoned in April 2012 by the Skeinforge team. MakerBot abandoned RepG in October 2012. The only reason Sailfish needs it is to install Sailfish on Replicator-style bots. MakerBot Marketing decided to not allow MakerWare/Desktop to install non-MBI firmware on Replicator-style bots. However, they allow MakerWare/Desktop to install Sailfish on Thing-o-Matics and Cupcakes.

Note also that this is not a support forum. Try the makerbot-users group at groups.makerbot.com.


There's no firmware running on your bot and so the LCD display is in it's uninitialized state,


Contact the folks you got the printer from; something went wrong when you tried to change the firmware. (For example, if you pressed the reset button after the firmware download had begun.)

Is there any way to change the filament partway through a print? I would like to print various layers in different colors, but I haven't figured out a way to resume the print from where I would like to pause it and have it continue.

If you do not have the LCD display module, these instructions won't be much help.

To pause and change filament, do the following:
1) Hit the X button (2nd row, 2nd from the right)
2) Choose pause at Z positon and set the height at which you would like to change filament
3) Use the "Rev" and "(Fwd)" keys (2nd row, 2nd from left and 2nd row, right most)
4) run out the old filament
5) run in the new filament and resume printing using the cancel key (2nd row, 2nd from right)

Is there any way to change the dimensions of a printer? I have a Replicator 2X that has been heavily modified (new extruder carriage and build platform) and would like to use sailfish on it, but I can't find the options in the onboard preferences menu.

Using RepG 40rXX - Sailfish, modify one of the machine definition files (.xml files) to match what you have. Give the machine type a different name in the file. Save the file. Restart RepG. Select this new machine type (Machine > Machine Type (driver), then connect to the machine over USB. RepG will update the bots EEPROM with any axis lengths, max feedrates, or stepspermm values that differ.

I have a Flashforge with Sailfish installed. Everything works (I can jog, extrude, etc.) but every time I try to "Build from SD" the screen kind of freezes for a couple minutes, then goes to a blank screen for a couple minutes, then shows just the little selector arrow. (If I try selecting "Build from SD" without an SD card in the slot, it goes instantly to the screen with just the selector arrow).

I'm using a 2GB SD card. I've tried formatting it as NTFS, FAT, and FAT32. I've tried .gcode, .s3g, and .x3g file types (made with Makerware), and .stl, .igs, .rpt, and .sldprt made in Solidworks. Even if there are no files on the SD card, trying to open it up also goes really slow.

If we can't get the SD card to work, could you all direct me to instructions for communicating directly with a USB cable? Thanks!

Contact FlashForge for help on using your printer. (They support Sailfish; for the past year roughly their printers have shipped with Sailfish.) Failing contacting FlashForge, try the flashforge users group at groups.google.com. These comments here are not a support forum.


Please help. I have flashed my duplicator 4x with sailfish. all went fine. went to print my first object.

1) the heat settings on the BOT were different than what i set on the repg
2) printing with the right extruder the bot started printing the model off the heat platform all the way to the right

How can i correct these two errors.


You failed to follow the complete install directions. See the directions at http://www.sailfishfirmware.com/doc/index.html . For example, you missed the step about resetting to factory defaults and as a result you have "override gcode temp" on. (It's off by default.)

Note this isn't a support forum. You would have gotten a much faster response had you posted to the jetty-firwmare or
wanhao user groups at groups.google.com.

If i am using Sailfish/Replicator G on my MB2, should i install the makerware firmware updates? will that over ride the sailfish firmware? (sorry if this is a dumb question....)

Any firmware you install to the bot overrides the firmware on the bot. If you don't install it to the bot, then it cannot override the firmware in the bot.

how can I use the AUTO_LEVEL function?

See the Sailfish documentation at www.sailfishfirmware.com.

Sep 16, 2014 - Modified Sep 16, 2014

Another Flashforge converted. I really love the bigger SD support which open the opportunity for Toshiba FlashAir wireless SD.

One feature request. Since I got my wireless SD working, is it possible to have some special file or folder on SD card to auto start the build. Like a folder name "Queue" on SD and if I dropped any files on that folder, the printer will auto move it some location (so it know what is already processed) and auto start printing. This way it will be completely remote and no need to go to the printer.

Hey can someone please save a EEPROM from his Makerbot Replicator Dual to his sd and upload it because I cannot connect my Printer to my PC anymore and I tried to delete the EEPROM but now its so loud and doesnt print so smooth. So if someone can do this so I can use his or her EEPROM that would by great

I wonder if its is possible in the firmware to run both cooling fans when printing with only 1 extruder?
I got the replicator 2X and have problem with heatcreep printing PETT.

I have put thermal grease between heatsinks and alu block and this helped a little but i want more air blown :)

Set the setpoint temperature for the cooling fan to a low temperature such as 10C. Do that with RepG's Machine > Onboard Parameters. You may also be able to do it via MakerWare. The temp is, if I recall correctly, under the extruder tabs.

I see only the PID parameters under the extruder tabs :/

I know this setting was in stock firmware somewhere.

Any more tips?

Thanks :)

The setting is identical in both MBI's stock firmware and Sailfish. If you prefer using the technique of the "stock" firmware, then install the MakerWare EEPROM maps for Sailfish. They are a zip file which you can download from this Sailfish thing. There's a README file which tells you how and where to put them. (Note that MakerWare 3.x includes these files for up to Sailfish 7.6.)

Then, use MakerWare's Machine > Onboard Parameters. Find the section for the extruders. May have a name like "T0 Data".
In that, there's "Cooling Fan Settings". And in that, there's "Setpoint C". You can set that value to any value between 0 and 300. Do not set it to 0 as that may actually disable it.

Aug 11, 2014 - Modified Aug 11, 2014
Cadplast - in reply to dnewman

Yes installed eeprom maps, and there the setting is, i found it.

But dont seems to respond to my setting? i set it to 26 degrees celcius but second fan still does not start.

EDIT: i set both the T0 and T1 parameters, i guess its for extruder 1 and 2?

Am i doing something wrong? Makerware said that the setting was a success?

Your help is very appreciated, thanks

You really should take this to the jetty-firmware @ groups.google.com which is the forum intended for such issues. These comments are not a support forum. Second, the extruder has to have a temp of 26C or more for the fan to turn on. What temp. shows for that extruder? If you've disabled the extruder (by setting the extruder count to 1), then the fan won't run at all as you've told the electronics that it does not exist. And, it's possible that there's a bug in the code. I strongly doubt that MakerBot ever tested this particular code and this code is identical in Sailfish (since it's the same code).





Aug 9, 2014 - Modified Aug 9, 2014

I just loaded the newest firmware. Now whenever I start a print my flashforge overrides the temperature in the gcode and prints at 230 always how do I fix this?

Figured it out. In utilities>general there is a setting to override GcTemp which was on by default I dont know why anyone would want that on by default but anyway I fixed it.

Well, truth be told, that option is NOT on by default. That it was on for you indicates that you missed one or more steps of the installation and configuration directions. You need to go back and review them and make sure you did not miss any important steps. In this case, you missed an important step about resetting the printer to factory defaults: you have EEPROM with the settings for MBI's firmware, not Sailfish. As such, you may have all sorts of crazy values as Sailfish maps a block of 8K bytes
of EEPROM on top of it's view of the EEPROM.

For install and setup directions see


Hi, any v7.7 release for flashForge Creator? When i try to update using "ReplicatorG Sailfish 0040r28" can only see the actual v7.6.

Thanks for the great work!!

v7.7 is in beta test. You're not using the beta test URL which for understandable reasons, should not be posted here. Otherwise, new users may try to use it when they probably shouldn't....

opss, sorry i did not see the "PRELIMINARY" text. Thank you :)

How hard is it to install the original software for the Makerbot replicator after installing Sailfish? Also, I guess, how hard is it to install sailfish? This looks like amazing software.

Install guide for Sailfish is at


As to installing MBI's firmware, you'd have to ask them, no?

I had some problems with the timing of the reset of the CTC creator dual when trying to update the firmware to sailfish. but I got around this bu using the XLoader applicaton http://xloader.russemotto.com/ just find the right .hex file in the update xml file

I installed replicatorG and sailfish like the instructions, and set up a custom profile in ReplicatorG, however i can't change the hot bed temperature so it looks like for now I have to stick to makerware. I'm using a replicator dual knockoff but it has mk8 extruder. There is no option anywhere to change the bed temperature just automatically goes to the default abs setting which is 110 and I can't override it from the bots menu.

MakerWare is a better slicer than RepG, so nothing lost by sticking to MakerWare.
With RepG, you're expected to either hand edit the gcode or make your own start.gcode file when you wish to change the HBP temp from the default start.gcode file. You hand edit the gcode by going to the gcode tab in the main window after slicing and then changing whatever you want to change.
And, you actually can override the HBP temp from the bot's menu. Use Utilities > Preheat Settings on the LCD display to set the desired extruder temp and HBP temp. Then enable the "override gcode temp" feature from Utilities > General Settings. After you do that, when you print the pre-heat temps will be used in place of the temps in the gcode.

Thanks for the firmware, works a charm on my flashforge creator dual and the prints come out much better! Hat off to you!! Nearly fried my machine though and got the blue squares which makes the HBP heat to 200+ automatically and keep on going, hence the frying!!!, so all i did was to let it cool down, 1hr, install sailfish 40r23 again but left the firmware to download properly! until the last lines of the code displayed in the installation page came up in my log region in replicator! Feels like i have a new machine now! Cheers and keep up the good work!

Firmware install success. however Replicator G 0040r24 (or any version) does not contain an “Onboard Preferences…” via the "Machine menu", as per Setup A1 http://www.makerbot.com/sailfish/setup/http://www.makerbot.com/sailfi... How can I change the X Max value without this? On a Mac, windows Replicator Software doesn't run at all on Windows XP.

This firmware can be used on Reprappro Huxley?

Only if you install Gen 3, Gen 4, or MightyBoard electronics.

Sooo is it possible to change the little tune that plays when a print is finished?

You can change your gcode to not play the ending song at all. There's only four choices

  1. No gcode to play a tune
  2. gcode to play the print done song, M72 P1
  3. gcode to play error tone A, M72 P0
  4. gcode to play error tone B, M72 P<any 0="" 1="" or="" other="" than="" value=""></any>

I have a CTC Makerbot Clone, can i use your firmware ?

We don't own CTC's; we don't know. Ask around in the CTC user forums if anyone is running Sailfish. If the CTC's truly can run MBI's firmware, then they can run Sailfish.

Well I downloaded this and uploaded the firmware to my flashforge. It no longer works. It just comes on to a blue screen with a bunch of boxes. Brand new motherboard ruined. Thanks.

  1. Why do you think your motherboard is ruined? Just download a different firmware. The firmware does not alter your bootloader; it does not alter the USB firmware on the 8u2 USB chip either. Thus, you can just download a different firmware. No big deal. I've even accidentally put the wrong firmware on my Rep 1. I just put the correct one on and all was well. If you are not comfortable doing these sorts of things, then you probably shouldn't be changing the firmware on your bot.
  2. Plenty of FlashForge users are using Sailfish; just check out the flashforge forum, [email protected]
  3. Install and setup directions for Sailfish can be found at http://makerbot.com/sailfish/http://makerbot.com/sailfish/ .
  4. lovethepirk has posted very complete install and setup information for Sailfish to the FlashForge forum. He even made a video. You'll need to search for his postings.

Yea you're right. I couldn't upload new firmware though (or really do anything for that matter) so I just thought that was it since it was the last thing I did and I'm new at this. However, I took a look at the motherboard and it looks like there was a small fire, so that would explain why I can't just download new firmware. I had probably just got a defective board from the factory I'm thinking that just chose that time to crap out.

Wow. Is this the replacement board for your FF board you reported as burnt in January? If this has happened twice in the same place -- HBP power -- then maybe the HBP is defective. For example, if the resistance is too low on its traces, it will draw more power than it should. Also, when the motherboard board was replaced, the wiring harness should have been replaced also: the end on that scorched connector may itself be damaged and have insufficient contact area. That causes increased resistance and thus abnormal heating at that reduced contact point.

And there is a rare event which happens on AVR processors: something goes wrong with the .hex file download and the bootloader itself gets nuked. Since that first runs when you start the bot, even when you're not downloading firmware, this then makes the uprocessor not work correctly. It starts the bootloader which, when no download happens within a few seconds, is supposed to then start the bot firmware. But if the bootloader is nuked, the bot firmware never starts. This unfortunate event has nothing to do with the particular firmware. It is just some sort of comms error which glitches the desktop / avrdude / uprocessor comms. We've see this come up now and then on the makerbot-operators forum even with just MBI firmware. And it comes up over in Arduino forums as well. If this has happened, it takes an AVR ISP programmer to put a new bootloader onto the processor. It's not rocket science, but isn't something most people are equipped to do.

Thanks for the insight and help Dan. We actually ended up replacing the HBP wire that first time also. This time we ended up just using that old motherboard I had and soldered the extra connector on it to the HBP and it works now. Keeping my fingers crossed on it not happening again.

Is there any way of turning the lights on or off during a print? I liked to do that when I went to bed but cant seem to find it in the menu since changing to sailfish

You clearly have not discovered the menus for changing things mid-print. While the print is running, just press the "M" button. The print monitor screen goes away and you have a new menu of things you can do. Scroll down. One of them is doing a cold pause on the bot: it pauses the print, turns the heaters off, and turns the LEDs off. However, if you are printing with a plastic which requires a heated platform, your print may release from the platform over night.


thanks for the reply dnewman, pause and cold pausing doesnt give options to turn on the light after you start the print with the light off. Its impossible to sit and watch the machine on 16 hour prints ;) (toilet breaks at least lol)

ie. i start the print at night before bed with LEDs off, when i wake up i want to see the print in action but cant find a way to turn the LEDs on, makerbots stock firmware had an option to do this

I just cancelled a print and the head hit the left side of the Rep 1 when it was "Clearing the build area". Is that a bug?

And, if you cancel a print before homing has completed you WILL get odd behavior, even with MBI's firmware. Problem is that the coordinate system has not yet been defined until after all homing is finished. Thus, if the bot tries to clear the platform undefined things may happen.

This is not really a support forum. Please post over in the jetty-firmware or flashforge or makerbot-operators forum. This suggests that you did not complete all the install and setup steps.

I'm having trouble uploading the sailfish firmware. I'm on a ToM MK7 with mega2560 motherboard. I downloaded ReplicatorG 40r23 on my linux machine, changed the firmware site to Jetty's, it downloaded all the files, and I went to upload the firmware. After selecting the correct firmware, I hit upload. It instantly fails. I tried the reset trick, hit the reset then upload, hold reset, release and immediately hit upload, tried both of the above and hitting upload at the same time, tried all combinations of timing etc etc. It always fails instantly. What am I doing wrong?

resolved it by uploading from OSX.

Does sailfish have the replicator 2 bed leveling scripts via menu, if not where can i find them, would i run from the sd card. I had it installed but could not find the leveling scripts, so i moved back to stock firmare, i still want to install sailfish though

Yes. Utilities > Level Build Plate. Note that it's a very versatile leveling script: with your hand you move the nozzle/carriage to any point on the build plate where you want to check the gap/level. And you move it wherever as many times as you want. When done, you press the "M" button. So, it's not the same script that MBI uses that only allows to check 5 points.

nozzle calibration does not work ?

What exactly does not work? Be sure to see


New for the Replicator 1 and 2 (MightyBoard)

Specific to Replicators, changes have been made in two areas. First, the addition of new safety features which are explained in the section New Replicator safety features. Second, the removal from the firmware of the Nozzle Calibration scripts as described below.

For Replicators, the Nozzle Calibration scripts have been removed so as to free up program space. These are the scripts which print the calibration lines used to calibrate the nozzle spacing of Replicator 1 Duals and Replicator 2Xs. These scripts are now accessed via ReplicatorG's menu "File > Scripts > Calibration > Replicator 1, 2 & 2X". Owing to the difference in nozzle spacings, there are two Nozzle Calibration scripts: one for the Replicator 1 Dual and another for the Replicator 2X. Run the correct script for your bot. You can also save the script to an SD card and run it from the card.

After running the script, use the bot's onboard Nozzle Calibration menu found under the Utilities menu. That menu will allow you to enter the X and Y calibration numbers as per the directions at Makerbot's Nozzle Alignment directions (http://www.makerbot.com/support/replicator/troubleshooting/nozzle-align/http://www.makerbot.com/suppor...

Finally, these comments are really not a support forum. Please use the [email protected] forum. Or [email protected]

ok, I will see if i dare try the replicatorG software again, last time, it tried to move the stepstruder out of the machine :o)

That symptom usually means that the setup directions were not correctly followed. Usually the "reset motherboard to factory settings" wasn't done from RepG 40r22 - Sailfish's Machine > Onboard Parameters. It can also happen by using the wrong slicing profile such as using a slicing profile from a Rep 2 on a 2X. That because the Rep 2 can park the extruder farther to the left than a Rep 2X can. So, you have to be sure to select the correct machine type in RepG. And if you try to use someone else's slicing profiles (e.g., Wingcommander's Rep 2 profiles), then you have to adjust them for your bot's geometry.)

Since you have a Dup 4, I don't know offhand what is the correct slicing profile. I don't myself know if you should be use a Rep 1 dual profile or a Rep 2X profile. However, whatever profile you use will impact where the head is parked while waiting for heatup. And if the head is parked too far to the left or too far forward, then it hits the front or side of the bot. Of course, you can always adjust the start.gcode in the profile to prevent that. But that assumes some familiarity with editing gcode.

thanks. i will check: )

i installed sailfish on a duplicator 4, but i forgot to do the restore saved offsets? what do i do?

Just reset the bot to factory defaults. It's unlikely that that clone came with the toolhead offsets calibrated anyway.

will sailfish be able to run in a cubex trio now or at a later time?

The Cubex Trio is a proprietary bot running proprietary firmware. Unless the Cubex folks port Sailfish to their printers, I would not expect to see Sailfish running on one.

Woohoo! Finally printing with SF on my Duplicator 4. Only pushing 90mm/s but I am still fine tuning the settings. I will be posting a "Made One" once I get my pics uploaded. If I read correctly somewhere...I should be able to run Slic3r???
Thanks so much for the awesome fw guys! More details to come very soon, just wanted to say thanks and mad props!

i installed it also. 7.5 but leveling the bed seem to move the stepstruder out of printing area, crashing at the edge, did this happen to you ?

Did you follow all the setup directions? See http://makerbot.com/sailfish/http://makerbot.com/sailfish/ . On the left of the page is a link to the setup guide. You have to reset the bot to factory defaults and then select the correct Machine > Machine Type in RepG 40r22-Sailfish. Then connect to the bot over USB from RepG so that machine dimensions are sent to the bot.

Did you make sure to install the ReplicatorG software that came with SailFish? I had that issue and am almost certain that is why.. Hit me up in a message as far as the saved offsets thing goes, maybe I can help you sort it out?

im pretty sure i did, however, I got very unsure about which board i was to choose, first time i got it wrong, and choosed one that gave me blank LCD display, second time it got back online working.

can you give me the link to the correct replicatorG software to test aagain?

i use makerware atm

The correct RepG to use is ReplicatorG 0040r22 - Sailfish. It's a download of this Thing here at Thingiverse. That is, it is a download of the Sailfish Thing.

I did the same thing! The Duplicator 4 uses the older Replicator 1 board option when installing/uploading SailFish firmware. I will shoot you an email here soon with a pic of my offset values etc. for you. My carriage did not crash into the wall during bed leveling but rather at the beginning of prints.

The correct replicator G software to use with SailFish is available for download right here, with the Thing files. I am still not sure if SF is the best choice for the Dup4. I plan on doing one more try in the next couple weeks. I just reverted back to factory after another few day test with SailFish.

My main motivation for wanting to use SailFish is so that I may use Slic3r instead of RepG.

looking forward:) thanks

as for the duplicator i have some issues with the nozzle heights, i think it's due that i accidently forgot to move the glassclamps, and the stepstruders crashed with it, i think that caused some minor height adjustments.. I will try to compensate using the shields as a shim

I found out my printer issue...I have been using only the right print head and somehow the Teflon tube inside overheated and shrank which allowed filament to extrude out the threads causing print issues as not enough filament was reaching the print bed.

SailFish will live again on my Dup4...very soon! I will miss the easy bed leveling script that is on the stock RepG :(

Yes, you can use slic3r, KISSlicer, Cura, Simplify3D, Skeinforge, or MakerWare. Maybe some others as well? You will need to use RepG or GPX to convert the gcode to x3g as Makerbots (and hence Sailfish) does not directly consume gcode.

Thank you so much! I shall report my findings with great detail in my Made One (very soon) as well as the Google forums. Be on the look out for a pm from myself via the Thingiverse mailBot, hehe. As I would very much like to contribute to the SailFish crew. Peace and happy creating!

Weird...I was messing around with RepG and Slic3r. I had a couple prints work great running SF, then I had to troubleshoot through some bad filament. After all that...I tried printing again and something went way wrong...the extruder carriage upon print start was running full force into the left hand wall (opposite home on the X axis). I fiddled with it some more and then it did the same thing but this time towards the front of the unit (opposite Y axis home position).
I have reset the EEEPROM and rested for the night. I am going to reinstall the control software (after I ensure no old profiles are left behind) and start from scratch.

Sounds like your X home position of X toolhead offset was not correctly set. Make sure that you are using RepG 40r22 - Sailfish as downloaded from this Thing. Do NOT use MBI's RepG 40 as it actually has some bugs in this regard (setting the home offsets and toolhead offsets). Also, you have to make sure in RepG or MakerWare that you have the correct machine type selected. Otherwise, the wrong build dimensions are assumed and the parking position while waiting for heat up is wrong, causing the extruder carriage to be moved too far to the left and/or too far forward. (That issue is the same regardless of what firmware you use: it's all a matter of the gcode produced by the slicer: if the slicer thinks you have a different bot, then it doesn't know the correct build volumes for your bot.)

4 days into Sailfish and I am reverting back to FACTORY firmware. I have had nothing but issues with my printer since installing Sailfish...and the prints look worse than my tweaked factory settings. Not to mention that my slicing time has increased at least 2x than before SF.

If you're not familiar with using Skeinforge, then use MakerWare. MakerWare works just fine with Sailfish.

Sweet! Thanks very much. I don't doubt I somehow mixed up the RepG downloads. I have it back to stock right now and I plan on loading Sailfish again very soon as I am very pleased with the feature rich and robust SF firmware.
Sadly, I cut my teeth with Slic3r on a Hadron Ordbot and although Skeinforge has many great features and is very tweakable, I find it quite a bit harder to navigate and decipher. I do read (and re-read) the online help so that I may understand Skeinforge more.
Thanks again for taking the time to help me figure out my goof and understand my combination a little better. Also, hats off to you and jetty PLUS the entire community...great bunch of lads all around!

I'm having a problem with my nozzle alignment. I have a Rep 2X running
sailfish. I'm using OS X. I do the test print using an SD card and it looks like I need to change my X to 6
and my Y to 8. So I go to Nozzle Calibration on the printer and change
them, then I hit "Done!". But it doesn't save my changes. When I go back
into Nozzle Calibration they are both back on 7 where they started.
What am I doing wrong? Thanks for any help.

You have an incorrect expectation: the "Nozzle Calibration" screen is not a setting. It's merely how you input the numbers from printing the nozzle calibration script. It will always start showing 7 & 7. It takes the numbers you input and then computes the actual X and Y toolhead offsets and sets those values as the toolhead offsets (which you can see from RepG 40r22 - Sailfish using Machine > Onboard Parameters).

Thanks for the info. That helps a lot. I'll play around with it some more this evening and see if I can get it all straightened out. I appreciate the quick reply!

Is this thing still better than what Makerbot Replicator Duals are set up with or has it become outdated?

I agree with bbence... I've had much better luck on my Rep1 Dual with sailfish than with any of the stock firmwares.

Nope, this one is much better than stock FW.

Dan, Jetty, thanks for such a beautiful contribution. I pulled off my first few 50 micron prints this weekend thanks in part to sailfish.

can you please make it work with printrboard or other boards like ramps? that will open the doors to user makerware with other repraps

Install Gen 4 or Mightyboard-clone electronics on your RepRap. Other folks have gone that route; was just helping someone with a Prusa i3.

When I unzipped RepG 040r22 I saw ReplicatorG-large-models.exe What is that for?

For large STL files that would normally otherwise exceed the amount of memory that Java allows the normal RepG to use.

I flashed my replicator 2 with sailfish and now it will not read the SD Card. I get nothing but a notice saying SD Card read error. So I flashed the replicator back to stock firmware and the card reads fine. I'll try Sailfish again someday in the future, hopefully that problem will be worked out by then

  1. Did you follow the setup directions and reset your bot to factory defaults from RepG 40r22 - Sailfish? Sounds like you didn't and as a result had who knows what settings in EEPROM including a setting to enable SD card error detection. It's off by default. If it was on -- and it sounds like it was -- then that means you did not complete the setup directions. (Install and setup information is found at http://makerbot.com/sailfish/http://makerbot.com/sailfish/ .)

It's also possible you have broken SD card hardware. I've had my Rep 2 get a piece of fine filament down in the SD card slot such that the SD card inserted switch did not work. I could see the fine piece of filament with a flashlight. I was able to blow it out with compressed air. I also saw similar on someone else's bot and tweezers were needed to get it out. It's a problem with how MBI made that slot: debris can fall in it unlike the side mounted slot on the Rep 1.

But why is interruption of the SD card select switch an issue? Because Sailfish depends upon it working so that it can provide SD card folder support. (And FAT-32 support for high capacity SD cards.) Soooo, there's some chance that was your issue. However, not resetting the EEPROM to factory defaults from RepG is more likely the case. At any rate, the Sailfish build for "broken SD card hardware" works on bots with a failed SD card detect switch. You can always run with that instead. Downside is that you do not get SD card folder support.

Oh, and like Jetty wrote -- if SD card error detection was enabled and you were seeing errors, then you may want to fix the underlying issue -- use a different SD card since read errors are occurring with the one you're using. MBI's firmware doesn't check for read errors: it just blindly accepts whatever it gets from the card and has no clue if there was a data error. Sailfish can optionally enable the SD card's error detection handling. If an error is then detected, Sailfish will attempt to re-read the data. If the re-reads for a given chunk of data fails 5 times in a row, then Sailfish gives up. And given that the SD card signal interface on the Rep 1 and Rep 2 is poorly implemented at the electonics level, it's not at all unusual to come across an SD card which is behaving in a borderline fashion: it will work fine in your laptop/desktop which has decent electronics for SD cards, but it will not work well in the makerbot which has poorly designed electronics for SD cards. Fix is to use a different SD card. (I have a stack of SD cards which are borderline in a Rep 2, don't work at all in a Rep 1 which has an even lousier electronics design, work great in my Thing-o-Matic, and work great in my laptop. Exact same firmware on all three bots.)

Sounds like your SD Card or Mightyboard is faulty. Sailfish has extra SD Card checking than the stock firmware does, you can disable it in onboard preferences, but you want to fix the root cause.

I just got my Replicator 2 earlier this week. The card reader works perfectly fine with the stock firmware, and has worked fine on every print so far. But I'm not arguing with you. If there is something actually broken, but it works with the stock firmware then how would I confirm that in a way that I could have makerbot fix it?

Mosty likely scenario is that theres a good chance I might have missed something in the instructions. I was kinda rushing it, I had just unboxed the Replicator about 5 hours earlier. (embarrassed) While I'm not a noob, I'm out of touch with the firmware world enough to feel like one again. (I built a prusa mendel but got sooo tired of always tweaking it, I sold it and bought an Up!)

You could be having read errors and never know it. Some read errors will kill a print (error causes a an invalid command); sometimes the bot with MBI's firmware will simply tell you the card is incorrectly formatted which really means that the read errors were so bad, MBI's firmware couldn't access the files on the card at all; and some read errors will just make minor imperfections which you may never see, especially if they are on the infill (missing G1 or incorrect gcode G1 command). Since MBI's firmware has no way of detecting a read error short of the print out right failing, there's no way to tell from MBI's firmware in the first place.

And, btw, for MBI's latest rev of their motherboard they had to slow down the SD card data rate from 8 MHz to 1 MHz. You may have one of those newer motherboards on which they did make changes to the electronics. It's a "RevH" MightyBoard. In Sailfish 7.5 we went ahead and slowed the SD card data rate down to 1 MHz as well. So, if you were using Sailfish 7.4 and had one of those newest motherboards, it's conceivable that you might have seen an issue. If so, then the solution would be to run 7.5 of Sailfish. (And if it were a problem for Sailfish 7.4 then it would also be a problem for MBI's 7.2 firmware which also used the faster 8 MHz SD card data rate.)

I checked my board. Mine is rev H. I tried sailfish one more time. 7.5 tells me "sd card reads are not going well" as soon as I click the sd card menu. I tried 4 different sd cards, 7.5b says "sd card read error" Same story with sailfish 7.4 and 7.4b. On MBI 7.3 the card reads ok. I havent had any error messages on any prints yet, I did have one tall thin print where a few layers looked melted but I think it was because the edge lifted from the bed at some point. Maybe I'll shoot makerbot support an email to see what they say. Thanks for the help

So, I looked the code over and I saw that it's still using the old 8 MHz SD card data rate used by MBI since 2009. While we updated the code to switch to MBI's 1 MHz data rate for the rev H mightyboard, the 8 MHz was still being used. (The code can build using either, it was building with the 8 MHz variant instead of the new 1 MHz variant.) I've fixed things to actually build with the 1 MHz variant and I will test it now and then upload a new revision in case you want to test again. If you send me an e-mail at d a n . n e w m a n @ m t b a l d y . u s, I'll let you know when I've uploaded it for testing.

Okay, uploaded is r1135 for the Rep 2 and Rep 2X. It should use a 1 MHz data rate. If you try it, remember to reset to factory defaults from RepG. And if it then works, please let us know as that means that MBI's latest revH board is somehow changed such that it cannot handle an 8MHz SD card data rate.

And you remembered to reset your EEPROM to factory defaults from RepG 40r22 Sailfish's "Machine > Onboard Preferences" menu?

I did reset the EEPROM when I last tried it, Sorry I havent tried the new version yet, Had hardware problems I was troubleshooting on my replicator. Found that the factory hadnt tightened the screw on the back left y axis pulley and the rod had worked its way out so that the pulley was slightly off. I dont know if mine came from the new factory or if UPS was rough with it, but mechanically it has needed a lot of TLC. Thanks for the help! :D

Just tried r1135. it works!!! Thankyou very much. :D

Thanks for the followup. Guess this means that MBI did something electrically to the SD card system that makes it not function at the 8 MHz data rate. Could be that they worked on improving the signal integrity -- it was subpar -- but as a side effect, the technique they used cannot handle 8 MHz.

Commands M106 M107 have speed control (PWM) in firmware Sailfish? I can use it as a On/Off command but with the M106 Snnn parameter, speed does not change.

PWM has never been supported by Replicators (regardless of the firmware). On Cupcakes and Thing-o-Matics, PWM for fans has nothing to do with the Sailfish firmware -- fans are handled by the extruder controller which is a separate board with its own processor and firmware.

Thank you again for this excellent firmware! I especially find the [email protected] feature to be extremely useful. :)

I'm currently iterating on a color-chip design that includes embedded magnets (hoops are a thing of the past!), and the repeated printing got me to find out about the "M322" command, but I haven't been able to get it working, especially since I can't seem to find any posted examples of its usage (both for location in the gcode and the format for its parameter).

Also, in fumbling with finding and reading the implementation (https://github.com/jetty840/Sailfish-G3Firmware/pull/34/files)https://github.com/jetty840/Sa..., it appears that it will only accept integral mm for the parameter, but I definitely want to at an automatic pause at a sub-mm precision (to snugly fit the magnets).

Can someone who's familiar with M322 help me by giving me an example of its insertion into the gcode after slicing?

Also, assuming the z-position is in the middle of a layer, does anyone know if the pause occurs before or after that layer is printed? (I've been adding one layer to the height just in case the answer is "before")


Hey Austin! Long time no hear.

You need the in beta test Sailfish 4.4 / 7.4 and RepG 40r16 in order to use the M322. Or, in place of RepG 40r16, Henry Thomas' GPX which also has a meta language for doing fun stuff like interjecting a pause @ Zpos and then knowing that the filament thereafter will have a different diameter.

To find out about the in-beta Sailfish and RepG, see the announcements at the jetty-firmware group at http://groups.google.comgroups.google.com. (You'll need to join to search/see postings.)

As to the format of the M322 (after you have RepG 40r16), to pause at Z=zzz.zz, use the mcode

M322 Zzzz.zz

Ah! That would definitely explain what I was seeing!

Hmm, it's extremely tempting to beta test it, but at least until E3 is past I think I'm going to stick with the current setup. :)

Thank you for the quick reply!

Finally jumped to the 7.3 on a Rep1 (XL) and the upgrade was smooth. I'd been running all 6.x for a while since I couldn't afford any downtime. Printing great!

Thanks for the update John. The next release, 7.4, should be quite low risk. (Famous Last Words, eh?) But the nice thing about it is that it will bring SDHC & FAT-32 support finally.

i have a question, if upgrading repG to new revision in windows, what is the best way to do it? Thanks!

Hi- I got Sailfish installed on my Replicator1, but now the extruder temp reads as NA on the LCD or 1024 from within ReplicatorG. The Troubleshooting page indicated this is something I can fix in the Onboard Preferences dialogue- it suggesed "Override Gcode Temperature" is enabled. I find no mention of this in the dialogue and under the Extruder tab all I find are PID values. Any ideas?

This really ins't a support forum. Please join the jetty-firmware list at http://groups.google.comgroups.google.com.

Hi- I just acquired a Replicator 1 and am installing Sailfish on it. After installing and upon trying to test the extruder I'm having an issue where the extruder reports its 1024 degrees and I'm trying to troubleshoot it. Specifically, on the machine's LCD it says the temp is NA, in Replicator G, it states the temp is 1024 degrees.

The Sailfish troubleshooting page talks about this:
"My bot is heating to the wrong temperature.
You probably have Sailfish’s “Override Gcode Temperature” feature enabled. This feature overrides the temperature set in your GCode in favor of the temperature set in your onboard Preheat Settings. You can set the Preheat Settings to the temperature you need, or turn the feature off altogether in ReplicatorG’s Onboard Preferences window."

However, I am not finding any of this under the Onboard Preferences panel. The only thing under the Extruder tab is the PID values.

Anyone have any leads on how to fix this?

There have been a number of threads on this recently on the makerbot-operators group: your Replicator has one of it's three heater sensors not plugged in, shorting, or intermittently not registering. It could be the wiring connector to the HBP is failing, or one of the thermocouple wires is failing, or one of the thermocouple beads has broken through the kapton tape which insulates it from the heater block, or the wires for any of these three sensors need to be tightened down. But, from the firmware side of things this means that the firmware is having repeated errors trying to read the temp for whichever sensor is being reported as 1024C.

So what should I do? Someone on the Jetty Google Groups suggest I should install Sailfish 7.1. Or do I need to check my connections somewhere? This is a brand new machine. If the extruder is giving the wrong temp, why would the HBP connectors be affecting this?

This isn't a very apt medium for support. Please discuss on the jetty-firmware mailing list @ http://groups.google.comgroups.google.com.

Hi- I just acquired a Replicator 1 and am installing Sailfish on it. After installing and upon trying to test the extruder I'm having an issue where the extruder reports its 1024 degrees and I'm trying to troubleshoot it. Specifically, on the machine's LCD it says the temp is NA, in Replicator G, it states the temp is 1024 degrees.

The Sailfish troubleshooting page talks about this:
"My bot is heating to the wrong temperature.
You probably have Sailfish’s “Override Gcode Temperature” feature enabled. This feature overrides the temperature set in your GCode in favor of the temperature set in your onboard Preheat Settings. You can set the Preheat Settings to the temperature you need, or turn the feature off altogether in ReplicatorG’s Onboard Preferences window."

However, I am not finding any of this under the Onboard Preferences panel. The only thing under the Extruder tab is the PID values.

Anyone have any leads on how to fix this?

Hi- I just acquired a Replicator 1 and am installing Sailfish on it. After installing and upon trying to test the extruder I'm having an issue where the extruder reports its 1024 degrees and I'm trying to troubleshoot it. Specifically, on the machine's LCD it says the temp is NA, in Replicator G, it states the temp is 1024 degrees.

The Sailfish troubleshooting page talks about this:
"My bot is heating to the wrong temperature.
You probably have Sailfish’s “Override Gcode Temperature” feature enabled. This feature overrides the temperature set in your GCode in favor of the temperature set in your onboard Preheat Settings. You can set the Preheat Settings to the temperature you need, or turn the feature off altogether in ReplicatorG’s Onboard Preferences window."

However, I am not finding any of this under the Onboard Preferences panel. The only thing under the Extruder tab is the PID values.

Anyone have any leads on how to fix this?

thank you so much for coding sailfish. it took me severeal hours to install and re-calibrate my tom.
but after all its a superb updated worth a few $
where can i donate?

all of the documentation for sailfish references the original replicator 1.

1: Does it work for the Rep2?
2: Will I still see improvements if I continue using Makerware with sailfish?

Read the jetty-firmware mailing list.

I'm trying to join the mail list but it won't let me for some reason. It opens a box to accept an invitation to join but clicking "join this group" won't go anywhere. I've tried joining with different browsers and it won't get past the invite screen. Any help?

Very Nice! Tried it today and prints are finer then ever before!
Nice feature for the next version would be an updated TOM-Dualstrusion -Profile where the build-plate only "shrinks" in x in the amount of head-spacing and keeps the full 120mm in y for the model-window - though everybody can change that.

The replicatorg-0040r9-Sailfish windows version is throwing a "Could not create the Java virtual machine" error. Windows7 64bit tells me it was configured to use a bundled Java Runtime but it is missing or corrupt. Any solutions?

I get this same error aswell. Cannot start Replicator G at all. I have stopped the conveyor service in Makerware if that would make a difference, but it did not.

Please join the jetty-firmware group at http://groups.google.comgroups.google.com and post there. Comments on Thingiverse are not a useful medium with which to diagnose usage issues.

Will do!

BTW, if you moved the ReplicatorG.exe out of its folder (say to the Desktop) and then tried to run it, you would get exactly the error you reported. Specifically, Launch4j in the window title with the text, "This application was configured to use a bundled Java Runtime Environment but the runtime is missing or corrupted". Do not move the .exe out of it's folder. Instead right click on it, select "Copy". Then go to the desktop or wherever and then right click again, but select "Paste shortcut".

Odd, runs fine for me on Windows 7 64bit. Also Windows XP SP3 and Windows 7 32bit. I did not try Vista. The only change in that rev of RepG is to invoke the Java Virtual Machine (JVM) with a larger upper limit on the heap size: 1.4 GB instead of 0.75 GB. Other than that, there's no difference between it and r8.

Now, the package does include a bundled JVM. However, I don't believe it's missing or corrupt. Outdated, certainly, but not missing. Don't know about corrupt -- most anything might have corrupted it. Other folks have tested it on Windows and found it to work, so I'm not sure what might be amiss.

i just upgrade from the 3.5 and can't find where to change the jog
direction so if you push the left jog(X) it goes left and not right and
the same with the jog for the (Y).

Do you mean changing from the coordinate system based motion to model view based motion OR do you mean that you need to invert the stepper motors for more than one axis? For the former, you can only do that if you have a Gen 4 LCD display. It's part of the jog menu where you change the MODE by pressing the "SET" button (center button on the rightmost column of buttons). If you mean the latter -- inverting an axis -- then you do that via ReplicatorG's Machine > Onboard Preferences screen.

thanks i found it in the jog menu, by mistake lol

This firmware exceeds all expectations! I was not prepared for the speed or quality that my TOM could provide. Thank you

I see we now have a RepG 40 as well as a 39... Does this build of 40 fix the toolhead offset issue found in the regular v40 release?

What toolhead offset issue? MBI changed the dualstrusion system in RepG 40 from what existed in RepG 39 and earlier. There's nothing to "fix" there per se. You either use the old system or the new system. However, the currently released versions of Sailfish do not support the new system. The next release -- 4.2 & 7.1 -- will support both the old and new dualstrusion systems. That release is due out this upcoming week.

If, however, you are referring to some other issue with toolhead offsets, then please be more specific. And, more importantly, please discuss on the jetty-firmware mailing list.

Yes, that's what I'm asking.. does this new v40 build associated with this thing, support offsets the way sailfish expects?

No. There's no reason why we would change that. If you want the old dualstrusion system, then use RepG 39 or RepG 39 - Sailfish for dualstrusion. If you want the new dualstrusion system then use RepG 40 or RepG 40r5 - Sailfish. All that needs changing is a new version of Sailfish which supports either the old or new systems. Sailfish 4.1 and 7.0 only support the old system. Sailfish 4.2 and 7.1 supports both the old and new systems. 4.2 and 7.1 are still in beta test but may be released later this week.


I cant upgrade my Replicator 1 to version 7.1 every time it says upload failed

7.1 is in beta test. This is not a "forum" to discuss beta test releases. As t your specific question, the upload failing, you likely have the timing off with doing the reset or have possibly bricked your uprocessor. This is not Sailfish specific and is a more general usage question best posted to the makerbot-operators newsgroup.

I cant upgrade to version 7.1 on my Replicator 1 dual every times it says ulpoading failed

Confirmed that Replicator 40-R005 and the 7.1Beta Firmware fixes the offset/centering problem on my machine encountered when using Replicator40 and 7.0 firmware on my machine. Remove the -33 bit from the x-tool-offset that causes prints with the left toolhead to be offset by 33mm :).

Thanks Jetty, you rock!

Oh sweet, a new version!?
What's changed?

Preliminary beta release notes were posted today to the jetty-firmware group at http://groups.google.comgroups.google.com.

Holding my breath that my Rep2 can print at these type of speeds one day.

1: I love you
2: MakerWare is a no-go for this firmware correct?
3: SD folders?!? Damn you I just bought like a dozen SD cards to organize everything!
4: Is there a paypal address where I can donate so you can keep being awesome?

gcode / x3g generated by MakerWare should work with Sailfish,
including previously exported x3g.

Pardon all the questions, but does imply that doing Makerware -> x3g -> SD card is just as effective as going through sailfish RepG, I just need to change speeds?

And I still want to give you money if you're going to make my bot into 1.5 bots.

I don't use MakerWare myself so I don't know what the pitfalls might be. But for the time being, you should be able to do much of your slicing and x3g generation from MW. You need RepG to download the firmware, for initial bot setup (RepG sends data to the bot over USB as part of configuring the bot the first time), and you need to use RepG if you later want to change any of the bots "on board preferences" from your computer (as opposed to using the LCD display).

For further questions, you'd be better served to join the jetty-firmware group at http://groups.google.comgroups.google.com.

As to donations, you can send me a private message and I'll send you my paypal address. Jetty and I split them 50/50 and use the funds for purchasing filament and other consumables or parts we use in doing our firmware testing.

I want to upgrade to Sailfish but have ReplicatorG 040 loaded for my Replicator. I'm also running 6.2 firmware. How can I do this? I have not found anyway to make the switch.

  1. Download ReplicatorG 39 - Sailfish
  2. Install ReplicatorG 39 - Sailfish
  3. Install the Sailfish 7.0 firmware
  4. Launch ReplicatorG 39 - Sailfish
  5. Select "Replicator Single" or "Replicator Dual" for your Machine Type. (Note, Replicator 2's and 2X's are not yet supported.)
  6. Connect from ReplicatorG 39 - Sailfish to your bot over USB; it will send some settings to the bot.
  7. From Machine > Onboard Preferences use "Reset to Factory Settings" to ensure that the EEPROM doesn't have odd values.
  8. If you will be doing dualstrusion, convert your X Toolhead Offset from MBI's new system back to the old system:
    a. If the value is near zero, then you have the old system -- stop here
    b. If the value is near +33 mm then change it to "old value - 33.0". You may have a negative values; that's okay.
    c. If the value is near -33 mm, then change it to "old value + 33.". Again, a negative value is okay.

The 3rd and 4th rows on my Gen 4 MBI interface board are shifted 4 spaces to the right since I upgraded my thingomatic to this firmware. On most screens this isn't an issue but on some screens it cuts off information. Anyone else have this issue?

The 3rd and 4th rows on the LCD interface are shifted to the right 4 spaces since I upgraded. On some screens this isn't an issue but on others it cuts off information. Anyone else have this issue? This is on a thigomatic with MBI Interface.

Common issue discussed multiple times in the makerbot-operators and jetty-firmware groups. Quick workaround should be to reset your EEPROM to defaults from RepG. Then don't do the naughty thing of leaving your bot connected to USB when powered off as that's know to cause problems owing to a design flaw in the v2.x motherboard. (There's power provided to the AVR, but not enough what with the EC and stepper drivers leaching power as well. The AVR tries to run on close to 1.5 V and browns out but in the process manages to poke the EEPROM setting for the LCD display size. Workaround: don't power over USB alone; fix is to reburn the AVR fuses for a 4.3 V BOD and to wire the ATX power supplies "power good" pin to the AVR's reset pin via a 1K resistor.)

I have to say, I had just about given up on my TOM. all I was ever printing were things to test if the machine was still working, and those things took forever, and printed so inconsistently that it just wasn't worth my time, and totally uninteresting to my kids. I spent hours and hours adding a second print head for dualstrusion using dissolvable filament so I could print some 'moving parts', hoping that would make 3d printing magical, but it was just another exercise in patience with a payoff that fell short. Sailfish has brought our TOM to life! it's now running every chance it gets (thank god because my collection of filament would have been wasted), already made field trips to classrooms at school, and we're working with teachers and friends to finally have this be a walk up device for imaginative kids. THANK YOU!

How to re burn the fuses? I didn't see any ISP header and the Atmel is not removable.

Hi, after a failed ebay purchase of a TOM LCD interface I'm wondering if the interface can be replicated via software onto the host pc? instead of having the processor drive the interface directly use that processing power to drive a low volume feedback to the pc and then that to be turned into a on screen interface.... I know it would not be easy but you have shown the skill that kill in making your own drivers and firmware why not go one step further... even with the replicator
I'm sure a lot of people would love a on screen interface over the little LCD one.

Interesting idea but I'm pretty sure nearly everything the LCD can do is already implemented in RepG. If someone wants to code it I would try it.

Is the wiki broken?

Thank you..thank you...thank you.
I'm in the middle of my first test print..started @ 100mm/s just because..cranking it up soon!
I cannot believe the difference..Took a 19 minute print down to 5 minutes 40 seconds. Can't wait to crank this thing up...!

I'm only seeing 404 errors when trying to access any of the linked to wiki pages. Is anyone else seeing the same thing?

Hey Austin!

http://wiki.makerbot.comwiki.makerbot.com is no more. The docs are moving to makerbot,com but that will take a few more days. They are archived at http://makerbot.com/support/archivemakerbot.com/support/archive under the "Pages Archive" link. (A zip file.)


hi - today - 1/5/13. http://wiki.makerbot.comwiki.makerbot.com does not give up your files... I get the Page not found error.

Any chance those wiki docs linked above have been moved to a new home?

Looks like http://wiki.makerbot.comwiki.makerbot.com has finally gone offline. I knew this was coming so its more of a friendly reminder. :)

This was an easy print and nice print to display.

I am having a rather odd issue with the firmware. Running a TOM with MK6 and 3mm filament. For some reason the printer seems to consistently lose steps on the X axis about 1/4 of the way through a print regardless of what settings I throw at it. Anyone else experiencing issues like this? Any suggestions on a way to resolve?

I have the same problem. I tried printing a medium sized object three or four times. Each time, part way through the print, the Heated Build Platform would jump over about 1/2" at the start of a new layer. Sometimes it would do it multiple times. It do it on the same layer each time. I tried printer other objects as well with the same results. It started doing this when I upgraded to Sailfish. Before that, I was using the stock firmware. Any help would be greatly appreciated!

What slicer are you using? Are you printing over USB (bad idea in general) or from an SD card (good idea always). If printing from an SD card and using RepG 40 or RepG 40 - Sailfish are you being careful to always select "x3g" as the output file type?

For slicer I am using Skeinforge 50, printing from SD. I do not happen to have the external controller so my bot is connected to my PC and printing from the SD card that way. I have double checked and I am using the x3g files.

With acceleration your bot is probably skipping steps because your stepper voltages are not at the optimal settings. I had this same problem until I looked up the pot values for my steppers and set them to the correct voltage. There should be some documentation on MBI's site that shows the correct values for the steppers you have.

I can take her apart and double check this again, but I know that I had recently done this as little as 1 week ago. Sometimes I get a successful print but I would have to say 8 times out of 10 the poor bot skips steps. I even went as far to verify that my belts are not too tight.

I've found with models that are very complex I sometimes have to slow the acceleration down or it will skip steps like you are describing.

Good luck I hope you figure it out.

Ok I reset the pot values on all (the x was off on the ref v. Supposed to be .600 mine was .603), and still no luck. Mid print loses step and messes up. I am wondering if my X board is starting to hit its end of life.

Do you know which stepper motors you have on your bot? If you have the newer ToM stepper motors (~April 2011 and later), then the correct Vref voltage is 1.68V for the X & Y stepper motors. It's only for the older stepper motors that you use 0.60 V. The build directions for the ToM show side-by-side pictures of the old and new stepper motors.

Note that a difference of 0.003V (0.603 vs 0.600V) will not make any difference as that's well within the error range of most inexpensive multimeters.

I have one of the first production runs of the TOM so I have the original stepper motors. Should I consider getting the newer ones maybe?

Well, newer ones will in general work better. Have you read http://softsolder.com/2011/05/05/thing-o-matic-mbi-stepper-motor-analysis/http://softsolder.com/2011/05/... which was in part or whole what led to MBI changing the stepper motors? However, I do not know if those motors are at the root of your problem or not. It could just be that you need to reduce the max travel speed, use slightly larger max x & y speed changes (yes, I wrote larger), or something else. As to larger max x & y speed changes, try 30 mm/s for them rather than the 15 mm/s used for fine. (30 mm/s should work as well on a ToM and will actually improve some of the acceleration planning; something which was addressed in the current beta of the firmware).

Tried upping as you suggested and the skipping happened more often. Moved her back to 15 mm/s. That was a good read. I think for the money I may just invest in the newer motors.

Its good to know that I am not alone with that problem, I spent half the day with this.
I have the same Hardware as GodfatherUr, TOM Mk6, 3 mm ABS . Just checked: I also have the older Makerbot NEMA17 Motors (VRef=0.6V). BTW the accelerated Jetty Firmware (pre Sailfish, with SF35) is working fine on my TOM.

I may have to roll back to the previous firmware if you are not experiencing these problems on that one. Anything special I would need to do to roll back? Also which version of RepG are you running?

With RepG39 and firmware 4.0 I did some decent prints with 70 mm/s (Feed rate) and 100 mm/s travel rate ( MK6 (accelerated) and SK35).

With RepG40 and Sailfish I managed to print at 60 mm/s (feed rate) without having problems. I am sorry, the difference is not so big.
I tried increasing the motor current. At forum posting somebody claimed that increasing Vref from 0.6 to 0.8 will increase the motor current, however, I didn't notice a difference (maybe the machine has become a bit louder?)

I also think that replacing the original motors by the newer ones (from Moons) will allow faster printing speeds.

The 4.0 firmware is Sailfish. The current version of Sailfish on the ToM is v4.1 which only has minor changes and certainly no changes that would impact print speeds or quality. Note also that if you are using SF-35 with Sailfish, then that may be part of your difficulties: Sailfish expects SF-50 and isn't supported for use with SF-35 at least to the extent that we've never tested Sailfish with SF-35, do not provide slicing profiles for use with SF-35, and if you are having issues with SF-35 the first thing to do is to stop using SF-35 and move to SF-50.

I am not 100 % sure, it was either 3.5 or 4.0 that I used succesfully with RepG0039 in earlier configuration (I tried quite a lot to get it running...). However, the latest config I have testet was RepG0040 and firmware 4.0 (with SF-50).

At my workplace I have another TOM (from Dec.2011, with MK7 and the newer Steppers). It runs fine up to about 120 mm/s (RepG0039, and 4.0 and SF-50). You did really a great job!

So, whats the difference between the two machines? Stepstruder MK6 vs Mk7 and the older Makerbot steppers (0.33 A?) vs the newer from Moons (0.83 A ?). And the nozzle 0.5 mm vs 0.4 mm. Are there any other differences?
I guess no. So I think we should replace the motors by the newer ones.

3.2, 3.3, 3.4, 3.5, 4.0, and 4.1 are all Sailfish. It's just that with 4.0 we changed the name from "Jetty Firmware" to "Sailfish". There are, however, significant changes between 3.5 and 4.0. First and foremost is that 4.0 expects SF-50. Indeed, it basically requires SF-50. While you can make it work with SF-35, it's not easy and you're in uncharted waters. 4.0 also introduced a lot of code re-work to make the stepper interrupt faster and to introduce the new accelerated move command. The accelerated move command is why "RepG 39 - Sailfish" or "RepG 40" is required. (You can also use "RepG 40 - Sailfish".) If you use any earlier version of RepG you will get unaccelerated move commands which Sailfish will execute unaccelerated. But if they are fast moves, then you will see problems. You will have similar problems if you do not use the correct machine type in RepG: RepG will then not use the correct driver and will generate unaccelerted moves. Again, if they are fast moves then you will see problems. This is why you must use a machine type with "Sailfish" in the name. (Actually, you must use a machine definition which has driver="makerbot4gsailfish" -- that's the underlying concern.) And if given a choice of outputting s3g vs. x3g (RepG 40), you must choose x3g.

Ouch! I love the work- and 140mm/s is amazing to see in action... and I'm curious to learn more about what kind of feedback the firmware is using... BUT, when I cancel a print (or pause) with 7.0, my HBP tries to exit the bottom of the bot... rather noisily, too, I might add. So, what am I missing??

Found it- I failed to reset factory defaults to get the EEPROM back to sanity... tool offsets and homing were the culprits.
(it was after all in the installation manual!)

This is wonderful, thanks for your work on this!

Hey, in RepG 40 r003, the extruder hold isn't an option anymore, compared to r002, is there something else instead of that option?

I just downloaded RepG 40 - Sailfish r003 for the Mac and Extruder Hold is still there.  It's on the "misc" tab, left hand column, under "platform preheat & override temperture".  You will only see it if your machine definition is for "makerbot4gsailfish" and the bot reports a firmware of 4.0 or later.

Since I built those RepG 40 - Sailfish packages, I'm confident that they are all the same source.  The Windows and Linux versions should be no different.

Okay, solved most of my problems but 040 r003 is a weird fish for me still.

But my initiate problem if r002 is still avalible still stands seeing that i was looking for another older version aswell the other day.

Well, see thats real funny because i still get the sailfish created stuff in 39. But i deleted 040 r002 which were a good copy by mistake. And in there it worked flawlessly. But with 040 r003, i have trouble homing, with python, and the misc tab. So i was wondering if you kept 040 r002 up for download somewhere i havn't seen yet.

Just tried the firmware on my ToM.
interface is extremely slow (serveral seconds per keypress),
ReplicatorG can connect after PC reboot but doesn't find toolhead.
Lots of timeout messages.


Brilliant firmware, cudos!

But now i can't print from SD. In ReplicatorG it just says "Select the .s3g file to build:" Realizing that's the wrong format i went searching. 

Then i found this bit on the Google forums: "...make sure to select 'x3g' from the drop down file extension selector."

Which leads me to what drop down file extension selector, please tell me i'm a fool by now, and quickly please :)

Keep up the good work.

If you use a version of RepG which gives you a choice of file types in a drop down list near the bottom of the file menu, then select .x3g.  Otherwise, use .s3g.  The bot itself doesn't care, as long as the file extension is .x3g or .s3g.  However, MBI was concerned that the new accelerated move command would cause problems for users so in RepG 40 they made it such that you have to select .x3g in order for RepG to write out a file using the new move command.

So, to repeat: if RepG gives you a choice of .x3g or .s3g, then select .x3g.  Otherwise (RepG 39 and earlier), use .s3g.

Well re-reading my initial post, i found that i made several mistakes. Mostly just not explaining my usages of Sailfish and RepG.

I've built my own version of a reprap with makerbot electronics, mostly for the sack of using Jetty firmware actually (read: brownie points).

I'm on ToM electronics, running sailfish in RepG 40 seeing that 39 wouldnt update my extruder for som reason.

I have no dropdown menu that i'm aware of and i made a .s3g and a .x3g file, put it on an SD card and now nothing shows up actually. So maybe the problem is another place aswell. Been debugging for a while because my X-axis skips steps running sailfish so though i would give SD card a try again, just to find another problem.

Thanks for the help so far and in advance.

If you are using RepG 40 and have the correct Machine Type selected (one who's driver is "makerbot4gsailfish" as seen in Machine > Machine Information in RepG), then when you "Build to file", the file window which shows up gives you a choice of two output formats: .s3g and .x3g.  You want .x3g (since you're using RepG 40).

Note that the file must be in the top level directory on the SD card.  Subdirectories are not supported.  And the SD card MUST be formatted as FAT16.  (If it's >2GB, your operating system will likely try to format it as something other than FAT16.)

Okay, thanks a bunch. Been through the mill and around and around the hill.

Same story though, so i suspect that it's the SD card reader.

Thanks for verifying my steps with me. 

And please know that your firmware is superb, be proud.

Best regards from Denmark

It looks like Miracle Grue is not present in the Gcode Generators list in this version of RepG 40. Is that intentional? Where is the source repo for this version of repg...I can have a look myself if that's easiest.

Thank you.

You mention several times that porting Sailfish to other controllers is possible. I would like to look at the source code and consider the feasibility of doing this. However, I have searched in vain for the Sailfish source code. Could you be so kind as to point me to the directory from the archive that contains it?

Thank you. 

This might be a better starting place: https://github.com/jetty840/Sailfish-G3Firmware/tree/master/firmwarehttps://github.com/jetty840/Sa...

The reason is that the G3Firmware is probably closer to RepRap than the Mightyboard one and is more featured.

Also, if you go ahead with that, PM us and get in the loop, cos we can likely save you a few hours on certain things.

Perhaps helpful to explain each of the attachments, here in the Thingiverse instructions?  Bit confusing to see both v39 and v40 downloads...

Not really too much to explain.  If you prefer to use v39 RepG, download that one, if you prefer to use v40 RepG, download that.

Generally later release tend not to have all the bugs ironed out.  RepG40 is new, lots of people are using RepG39.

 Does your version of v40 have the offsets issue on the rep1 corrected?

Is SailFish an upgrade over Makerware with v6.2 of the firmware for use on a Replicator 1?

Sailfish is bot firmware.  MakerWare is desktop slicing and bot control firmware.  They are two entirely different things.
Thus Sailfish is an alternative firmware for the firmware in your Replicator 1.

I was having no end of trouble with v5.5 on my Replicator, uploaded this to my Bot, followed the recommended settings and now I'm printing at 120mm/s.  Thanks jetty!

Please support RAMPS!

Can I use this with Ultimaker

No.  You would have to port it to support the Ultimaker electronics -- the different I/O ports for the stepper drivers, temp. sensors, etc.

I've been following the Jetty firmware for a while but have been skeptical to do this upgrade until now. All I can say is wow! Thank you Jetty. This has been the best upgrade since i've had my TOM for over 2 years. I've only used all your settings mentioned in the instructions and now the printer prints fast and beautiful.  I've had offset problems w/ makerbot oem firmware and i've always thought i needed to tweak the belts more or try to make the x,y stage smoother, but w/out doing any of that, this firmware alone does the job. Thanks again!

The requirements document lists MK6+ extruder as the minimum.
I have the MK6 extruder.
Will that be a problem?

It must be a stepper-motor driven extruder.  So as long as it's a Stepstruder Mk6 you should be okay.

Has the extruder controller firmware been modified by the Sailfish upgrade, or can a Thing-O-Matic owner skip the EC update if they already have up-to-date stock firmware on their extruder?

Just to be clear: Sailfish is the firmware for the Motherboard v2.4 (or 2.5 if you happened to recently replace yours).  The Extruder Controller is a separate board with separate firmware.  As such, Sailfish itself does not modify the firmware on the Extruder Controller board. 

Sailfish requires the 3.1 Extruder Controller firmware.  There has been no later release of the EC firmware.

Thanks. I wasn't sure. When I installed the firmware, my extruder didn't work properly. I had to revert back to the earlier Jetty version. I was troubleshooting when I saw the mention that Thing-O-Matic users needed to update their EC Firmware (my v3.6 EC board is already at v3.1 firmware) and I thought that might have been the reason. I must be doing something ELSE wrong.

Did you invert the A axis via RepG's Machine > Onboard Preferences?  (That's the first extruder axis).  What you need to do is invert it from how it was set for Jetty 3.5. So if it wasn't inverted, then invert it.  If it was inverted, then un-invert it.

Hmmmm... I"ll try it again. Thanks!

I really like this firmware. Generally faster and higher quality prints, and made my replicator 1 run quieter.

However, I am having a strange issue. When I change some models in RepG (scale, center, etc.) they print as they were originally loaded instead of how they were changed. Is there any way to fix this?

Nevermind, I feel silly, the issue was caused by loading STLs directly from the web browser and then being unable to save the file when generating gcode. Saving a local copy first fixed the problem.

Awesome firmware!

Hats off! thank you for your hard work.
I do have a question though:
I am using the sailfish variant of the" Thing-o-matic w/ hbp and stepstruder mk7"

Everything seems to be working very impressive with the exception of the build being centered. 
It is centered in repg 39 sailfish, but not on platform.
My setup is a stock thingomatic .

Any suggestions??

Connect to the bot via USB from RepG 39 - Sailfish.  Then, from Machine > Onboard Preferences, ensure that the Toolcount is set to 1 (unless you have two extruders).  And make sure that the toolhead offsets are 0.  Your EEPROM may have had other, random values for some of those.

I found the toolcount, it had no selection, i set it to 1 as u suggested.
However i am having trouble finding toolhead offset. What tab would that be under?
Thanks for your help!

A and B home offsets on the homing tab.

Gotcha, both of those values are 0. Still does it. It seems like the calibration script is messed up. The values it gives me after calibration are off. When i set them manually in on board prefs it fixes it.
Any thoughts?

I can't tell u how impressed I am with this firmware.
Thank you for all of your hard work. It is truly appreciated.

The scripts built into RepG will not work correctly.  They lack a necessary "M73 P0" command at their start.  The script built into the bot and accessible if you have a Gen 4 LCD interface will work correctly.  Alternatively,  when you get the gcode for the script in RepG, edit it to have the line "M73 P0" at the start (or at least before the "M18" command).  Then send that to the bot and things should work better.

I'm having a HECK of a time getting SailFish working both quickly and accurately on my Replicator 1

replicator.xml is unmodified 

Onboard preferences:

Acceleration ("Fine Quality") no other changes
Acceleration (misc)

  • override off
  • preheat on pause on
  • Slow when falls behind on
  • JKN advance K=0.005
  • JKN advance K2=0.055
  • Deprime right + left is 16

*) Using print-o-matic 
Layer height .20mm
Infill 20% Feed 80
Moves 100
Temperature 230
Bed temp 110
** Filament diameter 1.80 (measured from actual)

) Extruder stepper "ticks" and skips steps) With reversal disabled in Dimension, and deprime (16 steps) enabled
*) Extrusion of filament delayed by 1-2cm .. leaving big blank "holes"

Pics at:




Looks like you need to relevel your build platform.  The first picture looks like the extruder nozzle is too close to the platform and as a result the nozzle cannot extrude plastic.  That's consistent with the extruder making ticking sounds and the blank holes.

Also, you will likely be better served using the makerbot-operators group or the jetty-firmware group to assist in diagnosing this.  Comments here really are not a viable vehicle for doing support, especially given that Thingiverse has been down off and on recently, and for the past month or so has reportedly not been good about sending Thing authors notices about updates to comments.  (I.e., Jetty may not be aware that new comments are being posted without having to proactively look for new comments.)

The build platform is not only level, it's well trammed to within 0.05mm tested via dial indicator.

I have verified that the tip is 200 microns above the build surface at top right to 225 microns on bottom left with the platform at 110C.

Is the ditto process documented anywhere?  Does it work from within RepG?  I can't figure out how to use it.

Yeah it would help if you made the group public read, even if private post.  We can't see the answer without registering for the group.

Any tips on getting things back to regular stock firmware?

Any progress on the 3D 5G shield Cupcake version? It didn't show up last time it tried to install in the options...

Still being worked on.  Some folks are successfully using it. However, RepG 39 + SF 50 + Vol 5D creates an annoying situation for 3mm extruders.  We are putting a workaround for that in the firmware and will have a few people test it in a day or so.  I'm hoping that in another week or so we'll be ready for a non-beta Cupcake release.

Also, the last few steps of setup tell me to set Deprime to 16. Why would I reset it again to 0 before printing "MadeByASailfish"?

This is a dumb question, but I've been struggling to get this working, so.. 

People keep telling me to make sure I'm using RepG-39 Sailfish.

The ReplicatorG I download from this page doesn't say sailfish anywhere (replicatorg-0039-mac-r647.dmg, which installs as "ReplicatorG"). I've uninstalled both ReplicatorG and MakerWare before installing this- Am I somehow using the wrong version?

I installed the new firmware on my mendal with gen 4 electronics. things work like they are suposed to , but I need to change the mm/second rates for my machine. the z hight is way off do to the threded rod. Im useing the Thingomatic with HBP And MK7 profile. How do I change the mm/ second. On the old Replicator G you could go in and change these settings under machine types.

You'll need to start using RepG 39 - Sailfish.  That means making a machine definition (xml) file for your bot for RepG.  RepG takes information from that definition and transmits it over USB to the firmware which then stores it in EEPROM.  For example, the max feed rates per axis and the axes lengths.

You will need to make your own xml file and park it in ~/.replicatorg/machines/ .  You can copy the thingomatic-sailfish.xml one from RepG.  Then edit the file, removing all the machines but one and change it's name to be something more appropriate.  Then change the information for the axes you need to change.

Argh. Before installing this, my left extruder was printing about 20mm to the left. Now it's about 50mm high and 20mm to the right. What gives?

The jerking around indicates that either

  1. You're not using RepG 39 - Sailfish, or
  2. You're using old s3g files which were not produced by RepG 39 - Sailfish.

You must use RepG 39 - Sailfish.  It produces the correct motion commands.  The oldstyle motion commands are run without accelertion.  So, if they are at high speed, things will indeed jerk around.

RepG 39 - Sailfish is one of the downloads for this Thing.  Ensure that you are using it.

MBI posted on the makerbot-operators group that they will support Sailfish so use of a custom RepG is short term.

Followed the instructions to a T. Not sure if being on a mac would put me at a disadvantage somehow.

Since this is a Replicator, you did enable acceleration via Onboard Preferences?  For Replicators it's disabled by default.  We were following MBI's lead there.  However, from looking at their latest in github, they've now switched to enabling it on by default.

Mac's not a problem.  Jetty and I are bot Mac users and do nearly all of our development work on Macs.

If you do a EEPROM reset (which some folks have had to do), screen snapshot the first two tabs from Onboard Preferences (Command-shift-4 on a Mac).

All better, thanks again for the replies. It's even centered itself again somehow. The tutorial says to Disable Acceleration, should it say Enabled? Going back and disabling it, it's jerking itself off the table again.

Tutorial?  You want acceleration enabled for printing at high speeds.  If you disable acceleration BUT then try to print something sliced at fast feedrates, then yes the bot will shake and jerk a lot.  So try not to do that, eh?  Or if you do disable acceleration, then only print things sliced at tame (slow) feedrates.

At some point MBI changed how tool head offsets are stored.  Before they included the 33 mm distance along the X axis between the two extruder nozzles.  Now they are just the deviation from dx=33, dy=0, and dz=0.  So, you need to alter your toolhead offsets to conform to MBI's new model.  Do this with RepG's Machine > Onboard Preferences.  I believe it's the second tab.

Tried again this morning, still not sure what's going on.. Figured since I installed MakerWare when it first came out, poked around and uninstalled, that I'd need to reinstall it and follow that 'stop conveyor' step, but it didn't seem to make a difference. Still jerky, off center, and the center point even seems to have moved between the first and second layer. Strange.


This may be a stupid question, but is this possible to run on the printrbot, will I have issues?  I know the printrboard can be flashed, but I'm not sure how the coding would affect the bot.  IE is this firmware only configured for the Replicator?

This firmware is only for RepRap Gen 3 (rrmbv12), RepRap Gen 4, and MBI MightyBoard RevE electronics.  It would need to be ported to work on PRINTRBOARD electronics.

OK.  I couldn't get anyone to comment on how to fix the left extruder offset so I did some quick digging.  For some reason when the Dual_Head_start.gcode gets merged in the tool offset lines get changed from
G10 P1 X0 Y0 Z-0.3 (Designate T0 Offset)
G10 P2 X33 Y0 Z-0.3 (Designate T1 Offset)
G10 P1 X16.5 Y0 Z-0.3 (Designate T0 Offset)
G10 P2 X-16.5 Y0 Z-0.3 (Designate T1 Offset)

Looks like somebody assumed the Replicator 1 extruder center location was in between both extruders when the machine seems to actually center on the right extruder.  Actually it looks like the -16.5 makes the left tool offset problem 49.5mm too far to the left and the right extruder 16.5mm too far to the right of where they should be.

Can someone please fix this so I don't have to keep hand editing?

MBI some time back changed this.  Used to be that the toolhead offsets were the actual distances between the two extruder orifices.  However, at some point MBI changed the system so that the toolhead offsets are the deviations from the ideal offsets of x=33mm and y=0mm.  At the same time, they changed RepG's dualstrusion to automatically include a 33mm offset in the gcode.

So, at some point Replicator owners were expected, when upgrading their MBI firmware to subtract out of their toolhead x offset, 33 mm.

And yes, the system now assumes a center point between the two extruders.

Thanks for the feedback.  I am still not sure where to go from here.  What do I need to do to correct this?  If I manually put in the same lines that the Dual_Head_start.gcode has:
G10 P1 X0 Y0 Z-0.3 (Designate T0 Offset)
G10 P2 X33 Y0 Z-0.3 (Designate T1 Offset) in the finished gcode then everything works as expected.  How do I get the software to end up producing that automatically? 

It doesn't even look like the Dual_Head_start.gcode is the file being merged, because nothing else in the finished gcode matches up with the  Dual_Head_start.gcode file.  Maybe this is the root of the problem?

Thanks for any help.

If using Print-o-Matic, then click the "use default start/end gcode" button.  Otherwise, you need to determine which of several routes you used to supply your own start/end gcode (alteration plugin, ~/.replicatorg/sf_xx_profiles/alteration/ directory, editing the RepG supplied files directly, etc.).

 I think I got it straightened out.  I had to go into the registry (HKEY_USERS...\Software\JavaSoft\Prefs\replicatorg\app) and remove leftovers from ReplicatorG-37.  I might have been able to do the same from ReplicatorG File->Reset all preferences?

At any rate that seems to have cleared whatever was causing it to point to the wrong gcode start file. 

It also wiped out all my other settings and preferences so if you do this make a note of all your settings!

Fantastic! That fix it for me too! Thanks a lot!

Just updated my Replicator1 to Sailfish v6.2 and so far the results have been excellent.
Thanks for all your hard work Jetty !

So I'm butchering my Ultimaker to get rid of the belts, which means the pitch will be different. I noticed Sailfish doesn't support UM. any chance it will soon?

Hey DanLuc, what are you planning to install instead of the belts? I'm quite curious as I wanted to improve the transmission too

Ball screw drive system. Similar setup as the makerbot, one side ball screw and other smooth shaft. They can travel way fast and very precise while having almost no resistance.
Problem is that I get 1/4" linear travel per screw rotation. And I wanted to couple the motor directly to he shaft. Might have to make a pulley for the motor and hook up a little belt to get the same rotation to linear travel. Unless I can find a software thats decent enough to print in comparison to Cura which is really great so far.

In addition to the 33mm offset problem with the left extruder on my Replicator 1,  I have also noticed that since I switched to using AltShell the time estimates are way off.  For example, a 30min estimate will actually take 55mins.  Before switching to using AltShell the estimate was only a few minutes off.  Does the estimator take into account time "lost" by AltShell turning off acceleration for the shell?  Or is something else going on?

The estimator does not work at all with acceleration.

It's not worked with acceleration for quite some time. Most of my prints I just assume it is going to take 20 minutes longer than the estimator says it will.

I hope it is something that someday will be fixed.

Here's the problem: an estimator needs

  (gcode + max feed rates) OR (s3g)


  (acceleration parameters from the bot)

So, estimating the time on the bot with the s3g file on SD card can be made to work but is SLOW.  (Recall that it wasn't all that fast for large prints with the unaccelerated Jetty Firmware.)

To do this in RepG, you would need to either manually tell RepG the acceleration parameters or have RepG connect to the bot and pull the information from the bot's EEPROM over the serial link.

As to actual code to do estimation, we've had that for some time.  (I use it all the time to analyze issues with the Jetty fw and Sailfish.)  It's the simulator which is 95% the firmware source and 5% some code to parse an on disk s3g file and provide a CLI (command line interface).  It then gets compiled for a desktop OS and can be run from the command line.

Since the fw is in C and C++, this estimator is as well.  Integrating it with RepG is not straightforward as RepG is in Java.  It would actually be easier to integrate with MakerWare since MW is in C++.

It is pretty easy to make available a Linux and Mac OS executable which could be given on a command line the s3g file and the acceleration parameters.  Indeed, the fw repo has a Makefile to build the tool and, as I mentioned before, I use it all the time.  However, I'm unsure of just how many people would actually want to use it given it's command line nature.  (And I'm not myself interested in making a GUI version.)

Just uploaded my Yoda printed on a TOM mk6 extruder. 100mm tall.
0 fill, 0.2 Layer Height !! 2 shells
and at 60mm/s feed and 80mm/s travel!!
It took and hour and a half. Oh and PLA too.
Thanks Jetty :)

My Replicator 1 is running great at 120mm/s with this firmware. 

My only real issue so far is that the left nozzle offset seems to be ignored.  When I print things with the left extruder they are 33mm too far to the left.  What am I missing? 

Thanks again for helping me get my Replicator 1 working closer to what I had expected when I bought it.

I haven't tried Sailfish yet, butu I'm having this same issue with my standard stock Replicator firmware since upgrading to 6.0. Figured it might be worth mentioning while you folks troubleshoot.. 

I have the exact same issue... and I am also interested in a solution.

I am running a thing o matic with a mk6+ extruder, and a heated build platform.  I have done the firmware updates and installed the new repg29 sailfish.  Under the Machine Type Driver there is no sailfish option for a mk6 extruder.  The only options are:

Accelerated Volumetric
and one that doesn't have anything behind it. 

Thanks in advance for your help.

You can use a Thing-o-Matic w/ HBP MK7 (Sailfish).  There's not difference (that matters).  Also, consider joining the jetty-firmware mailing list at google groups as we posted the definitions for said machine there just yesterday.  (However, you don't really need them.)

Any chance you can post this somewhere other than Thingiverse? Some people would like to try it on RAMPS based 3D printers, and companies can't help with that so long as this is only available via Thingiverse. 

The firmware runs on RepRap Gen 3, Gen 4 electronics and MBI's MightyBoard 1.5e.  It doesn't run on modern RAMPS.  However, it's available at github.  See http://github.com/jetty840/github.com/jetty840/ for the various Repos.

Remarkable. Thank you so much.

Accelerated prints at 120mm/s show no ringing at all. MBI v6.0 at 80mm/s showed quite a bit of ringing.

I just finished repairing and adding some upgrade parts to a client's Thing-o-Matic.  Prints were still lackluster.  
Then I upgraded it to Sailfish.  I had no idea a TOM could print so fast or so well.  Amazing difference.  Thanks for your hard work!

Added this to my TOM last night and I believe that what has been done is as good as home 3d printing can get. There have been times when I have seen other's prints and thought: my printer should be able to do this or print this well, but it won't--now it can and it does. Thank you.

WOW! Thank you so much for your hard work on this. My replicator is a completely new machine, I can not thank you enough!

If you don't mind me asking, what's so different about it? I haven't made the plunge yet on my Rep 1, I just can't seem to wrap my head around the benefits.

 I highly recommend the upgrade. If not for the faster prints, then at least to relieve your machine of the stress it puts on its self.

That's awesome! Can't wait. Thanks for the replies.

 Its the way the printer head moves. Instead of going full speed the the edge of a print and then turning around suddenly, essentially slamming itself in reverse, the head decelerates to the edge of the print, then re-accelerates, all very fast of course. The result is a much much smoother action, which produces higher quality prints, faster and quieter.

Well, it can print at 0.01mm layer heights at 120mm/s with 200mm/s travel rate, and it's probably 10-15 decibels quieter to boot. And, the print quality is so much better than the stock firmware with acceleration turned on. It really is like a completely different machine.


thanks for the new firmware, it looks really nice!I have a replicator and was trying to upload the new firmware, but the mightyboard does not show up as an option. If I change the URL back to the original mb site, it does show up. please help!Im running mac btw. 
Also, can you still use maker ware with this firmware or do you have to  roll back to the previous version?Thanks again!

  1. As noted, Sailfish for the Replicator 1 was temp. unavailable on 17 October.  With the assistance of some field testers, the leveling script issue was resolved and new version became available that evening.  So repoint your download URL at the sailfish site (http://jettyfirmware.yolasite.com/resources/release/firmware.xml)http://jettyfirmware.yolasite.... and you should be good to go.

  2. You can generate gcode for Sailfish in MakerWare.  HOWEVER, you need to then save that gcode to a file and have ReplicatorG 39 - Sailfish open the file and generate the s3g file (SD card) or send the commands over USB to the Replicator equipped with Sailfish.   Since Makerbot is adopting the new motion commands that Sailfish is using (and RepG 39 - Sailfish generates), we expect to see a release of MakerWare which will support Sailfish.  (Keep in mind also that MakerWare is still in beta.)
  1. If you generate gcode in MakerWare and then import it into RepG, be sure to put

M73 P0

at the top of the gcode (or at least before the first homing, motion, or positioning commands). The "M73 P0" is quite important as it results in a "build start" command being sent to the bot and the bot reacts by initializing its build state.

The Replicator 1 version of the Sailfish firmware has temporarily been withdrawn pending resolution of the leveling script issue

A new build which resolves the leveling script issue was posted around 8 PM Pacific Time on Wednesday, 17 October 2012.

I've noticed that the Pause function in the LCD resumes with a 2mm Y-axis offset about 50% of the time, ruining the build. :(

Solved! My Y-axis offset was off by 2mm, causing the extruder carriage to hit the stop at the back of the machine when there was still movement to be made.  When I resumed the print, the extruder would travel back to the printing item but would be in the wrong place by the same amount of movement it wasn't able to make during the pause phase.  I increased by Y-axis offset by 2.5mm in the Utilities menu on the Rep1 and it's fixed.

  1. If this is on a Replicator, then ensure that you've upgraded to build r650 of the Sailfish firmware for the Replicator.

  2. Make sure that your gcode starts with a "M103" and "M73 P0".  That's a requirement (and done by the default start gcode).

Sorry I just have to comment again, my prints have been STUPID AMAZING since I used this firmware, I seriously can't believe how much of an improvement there has been, a huge thank you for your effort!

Does anyone know why when i try to upgrade my firmware though replicatorG sailfish 0039 does the mightyboard not show up?
I have a dual replication1 and i only see 3 boards listed

That was the temporary withdrawal of the Replicator version. (Which you since discovered; I'm just replying here for the benefit of others.)  A new version has been posted.

Wow - what a difference.  The acceleration makes the movements so smooth - undoubtedly extending the life of my Replicator1.  It's fast, smooth, quiet and produces great results.  Thanks for all the hard work Jetty!

So awesome on my rep1!! Please add a flattr button here if you have an account!

The best TOM firmware!!!  Thank you very much.  My TOM finally prints what I ask for.

This has really improved my prints and REALLY quieted down my printer, I almost have to check on it to see if its STILL printing! Used to I could hear it form the other side of the house, now its all quiet and FAST! Thanks again! Great Work!!!!!

You are a genius Jetty! My ToM has never been better! This should be on all ToM's. I'd be happy to donate to the cause. Do you accept paypal donations? 

Thank you.  Installation was a snap and the documentation is great.  My Replicator v1 just purrrrs now!

Thank you for releasing this under a Free Software license. :)

First off a big thank you to Jetty and team for this firmware. I have installed it on my Rep1 and impressed so far with results. Like Harlock I printed off the calibration cube after slicing it with 0 and 1 shell. These were both 0.1mm 100% infill at 60/80 feedrates. Don't seem to be able to attach the pic of these here but the one with 0 shells and slightly faster made a perfect 10mm high cube. The other was a little higher. Neither cube is 20x20mm though - more like 20.3 x 20.2mm. I would like to get the StepsPerMM setting right but confused as to how to do this?

Also, my extrusion def needs tweaking. Lines across the bed seem worse than lines down the bed (not sure what axes these are - i would call them X and Y). The top of the cube is dimpled and each side of the cube has a slightly different line pattern.

I posted a comment on the Support forum so maybe others can comment.

To calibrate your cube dimensions, you tweak the stepspermm in the .xml file.  But, everytime you upgrade RepG your tweaks will get lost if you edit the distributed xml file.  So, what you want to do is to make your own copy of the file.  The directions below are for a Mac but are largely applicable to Linux as well.  I'm not a Windows user so the file locations won't be correct for Windows.

  1. Open a terminal window (Applications > Utilities > Terminal).  You can do this from the finder as well, but you then need to right click on Applications / ReplicatorG.app to get the finder to let you drill down into the contents of that otherwise hidden folder.

  2. From the terminal window, issue the two commands shown below.  The first command may give you a warning indicating that the directory already exists.  That's okay.

% mkdir -p ~/.replicatorg/machines/
% cp /Applications/ReplicatorG.app/Contents/Resources/machines/replicator.xml ~/.replicatorg/machines/

  1. Using a text editor, edit the file ~/.replicatorg/machines/replicator.xml.  You want to end up with just one machine definition which looks like that below.  Note the name change from "The Replicator Dual" to "The Replicator Dual (Private)".  Use whatever name you want; just something different than the standard names.  Save the file and then start (or restart) RepG.  You should see this new name appear under Machine > Machine Type (Driver).  If it does not show up, then there's probably a typo in the file which makes it syntactically invalid XML.

  <machine experimental="0">
    <name>The Replicator Dual (Private)</name>
    <geometry type="cartesian">
      <axis endstops="max" homingfeedrate="2500" id="x" length="227" maxfeedrate="18000" stepspermm="94.139704">  
      <axis endstops="max" homingfeedrate="2500" id="y" length="148" maxfeedrate="18000" stepspermm="94.139704">  
      <axis endstops="min" homingfeedrate="1100" id="z" length="150" maxfeedrate="1170" stepspermm="400">
      <axis endstops="none" id="a" length="100000" maxfeedrate="1600" stepspermm="96.275201870333662468889989185642">
      <axis endstops="none" id="b" length="100000" maxfeedrate="1600" stepspermm="96.275201870333662468889989185642">
      <tool default_rpm="3" diameter="0.4" fan="true" heater="true" index="1" model="Mk8" motor="true" motor_steps="3200" name="Mk8 Left" stepper_axis="b" type="extruder"  heatedplatform="false">
      <tool default_rpm="3" diameter="0.4" fan="true" heatedplatform="true" heater="true" index="0" model="Mk8" motor="true" motor_steps="3200" name="Mk8 Right" stepper_axis="a" type="extruder">
      <wipe index="0" purge_duration="1000" purge_rpm="5.0" reverse_duration="15" reverse_rpm="35.0" wait="1000.0" x1="-135.0" x2="-135.0" y1="55.0" y2="45.0">
      <wipe index="1" purge_duration="1000" purge_rpm="5.0" reverse_duration="15" reverse_rpm="35.0" wait="1000.0" x1="-135.0" x2="-135.0" y1="55.0" y2="45.0">
    <offset xnozzle="33.0" ynozzle="0.0" znozzle="0.0">
  <driver name="mightyboard">
    M18 (Turn off steppers after a build.)
  <bookend dualstart="machines/replicator/Dualstrusion_start.gcode" end="machines/replicator/end.gcode" start="machines/replicator/Dual_Head_start.gcode">

  1. Now that you have your own machine definition, you can edit the stepspermm for the X and Y axis.  If you increase the value, then the bot will execute more steps to move a fixed distance.  Decreasing the value causes the bot to execute fewer steps for a fixed distance.  But what to change it to?  If the distance should be D but you measure a distance d then multiply the current stepspermm by the ratio D/d.  If d > D, then the ratio will be less than 1 and you will decrease the stepspermm causing the bot to take fewer steps.  Similarly, if d < D, then the ratio will be larger than 1 and you will increase the stepspermm.  After editing the xml file to change the stepspermm, you must exit ReplicatorG and restart it.  (ReplicatorG only reads the xml files when it launches.)  You do not need to regenerate the gcode.  You only need to resend the gcode to the bot.  After printing again, measure the new resulting distance d (e.g., width, height, or length) and recalculate D/d.  After a couple of iterations, you should have the stepspermm values dialed in fairly well.

Updated my REP dual this morning with Sailfish and OMG.

for starters .. my REP doesn't  sound like a plotter from the 80's anymore. Is quite literally flies along.

All the problems I encountered with the 6.0 firmware are resolved.

The instillation guide is easy to follow and the setup guide was both helpful and self explanatory. Ill be refining the acc parameters for the rest of the day. So far Im as excited with this as I was when my Makerbot arrived!!!!

Thanks Jetty you made my day!!

I have a ToM MK6, and can't find the selection for sailfish under machine type.

I can see sailfish options for mk7 and cupcake though. Any ideas?

There isn't a definition for ToM mk6, but it is the same as the mk7 because they use the same motor and toothed pulley. The only difference would be the default RPM, which I believe is only used by the control panel in repg.

You can use "ToM w/HBP MK7 (Sailfish)"

make sure you change the firmware location (step before that one) or it will just pull firmware from default location

Looks very promising! The Replicator is much more quiet and shakes even much less than the 5.5 accelerated settings. Few issues I've noted:

  • For Replicator users with dual extruders, make screen shots of every Onboard preferences prior to upgrading the firmware. The new firmware tends to wipe lots of parameters and I didn't notice any specific instructions toward this beside writing down the accel parameters.
  • I have dual extruder and the X offset for the Left extruder/B axis isn't applied. The setting is correct as I took screenshots of the 5.5 defaults prior to upgrade.
  • Extruders temp are locked to 220degC even if the Print-O-Matic and GCode sets them to 230degC. There might be a relation with the preheating function from the LCD panel.
  • In Machine/Onboard preferences/Endstops tab/Invert endstops, the original firmware called for Inverted setting. Now this firmware doesn't accept it: I can set it & commit, reboot the machine, but it defaults back to no end stops.
  • I've lowered the max speed change for XY to 10mm/s. Makes the machine even more smooth in its operation, maybe detrimental to the actual speed performance but that's my compromise for now :)
  • I'd really like more info on the calibration. The instructions suggest to bypass Print-o-matic, but it's the only way I know for now :/ Could we get a link for the howto on manual gcode generation in the calibration instruction (including setting width/thickness ratio)? My test cubes unaccelerated are domed at the top (11.58mm high), suggesting too much ABS being fed. On the other hand, the accelerated version is much better with a slight dome giving a cube of 10.51mm high.

Jetty or Dan could probably answer these better, but they are no doubt very busy at the moment, so I will answer what I can from my experience...

  • Extruders temp are locked to 220degC even if the Print-O-Matic and GCode sets them to 230degC. There might be a relation with the preheating function from the LCD panel.

This is by design... there is an option to override gcode temp which allows you to control/tune your temp settings from the LCD without having to reslice your print every time (its very nice)... and yes, what it does is use whatever you have set for your preheat temp as the temp you want for printing.

  • In Machine/Onboard preferences/Endstops tab/Invert endstops, the original firmware called for Inverted setting. Now this firmware doesn't accept it: I can set it & commit, reboot the machine, but it defaults back to no end stops.

From talking with Jetty, this is ignored and so there is no need to worry about it, from what I can tell its because it has manual switches that are going to work no matter what the gcode or firmware tells it to do.

  • I've lowered the max speed change for XY to 10mm/s. Makes the machine even more smooth in its operation, maybe detrimental to the actual speed performance but that's my compromise for now :)

Before changing anything, you might want to give the defaults for "fine" a try. Make sure you use the defaults for printing as well (120mm/s) ... from my testing the Sailfish firmware is actually BETTER at faster speeds than at slower ones but YRMV

  • I'd really like more info on the calibration. The instructions suggest to bypass Print-o-matic, but it's the only way I know for now :/ Could we get a link for the howto on manual gcode generation in the calibration instruction (including setting width/thickness ratio)? My test cubes unaccelerated are domed at the top (11.58mm high), suggesting too much ABS being fed. On the other hand, the accelerated version is much better with a slight dome giving a cube of 10.51mm high.

actually Print-O-Matic works great... I think the setup is more geared for ToM than Rep1... but again, Jetty or Dan would know better. You can find tuning info here http://wiki.makerbot.com/jetty-firmware-tuning-accelerationhttp://wiki.makerbot.com/jetty... 

If you have too much being fed, for a temp fix you can raise the filament diameter in PoM and that will cause less to extrude, or you can tune your machine using the xml files... here is a quote from a post from Dan and Jetty about how to do it...

"What I'm doing on the Replicator which solves the flow/filament 
diameter and negates the need to tune 
when changing filament is: 

  1. Measure the filament diameter and punch in and generate a 
    calibration cube. 

  2. Tune the A/B axis in the xml file (A = Left, B = Right).  Increase 
    if the flow is too low, 
    decrease if it's too high.  I tune in units of 1 and finally 0.5. 

Now you have your pinch gears / extruder flow rate tuned.  When you 
get a new plastic, 
just measure the diameter and punch it into printomatic and you're 
done.  No more flow rate 

(there's a bug in SF50 with hexagon fill, use line fill for the 
purposes of this tuning, 
or you'll think you have the correct 100% fill when you don't). 

Temperature / feed rate are less critical.  But, if I'm printing at 
I'll go 240C for ABS, and 245-250C for 150mm/s.  Failing that, bridge 
tests are 
a good indicator of temperature."

Sorry about the long post... just wanted to try to help if I could =)

Thanks a bunch for the quick and detailed reply. I'll follow up with those recommendations. I still wonder why the dual extruder function doesn't work anymore. I just printed a part with the left extruder and it didn't seem off center. Looks like an issue with the tool change gcode, but more testing is required to confirm this.

I am not sure about the dual extruder because at the moment my left extruder has a bad thermocouple (waiting for parts from MBI).... i highly recommend joining the Jetty user group at https://groups.google.com/forum/?fromgroups#!forum/jetty-firmwarehttps://groups.google.com/foru... ... many answers can be found just by searching the group, and if not most posts are answered very quickly by Dan or Jetty.

 Made the board/firmware hang up while adjusting the extruders temps :/ I'll subscribe to the forum as mentioned above.

Video of my replicator 1 printing at 200mm/s (280mm/s travel)... such a huge improvement .... my Rep1 used to shake like it was going to fall apart if I printed at more than 50mm/s and now it doesn't even bat an eye at 200mm/s. The sound of the fan is louder than most of the printing moves now (as you can hear in the video).

Thank you for such a great upgrade to my printer!

Like it a lot, thanks for the effort!
TOM Mk6 extr.
Any idea where the outline has gone that primes the extruder before hitting the first layer?

That is the "Skirt" option in Skeinforge.

You'll need to go into "Edit Slicing Profiles" menu option, select the profile you are using (you can duplicate it if you want to save the original), then select "Edit...". Once inside the profile, go to the "Skirt" option, and enable it. You'll get the outline back. Press "Save All" at the bottom of the screen, close the profile, select "Done" from the initial dialog, and re-slice your object (be sure to select your edited version, if you duplicated the original and renamed it).

Hope that helps.

 Thanks for the reply. I'll give it a crack tonight. This firmware is extremely good when I compare it to my old prints.

Working great so far....  Thanks for your months of hard work!!  Do you do a Paypal donation?

Having an odd behavior with Sailfish. I printed calibration cubes (derivative:41258) and they came out fine, but then I printed something tricker (derivative:41257) and it has odd ripples. It might have been mechanical vibration. The print head was visibly jerking around as if it was following a sine wave around a circle (like following the moon's orbit around the Sun) rather than following a clean circle. The pattern is consistent the whole way up the sites. and all the way around the object. The ripples are on both the inside and outside, evenly spaced all the way around the object (which is circular). The Gcode (as viewed in Pleasant3D) looks perfectly circular. Any ideas? Since the Gcode is fine, I'm guessing it's not the object or Skeinforge, which leaves either mechanical or firmware. Any ideas?

Looking at that file, the surround is made up of lots of little lines.  Those junctions will become more pronounced if you slow down the print speed, or have a less than optimal K / K2.   Try tuning both of those first and printing at 120mm/s

Will do, thanks! Funny to think that faster = higher quality. Where's the best explanation of K and K2?

   Printed at 120 mm/s, and while it's faster, it's still got the same wiggles. They do look like they are related to the line segments.
   The parameters that I've set are:

  • Speed/Feed Rate 120 mm/s, Flow Rate 120 mm/s, Travel Feed Rate 200 mm/s, Perimeter Feed Rate Multiplier 0.9, Perimeter Flow Rate Multiplier 0.9.
  • Altshell is off.
       Hmm, next I'll try turning Altshell on, and see what happens. I also checked use M320/M3212. If this works, it'll narrow down causes.

 Printed with altshell on, and the ripples are less pronounced, but they're still there.

Now to read up on tuning K and K2.

Is this something that could work on the Printrbot?

Theoretically it could work on ramps, but it would have to be ported.

This is fantastic!  I cannot be any more impressed by how completely this fixes all my problems.  My replicator now whistles while it works rather than quivering and shaking through the processes!

My poor little cupcake would love this firmware!  I am trying to nurse it through printing itsself a stepper extruder.

Checkout the Jetty Forum

I dont know much about firmwares beside marlin and sprinter, could someone tell me if this would this work on ramps electronics? And what are the advantages of this over marlin?

Thank you.

It could do if ported.  It's faster than Marlin and more accurate.  This firmware is the Marlin Acceleration + a number of bug fixes + replacement algorithms for jerk + a working advance.

https://github.com/jetty840/Sourcehttps://github.com/jetty840/So... of sources...
Still confuced with Sanguino, how to port?
Do I need avr proggammer etc?

Wow! This is truly a bundle of awesomeness.  My replicator1 has never moved as fast, smooth and graceful as it does now.  Hats off to you gentlemen!

 I agree, this is like having a whole new Replicator. By far the most awesome thing I've seen on Thingiverse to date.

I have a cupcake it has the gen 3 electronics and was wondering if sailfish will work on it and if I can get it to work on a rep-rap like the Huxley and will it work with ponterface or repetier or rep-snapper that's
the host software I'm using with my Huxley 

Here's another print I just finished with http://i.imgur.com/Jj2cQ.jpghttp://i.imgur.com/Jj2cQ.jpg the green skull was printed with the old Jetty firmware at .30mm layer height and the blue one was just printed this morning with sailfish firmware at .10mm layer height.