Delta G2S Configuration for Repetier Firmware

by wbrucem, published

Delta G2S Configuration for Repetier Firmware by wbrucem Jan 28, 2016
1 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


A part of these Groups

View All

Liked By

View All

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

7504Views 1444Downloads Found in 3D Printers


This isn't a printable thing. It is a starting configuration for running Repetier-Firmware on the Geeetech Delta G2S printer. My printer is working beautifully on this firmware, much smoother than the old Marlin stuff, along with a number of new features. Give it a try.

To use:

  • Go to [https://www.repetier.com/firmware/dev/index.php]
  • Upload the enclosed .json file as your "old" configuration.
  • Complete the configuration tool steps, adjusting where needed to match YOUR printer.
  • At the end, choose "Download complete firmware" to retrieve the entire firmware package (.zip file).
  • Compile and upload to your printer as you have done with Marlin.
  • Further configuration changes should always be performed via the online configuration tool. DON'T edit your Configuration.h file directly.


  • Pay attention to the diagram showing how to measure dimensions of your printer. Some of these may differ slightly from the ones used in Marlin.
  • Extruder offsets are handled entirely within the firmware. You should enter ZERO offsets in your slicer and Repetier-Host configurations.
  • This firmware is under active development. If you happen to download a copy that fails to compile, just try again after a couple of days. Chances are the problem will have been fixed.

Disclaimer: I am not associated with Repetier. I'm just a happy user.

Update: I'm current recommending use of the "development" version. You can still upload my posted json file as your starting configuration.

More from 3D Printers

view more

All Apps

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

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch 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

I notice when looking at the configuration that the eeprom is disabled by default. Is there a specific reason for that?

I always make adjustments via the firmware configuration, so I don't use the EEPROM. Feel free to turn it on, if you want.

Thank you so much for posting this .json file, its taken all of the leg work out of configuration of the Repetier firmware - and the posts I'd seen on various forums weren't wrong, the control and positioning is quite clearly better and more accurate, the steppers sing now, rather than stutter, its so much smoother than Marlin, and being able to edit so much of the firmware values from inside repetier host is a joy - thank you once again for posting it - its turned my G2 into something I never imagined a budget delta could be!

WOW! my printer is SO much SMOOTHER!! it almost sounds like an expensive printer! i stumbled upon this when i bricked my marlin version, and no GEEETech firmware worked. the only one that remotely worked was one that is quite a bit newer than the printer, but even that didn't make it good. i'm not sure if the compiler in 1.0.5r2 was to blame, or something else, but the simple homing action took so long that the printer timed out and disabled the steppers 2/3 the way through the action. this one has a lot more features. i'm hopeful that it works right the first time, as i am no programmer (not in terms of coding)

The repetier online configuration tool doesn't seem to accept json file anymore, any chance to have your configuration.h ?

I'm was doing the same thing before I found your work. I've already got everything to work except the z probing and auto levelling not showing up in the menu. So I'd love to see your configuration to see what's different.

Here's my firmware

They apparently have broken the processing of .json configuration files, even a freshly generated one is rejected by the same tool that made it.

I have uploaded a new .h version of the configuration file. It was produced by the current 1.0.0 tool and I was able to load it successfully. I hope that helps.

Great Firmware!!!!! Any upgrades you recommend? I have a G2S. I really want get better double extruders and a better probing system. Any ideas would to better my printer would be awesome.

I have posted most of the mods I've done. The 3-bearing carriages and magnetically attached diagonal rods have made the most obvious improvements. The E3D Chimera is an excellent hotend upgrade that can be easily adapted to mount into the stock spider.


Aren't you using the FAN? In your config the fan is enabled at 50°C. I want it to be controlled via Repetier-host when printing ABS because the Extruder otherwise needs a lot of time to heat up.

Any experience?

The standard GT2560 controller has only a single software controlled fan port, which I believe is better utilized for print cooling. I have replaced my board with an MKS Gen v1.4, which includes a number of additional ports for fans, servos, etc.


I've tried compiling this using Arduino IDE 1.8.0 and by uploading the .json file to the development version of the Repetier Firmware downloader. After configuring and downloading, I keep encountering the error 'zBabystepsMissing' is not a member of 'Printer' when the compiler reaches motion.cpp. I've been unable to find anything about it online and am rather inexperienced with Arduino programming. Anysuggestions?

There would appear to be some problems in the development version at the moment. Presumably they will be sorted out in the next few days. Meanwhile, you can fall back to the 92.9 release. I have verified that it does compile correctly.

Thanks, it works great!

Thank you!

My G2s is running smoother than on Marlin with this!

why the Z is constantly going up when i set homing.
i can put the original homing system???
i'm new at this by the way XD

I'm guessing you are asking about the move happening immediately after homing. Repetier firmware handles nozzle offsets a bit differently, compared to Marlin. After homing, the carriages move to position the selected nozzle at the center point. If you select the other extruder, you will see it being moved into the same position. In this way the selected nozzle is always at the position being reported by the printer, and you should set extruder offsets to zero in the slicer (because the printer is handling the offsets internally).

If this really bothers you, it can be disabled by setting the firmware extruder offsets to zero. In this case you will need to use offset values in your slicer program to align the nozzles when printing.


and a last question.
mi extruder step motors does not work.

Extruder motors are disabled until the hotend temperature is above 165 degrees.

Comments deleted.

Are you auto leveling or manual? Is the error the same everywhere or varied? In general, you should not do manual leveling after auto leveling. Do the manual procedure first, to get it close, then auto level to let the printer correct for small variations in the bed, etc. If auto level is giving bad results, it could be due to things like incorrect Z-probe height value in the firmware. Frankly, I've never been happy with auto leveling results myself, so I just do a good manual leveling and forget auto leveling. Remember to disable autolevel (M321 S2) if you had it enabled before. BTW, G-code commands are listed in the main Arduino sketch module, "Repetier".

For manual leveling I use a test position in the center and one near each bed adjustment screw. Cycle through the 3 outer positions until you make a complete rotation without changing any. Then check the center position. If the center is not correct, you need to adjust your 'radius when centered' value. Changes here will affect the edges, not the center. Increase the value to make the nozzle higher near the edges, decrease for lower.

After finally getting the firmware compiled, I found that the 1.11 Boards update did not work with Repetier's code, had to switch back down to 1.8. In case you are having issues.
I did have a question though. I went through the video's process for bed leveling M321, G131, M99 X0, M99 Y0, M99 Z0 (all with 30cm rod), G132 S1, G32 S2, G1 Z10, G29.
Are there any other steps before running a print other than have the bed as level as possible using geeetech process?
Also does this have to be done before each print?

I have been using the latest Arduino IDE for a while (now 1.6.10) without any problems. I'm also using the development version of Repetier firmware (1.0.0-beta).

All of those steps, through G132 S1, are related to calibrating the end stops. Since the results are stored into EPROM, you should not have repeat them unless something has changed there. G32 S2 is auto leveling (again stored), repeat whenever you feel is needed, but should not change often.

Thanks, i keep ending up 2.5 to 3.5 mm off on my Z. I've started adjusting the "Horizontal radius when centered" using pythagoreans theorem to recalculate to correct for the delta. Any other ideas why my Z would always be off even after all the calibration?

Tried out this firmware config with latest Repetier. Works great on my printer. Thanks for the effort of setting it up.

I did change the extruder sensor type to generic table 2 instead of 1 as it better matched my measurements around 210°C.

I switched to Repetier because I could not get a good calibration for my printer on the edges with the community Marlin. At first I had the same problems but eventually I just flushed the endstop adjustments screws with the carriage top and that did the magic. Using mirror build surface.

I for one like the extra menus and options on the LCD. Especially the Z-calibration is a breeze compared to Marlin. I am missing the delta calibration presets that Marlin offers in its menu, but not that much now it is calibrated. But Repetier has easy movement options which kinda allow you to do the same.

Why cannot someone explain what has to be adjusted or what has to be put in this firmware for the G2S Pro?
It would be great if someone would help.

Is there a specific area you find confusing? The primary adjustments will be your Z-height, diagonal rod length and radius measurements. This is configured for dual extruders, for a single extruder simply change the "number of extruders" value and zero the offsets. Once you have the height correct in the center and the bed level (to the base), make small adjustments to the radius value until height towards the edges match the center. Everything else should be the usual fine tuning you would do on any firmware for best performance.

Use the online configuration tool to make all adjustments.

I have tried it but it came straight to an issue when homeing. one stepper did not move

Maybe the end stop is already triggered? Check it by sending an M119 command.

hello.. just finish building this delta pi, http://www.thingiverse.com/thing:53708 just waiting for its hot end..
sorry for the newb ?? will this firmware work with this delta pi printer, 4yr old design.. assuming that i change the rod length and rod radius in the FW..

thank you

Delta-Pi Reprap 3D Printer

I would expect the Repetier firmware to work on that printer, once you have it properly configured. You will also need to select the appropriate options to match your electronics (controller board, etc.). Since you have a different printer, there probably isn't any advantage in using my G2S configuration. Just start a fresh online configuration session and go through all the settings. They have reasonable defaults for much of it.

Good luck, and enjoy your new toy! 8)

Thanks for the write up Bruce. I'm going to give this a try.

I tried your configuration modified for my machine. Everything Works but the heated bed. I get a low bright blinking on the bed heater led on the gt2560 board. Led on bed does not light at all. Was working ok with original firmware and marlín 1.1.

Hmm, I don't know. The bed heater should be controlled via pin 4, and everything appears to be configured that way.

BTW, I have never successfully used the auto-leveling feature (even on Marlin). I have my bed manually leveled quite well, so I have not put much energy into sorting out the auto function. If you get it working, please share your changes so I can update the configuration.

OK, I got the auto leveling worked out. I've updated the .json file with new settings. For those who may have already started, I will list the changes below.

The complete auto-leveling procedure is documented here:

General tab (in the online configuration tool):

  • Correction Points per Axis = 5
  • Correction Radius = 55

Features tab:

  • Probe Triggers on HIGH = False (unchecked)
  • Probe Bed Distance = 20
  • Probe Height = POSITIVE value (You can measure this by deploying the probe and manually lowering Z until the switch clicks.)
  • Probing Speed = 10
  • Speed Between Points = 40
  • Distance to Switch Off = 4
  • Probing Repetitions = 5

  • Bed Measuring Method = n*n Grid
  • Bed Leveling Grid Size = 5
  • Probe Position 1 = -55, -55
  • Probe Position 2 = 55, -55
  • Probe Position 3 = -55, 55

These values worked for me, feel free to tweak them for your setup. Due to the probe offset, I couldn't go much beyond 55mm in the positive X dimension without exceeding maximum head displacement. I'm fairly sure 60 works, but I know 65 failed.

Comments deleted.

Can you give some examples of what is better in repetier firmware.
To my experience the Marlin firmware works perfect on the printer.

Does the repetier firmware also have an interface to print from SD-card with the Geeetech G2S?

All the basic functions you are accustomed to seeing are in there, so yes, you can print from the SD card. You can fully manage SD card contents directly through Repetier-Host, if you want.

The first thing I noticed was that movement of the spider is much smoother (less jerky) compared to Marlin. And I am convinced Repetier's positioning is more accurate, producing far less odd bumps and ridges in the finished print. I know the quality of my prints visibly improved as a result of switching firmware.

This firmware implements the "dry run" feature, allowing it to process a print doing everything except heating and extruding. This could be useful if you are having motor sync issues, or something, you can run a test "print" without wasting filament.

The printer's control panel is a lot more functional. There are several "pages" of status displays. You can directly control the fan and heaters. You have access to a decent set of positioning controls right on the panel, as well as calibration functions.

I wasn't really unhappy with Marlin, but now that I have the Repetier firmware running I feel confident I'm getting a better experience.

Also remember that it's pretty trivial to switch back any time you feel the need. I flip-flopped several times while I was working through issues in Repetier but still needed to do some prints.

The firmware seems to work well. Movement is a lot smoother indeed!

However, when I want to start a print it goes to "print paused".
Did you have the same issue at the start and how did you solve it?

I assume this is immediately after homing? I do recall seeing that. I believe there should be a message in the log saying what condition caused the pause request. That may help in diagnosing the issue.

On the "Mechanics" tab there is a setting for "Endstop Distance After Homing", did you change that? I use values of 10, 10, 10. This firmware always places the selected extruder at the reported position. This means that after homing, the head needs to be able to move by the extruder offset without triggering any endstops. Dropping everything down by 10mm allows room for this. You may need to subtract this 10mm from your Zmax value, I don't remember exactly. Check the displayed Z value after homing to see whether they've accounted for that move.

Thank you very much! I will try it next week.
This sounds really promising as I noticed the bumps and ridges on the finished prints as well.
I'll put some photos in the "I made one" for a comparison, if I succeed!