Geeetech GT2560 & – Firmwares and my experience.

First off the same intro,

Hello, My name is George Robles. I have been posting videos on YouTube about My Geeetech Prusa i3 Pro B ( which I bought from Geeetech directly. I have been learning as I go but, I’m first going to do a little rambling so you know a little about me. i have extensive training in many fields (audio/ video service tech when I was in seventh grade, CNC machine operator at 18 and became a service tech for all machinery in the facility, at 21 I was back in school for airframe/(31 )powerplant tech. And keep going back for more in other fields, currently doing rv refrigerator refurbishing and 3d printing and any cars that crossed my paths) as well as the ability to understand anything mechanical, “how a machine works” is a fun puzzle to figure out, and will lead me to sometimes taking apart something I just bought (usually only if i don’t buy the the extended warranty) just to see how it works and see if I’m right or wrong about how it works and learn about it. i can learn just about anything from just watching another person, and become almost an expert if i’m allowed to ask questions. Yes, i know that sounds a little big headed but if you knew me in person you would understand. most of the people who know me know of my skills, i will stop by to visit a friends house and to open the gate was hard so, i just took ten seconds to bend a bar back in place and put it in the correct position. i do a lot of electrical work for them or what ever the job may be, yyyyYYYAAAYYyyy. I mean What ever you can do to help is great but, you never get what your worth. its different when you go help someone on the side of the road or really in need of help. yes, i actually do that.  one case a guy just needed to barrow my tools for a few minutes and take apart his valve heads. anyways,  i never like to brag or boast about myself but, i have to in a way on here so you know where i’m coming from and some of my skills. I can “multi-think”, is what i call it cause my vocab is small and i don’t have the best grammar, i can’t spell for crap, and to top it off i finger type so, i can think of a few things at the same time, usually when i’m fixing something. i will think of something i have to make and i will do several parts to the project at once, comes in handy when trouble shooting something, get my drift?

George Robles

Now that I have said something about myself you can also check me out on google+:

or  on my YouTube Channel:


Okay, the GT2560…………………

was good….

It needed a splitter on the z axis, and they revised it and came out with the GT2560 Rev A with a second slot for the z axis pins

and then there where many people with the firmware that worked all except for the extruders.

Messages where sent and things where resolved with changing the firmware.

I had posted firmware that was not tested by me. I apologize if it was just not working.

Here is firmware for the GT2560 Pro B single extruder setup,

GT2560 Pro B

Here is firmware for the GT2560 Pro C dual extruder setup,

GT2560 Pro C


This is the Firmware I am testing for own my setup and includes the following enabled features;

  1. Auto-level/Auto-Tramming. 3-point now, grid in the next version.
  2. Thermal Runaway protection for the bed and extruder
  3. Enabled PID settings on heat bed.
  4. I have added the pins for analog to use a filament sensor. See my YouTube video here for that.

I have corrected the following;

  1. The direction of the encoder wheel is now CW to increase instead of CCW.
  2. I added GT2560 to the marlin firmware.
  3. I have added the correct PID (general) settings for the bed and extruder for these type of printers. Its close not exact.
  4. I have soldered on a solid copper wire to Analog pin 5 on the GT2560 to add the filament sensor.
  5. I have ordered a Filament Sensor which have all files even to make the PCB and even the code for the 8 bit mcu. I have been testing the sensor with a volt meter and it works quite well. I paid $60.00 and ordered it from here. Shipping was included. I only had to print out the case, he provided the the sensor board already setup to use right away. It even had the 4 screws needed to assemble the case together and a piece of drill rod to calibrate the sensor. Three case designs work at the moment. One for 3mm, one for 1.75mm filament, and one for a filament extruder. I am surprised actually that this has not caught on more. Was it price? Availability? For me, $60.00 bucks was pricey but i feel well worth it.

I am currently testing the firmware and the filament sensor. Finally!

This is the firmware that I am currently testing with all that is listed above.

GT2560 Rev A Single MK8




76 thoughts on “Geeetech GT2560 & – Firmwares and my experience.

  1. Hi George,
    I downloaded and start using your I3 pro B firmware.
    Everything seems ok, except for a strange issue. If I calculate the travel of x or y axis, from 0 to 100, it measure 98 so I lose almost 2mm. Same thing if I calculate the travel from 10 to 20, or from 10 to 60. I always loose 2mm. Always same measure. Any tip? Maybe something current releated?


    1. Change step count from, 78.74 to 80.0 for both X and y. The line of code in configuration.h file #define DEFAULT_AXIS_STEPS_PER_UNIT (78.74, 78.74, 2560, 95) Change these first two numbers so the it looks like this: (80.0, 80.0, 2560, 95)


  2. I am assisting my youngest daughter with her science project and need some assistance with this board.
    she is 10 and building a FDM printer for the science fair. we chose the GT2650 because of its compact size and design. the printer is built, and after some trial and error and my assistance they have firmware installed (we are using repetier)

    btw, if anyone is interested, to make repetier work choose-
    Processor: Amtel 8 based board (e.g. arduino mega) ultimaker
    Motherboard: Ultimaker Shield 1.5.7

    extruders and endstops are fine, but the I am trying to help them with fans/pins.h.
    i want to understand the pinouts for the fan headers. are they just exp3 or 4 on the ultimaker in disguise as i suspect? if so how do they map out for turning on, pwm etc., etc.

    the wiki shows the ports labeled/wired as follows (from the center to the bottom right)
    red blk yel
    * *] *]
    ] ]
    fan pwm

    yel * f
    blk *—-a 2
    red *—-n

    yel * f
    blk *—-a 1
    red *—-n

    yel * f
    blk *—-a 3
    red *—-n

    (odd that they go out of order)

    repetier’s ultimaker shield Pins.h defines by name a default Fan 1, Fan 2, (no fan 0 or fan 3)
    * Ultimaker Shield pin assignment v1.5.7
    #if MOTHERBOARD == 37
    #define ULTIMAKER_157
    #define KNOWN_BOARD 1

    #define ORIG_X_STEP_PIN 25
    #define ORIG_X_DIR_PIN 23
    #define ORIG_X_MIN_PIN 22
    #define ORIG_X_MAX_PIN 24
    #define ORIG_X_ENABLE_PIN 27

    #define ORIG_Y_STEP_PIN 31
    #define ORIG_Y_DIR_PIN 33
    #define ORIG_Y_MIN_PIN 26
    #define ORIG_Y_MAX_PIN 28
    #define ORIG_Y_ENABLE_PIN 29

    #define ORIG_Z_STEP_PIN 37
    #define ORIG_Z_DIR_PIN 39
    #define ORIG_Z_MIN_PIN 30
    #define ORIG_Z_MAX_PIN 32
    #define ORIG_Z_ENABLE_PIN 35

    // bed
    #define HEATER_1_PIN 4
    #define TEMP_1_PIN 10

    #define HEATER_0_PIN 2
    #define TEMP_0_PIN 8

    #define HEATER_2_PIN 3
    #define TEMP_2_PIN 9

    #define HEATER_3_PIN -1
    #define TEMP_3_PIN -1

    #define ORIG_E0_STEP_PIN 43
    #define ORIG_E0_DIR_PIN 45
    #define ORIG_E0_ENABLE_PIN 41
    #define E0_FAN_PIN -1

    #define ORIG_E1_STEP_PIN 49
    #define ORIG_E1_DIR_PIN 47
    #define ORIG_E1_ENABLE_PIN 48
    #define E1_FAN_PIN -1

    #define LED_PIN 13
    #define ORIG_FAN_PIN 7
    #define ORIG_PS_ON_PIN 12
    #define KILL_PIN -1
    //PIN that has to be turned on right after start, to keep power flowing.
    #define SUICIDE_PIN 54

    #define SCK_PIN 52
    #define MISO_PIN 50
    #define MOSI_PIN 51
    #define SDPOWER -1
    #define SDSS 53
    #define ORIG_SDCARDDETECT 38



    help would be most appreciated.


    1. Okay, first off its a GT2560, which means Geeetech with atmel chip 2560. Hence the name.
      Not ultimaker anymore on my firmware setups, so take a look at config.h file where most user settings are, I have added GT2560 to the firmware. A Pro B setup is 200mm by 200mm X and y with max travels of 205mm. You can change this when you want. These have the reprap smart controller enabled alnog with many other saftey features. The pin out is in the see the labels for each but you can see I have enabled many links already to the many setups. GT2560 is just a control board compatible to the ramps1.4 and ultimaker board as far as most all pinouts. So double check the newest firmware. If stepper moves opposite then flip two center wire. Geeetech has there own repetier host. And you can also see the other post I have. There is more info through the bunch, so if you need more then this, let me know via my email, and I will offer you a better price than what you pay online on my online store,


  3. Hello, please can you tell me how do you menan that you added GT2560 to the marlin firmware? I have tried to find GT2560 (ATmega 2560) in firmware in “boards.h” without results. In Configuration.h on line 47 is “#define MOTHERBOARD BOARD_ULTIMAKER” … I was thinking that exactly there would be the ATmega 2560 board. I have problem with Nema motors and LCD 2004 and I dont know where could be the problem … Thanks in advanced for your answer.


  4. Hi i have installed your rev A and uploded onto my i3 b at first the y axis was reversed so i changed from true to faulse this worked . But now the bed wont centre or go to the end stop/home any ideas what i need to change


  5. Hi
    first let me appologise for my stupidity but I am very new to this and hope you can help.
    Im trying to compile the software for a dual extruder Delta but it keeps telling me …
    using typedf-name ‘fpos_t’ after ‘struct’

    and i have no idea why.
    I would really like to get somewhere with this if you could help that would be great


  6. Hello, its a good and interesting article here! I want to do all, like, implement the filament sensor, or the autoleveling.
    I have a question, I need some help, i have the geeetech i3 Pro C (dual extruder). My extruders are for 1.75 filament with 0.3mm nozzle. I have buyed one extruder for 3mm filament, i have change it, and i have set Slicer and Repetier to the new extruder, but dont work appropriately, it looks like the stepper motor make skips. What can i do? I need to update the driver firmware?


    1. Need to calibrate your nozzle for the larger filament. 1.75 to 2.85 mm filament is a difference of volume flow through the Nozzle. And firmware is setup for both extruder to be the same size filament.


  7. Hi George, I am a complete novice at this but have just finished a build on the Acrilyc I3 with the GT2650 controller.
    I powered on and no smoke thank god and moved the LCD to prepare then Home and the Bed first goes to the end point without stopping the motor is grinding the belt trying to force it, hitting the end switch doesnt seem to stop it before it gets there, then after a few second the bed and motor stop and it is at the end point. same applies to all axis’s, I would say that i need to change the end stop position but where do i do that? I have been on the internet looking for such stuff, i havent yet connected the printer to a computer as I thought it would be better to set it up as a stand alone unit first.
    Please be gentle in your reply.
    Regards, john Hill Australia.


  8. Hello George I was following you on youtube in order to install 3d printer i3 black ecrylic until vedio 10 so. We stuck now with install ing gt2560 and lcd 2004 screen screen show print test and nothing more . Please help us I bought the printer for my son birthday


  9. After installing the firmware of Prusia I3 proB and set Repetier Slicer and here I am with another problem. When I want to start my first impression of the X and Y axes are going in the wrong direction and abut the endstop. Should we change the lines in the firmware?
    Thank you for your reply


    1. Need to change two lines of code in configuration.h file using Arduino ide click on tab”Define X/Y axis direction”. If it say true then it has to change to false. If false then change to true.
      Another way is to invert the wires in connection to motor. Some say flip two center wires 180° and try again. This is a bit tricky to do. Have to push in metal tab and push in the pull out the wire to remove. If clip is depressed correctly then will come out. If not then no movement.

      If have trouble, let me know. If you see video on my printer, will see my motor mount is different than yours.


    1. I have not used this sensor yet. Which is why I don’t sell it yet on my store.
      Normally, I use the min for z axis on my setup.
      G28 is first homing g-code I use, then I run G-29 for autolevel homing.

      If you do not home machine first. May not move untill right command is entered.

      If you want to try at own risk,

      Try this, G28 and probe should touch X then Y then go to center of bed.
      Then I run g-code G29 for autoleveling.

      If this works then will need to include it in startup g-code


  10. Hi! Im just getting started wth my new and first 3d printer, a geeetech i3 pro b.
    I was having a problem with the extruder motor not working until i tried the fw you posted here (not your version)
    I also noticed that the knob in the CLD moves in the opposite direction and is really annoying.
    Can you tell me where did you fixed that as in your comments?
    “The direction of the encoder wheel is now CW to increase instead of CCW”



    1. Switch numbers in BTn for the board you are using, I believe it’s setup as ultimaker board. Its in the pins.h file and under ultimaker board, the near bottom will say a group of three numbers, the ones that say BTN, swap the numbers. There are two.

      Liked by 1 person

  11. George – try as I might I cannot get any firmware uploaded. I get the timeout message. I hook up via usb, through the Arduino Ide, load firmware in arduino and run check, it all comes back ok, then I hit upload, watch the green bar till it gets 98% of the way through upload, then comes the time out error message. I am pretty sure the settings are right. Any ideas what I should try? I have the Pro B version. Thanks for the help. Ron


  12. Dear George
    first of all you are doing a great job here.
    My problem:
    I bought the Geetech I3 Pro. Build was easy but I have a huge problem connecting to the printer.
    1st I tried to connect directly to the gt2560 but I always get the “avrdude: stk500v2_getsync(): timeout communicating with programmer” whenever I try to upload to the board.
    Of course I cant connect to any 3d program. I used 2 PCs Windows 10 & Windows XP. My arduino Duemilanova works fine on both PCs.
    2nd I tried to BURN the bootloader on the GT2560 with the Arduino. I folowed the instructions from the forum and when I plugged everything on the Arduino and plugged the USB the Arduino( the COM port) disappeared.
    When I removed the 5v wire it showed up again.
    So I decided to plug in the power on the GT2560. With the power on everything was OK with the com ports and arduino.
    So I tried to burn the bootloader and I got “avrdude: verification error; content mismatch”.
    After that I get a led blinking on the GT2560 and the Board is dead!
    – Bought a USBasp.The only think is that with the USBasp and avrdudess I connected everything and Avrdudess found the Atmega2560 successfully, and also burned the bootloader successfully.
    Then back to the arduino Marlin software excactly the same no upload.
    – also changed the crystal from an old Arduino I had. NOTHING
    also check the forum:

    thanks in advance


    1. Hmm.

      What version of gt2560 do you have on the printer? Will say rev a or something. Or not. Which is legacy board.
      Have you read all three posts? The forth is a repost of the first one.

      May need to Skype with you.

      But you may get a free chance to troubleshoot if you catch me while streaming and doing q and a, then you may get the help you need for free.
      If you want one on one help then will need to pay for tech support


    2. Try this. Look for newest Arduino IDE version.
      Download from Arduinos website.
      Then when you get to the point of saving on you PC and gives you a choice of where to store program, just change label like to newest Arduino, and then save it. It will take care of all the drivers needed for USB. However, will need to use Arduino IDE version 1.0.1 to 1.0.4
      Any of those four and will be good.
      Set board to mega adk, com port, then hit compile, that’s saying you got the firmware from one of my links, and then if it compiled fine, hit the upload button, will compile again then give you a size of memory used, and start uploading.
      Board will reset on its own.
      If only going by LCD operation, suggest plug into a PC and check with repetier host


  13. No luck
    – Board is GT2560 rev A+
    – I did what you said with the Arduino IDE (now I get this driver USB Serial Port (COM3) FTDI 12/7/2013 ver.
    – Dont know if you read the forum post, when I first started the printer it worked fine from the LCD, except from the X-Axis. So I tried to upload the Marlin to corect the problem. No connection and They told me to burn the bootloader. SInce then I get nothing…just 2 black rows on the LCD and flashing led on the board (check the photos that I’ve just uploaded on the forum:
    – This is what I get from the Arduino 1.0.4:

    avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
    Copyright (c) 2000-2005 Brian Dean,
    Copyright (c) 2007-2009 Joerg Wunsch

    System wide configuration file is “D:\SkyDrive\3d_PRINT\arduino-1.0.4\hardware/tools/avr/etc/avrdude.conf”

    Using Port : \\.\COM3
    Using Programmer : wiring
    Overriding Baud Rate : 115200
    avrdude: wiring_open(): releasing DTR/RTS
    avrdude: wiring_open(): asserting DTR/RTS
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programmer

    avrdude done. Thank you.


      1. Yes. But if you want what I have it’s right there. As in libraries that I used for the firmware. You may not get the same result by going to Arduinos website but your welcome to try.


  14. ok you mean download from your links arduino 1.0.1 AND the firmware? (the firmware you have there is Sanguinololou I think this is older)


      1. yes I used the I pro B for single extruder…I think I found you in twitter I allready send you pm many thanks for your time…but I start thinking that there is a hardware error or something wrong with my USB driver


    1. hahaha so I had the wrong twitter I think I got you now. The news are problem SOLVED. It was the USB driver. They send me this one:
      Many thanks…now I have to calibrate it do you have any video lessons I can watch? (it is printing but the PLA doesn’t stick to the glass! I have ordered the 3DTouch auto levelling sensor but hasn’t arrived yet. Can I use your firmware now? Does it matter that I don’t have the sensor or any other of your mods?


      1. Can use now, but in stead of it homing z axis in corner will no longer happen. It will no home to the center of bed when running a “G28; home all axis” command.
        If using an mk8 or mk9, your pretty much there.

        Easiest way to calibrate, mark filament going into printer at 10mm, 15mm, and 20mm
        Heat extruder and call for filament of 10mm down via manual control. (You may need to have head parked away from bed or raise it up so plastic can come out of nozzle.)
        Then measure to you lines again and it should be 10mm shorter. If not, subtract the difference, and add that to the steps per mm for e axis.


  15. Can You please tell me how did You reverse the knoob for menu navigation? What needs to be changed where in the sketch in default Geeetech FW?


  16. Hi George,

    i’m 59 and building my second 3D printer. First was a chinese clone-of-a-clone Prusa i3.
    This came with a GT2560. Working…. quite well!
    I modified it with a Bowden drive and a E3D hot-end(lite).
    With this i printed the parts for a Hypercube (by Tech2C). It’s a CoreXY style printer.

    I liked the concept of the GT2560, so i ordered a new one. This time a Reva plus (with the sensor pins)
    Unlike many remarks about using older versions of Arduino IDE i was able to use V1.8.5 and succesfully uploaded Marlin on this GT2560.

    Weird thing: The LCD and SD cable recievers were soldered wrong ( the gap/notch was on the wrong side) When i corrected this the display (2004, rotary/push switch) was diplaying the menu and working.
    But:…… there’s a constant beep. And, although the rotary-switch is working through the menu there’s NO respons. So i can’t autohome oren move axis. Also when pushing a min-stop there’s no response.

    Can you give advice, please ?


    ‘Radio’ Ron.


    1. pull cable for smart contrller lcd. dissable in firmware as well and can run via a pc or octoprint if you just want to print now.

      also can disable pins.h file the pin for the beeper.

      side note, the newest version of of arduino ide has different libraries, so best to elinminate that simple problem first and check it.
      if your using the new firmware by geeetech then likely running something made for that ide version. its mainly made for the bl touch that geeetech sells a clone of it thats called the 3d touch.

      so its up to you which way you want to go, but i don’t reccomend running this one way while firware another way with a version of ide that just happened to work. be ware of unforseen problems or things that are uncommon.


    2. quick way to check your lcd controller is try it on your older setup. if good then you know for sure. the firmware is another question, which one with which ide is an issue , but is thats an easy fix. install tht version and save it with a different name when/during install.


      1. Thanks George for your help. I’ve figured it out with your information and it is working now.
        Base was: GT2560 had upside-down cable-recievers for SD and LCD. Firmware and IDE was also not a good combination for my situation.
        I’ll write details later..

        ‘Radio’Ron Versteeg.

        Liked by 1 person

  17. Hey! I am a beginner of this. I have uploaded Marlin 1.1.6 to Geeetech 2560 rev. A in my Ebay China, Geeetech Prusa i3. In Configuration h. I have 7 as motherboard.
    Has set DEFAULT_AXIS_STEPS_PER_UNIT {78.74,78.74,2399,102.5} Everything works except that the Y axis moves 4 times too far. The X-axis is perfect. As I see it, X have the physical conditions as Y.
    What do I miss?


  18. George, i’m getting crazy. Been working on the Z probe (inductive type) for weeks now. The probe triggers, but won’t stop the z-stepper. I want to use the probe for both homing and (auto) bed levelling and keep the z-min swith as a failsafe ( if that is possible).. Any idea ??
    Looks like i’m missing the point with the pins.




    1. Not sure if I responded to this yet, sorry, life got real busy for a while. Actually, still is.

      Yes it’s possible, but have to set it up in code, settings, and then adjust pins.h file for the board, my modified code is labeled as gt2560.
      Then go to Google for Arduino mega pin map. Then you will understand the pins.h file.
      For the rest, that specific setup has been done else where by others and can find in reprap forums.
      I have not done it yet. It time permits, I will, and will anyway in near future I hope.

      All you have to do is add some simple lines of code, if you know Arduino, like if this then that, and intergrade with existing definitions, tabs.


  19. This firmware will not compile in Arduino IDE. It terminates with this error.

    “DATA/CNC/GeeeTech/Firmware/GT2560/Marlin-PI3_Pro_B/Marlin/Marlin.ino:46:60: fatal error: LiquidCrystal.h: No such file or directory
    #include // library for character LCD
    compilation terminated.
    exit status 1
    Error compiling for board Arduino/Genuino Mega or Mega 2560.”
    Note I am not a programmer so this has me stumped.


      1. I had a similar error when I first started. It turned out to be the liquid crystal.h file in the Arduino IDE not being correct. If you go into “Sketch” and then “Include Library” then “Manage Libraries” Do a search for LiquidCrystal.h and install it should solve your problem. It did mine. Hope it helps.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s