Welcome! Log In Create A New Profile


Can't Upload Firmware to RAMPS

Posted by vulcanrd 
Can't Upload Firmware to RAMPS
December 26, 2011 06:35PM
I have a preassembled RAMPS 1.4 from Ultimachine and have been unable to connect and upload anything successfully.

The green LED is on the Arduino board only...there are no other LED's on.

I have the board Mega 2560 and COM3 specced in the Arduino software. I can compile the Marlin firmware (other ones I tried had errors). When I click upload it says 'uploading' but I have left it for over 1/2 hour with no change at all.

After that elapses it gives a bunch of timeout errors.

Help please!

Edited 1 time(s). Last edit at 12/26/2011 06:47PM by vulcanrd.
Re: Can't Upload Firmware to RAMPS
December 27, 2011 07:29AM
COM3 implies you are using some variety of Windows, right?

How sure are you that your arduino is connected to COM3?

Mine ended up on COM4. I checked in the Device Manager, under Ports (COM & LPT).

Have you installed the device driver for your arduino? If not, you need to find the file "Arduino MEGA 2560.inf" on the arduino website and copy it into your arduino-0022/drivers folder. Right-click on the .inf file and select "install".

Hope that helps.

Andrew Roberts
I am having the same issue. I have a pre-build RAMPS 1.4. I can connect to it through COM4 with the RepSnapper, but once I send any other G-code, NOTHING happens. No motors even twitch, no LED, no anything.
I get the "start" returned. From what I have read, these prebuilts have the bootloader already on them, so I haven't tried to re-do this.
I also have run the Arduino v1.0, and the SetupTest times out.

Next steps?

Re: Can't Upload Firmware to RAMPS
January 02, 2012 12:54AM
Most likely causes.

1. Voltage problems. Lots of people misunderstand the power connections. You don't connect 5V (the red wires on an ATX supply) to >anything<. The sockets marked 11A and 5A are both 12V, but at different currents. The 5A socket is where the heated nozzle and stepper motors get their power, the 11A socket is for the heated build platform.

2. Wiring sequence. Lots of people get the sequence of coloured wires from the steppers wrong.

3. Endstops set wrong in firmware for how you built the printer. You need to be able to flash firmware to fix this.

I'm not familiar with repsnapper, I use pronterface. And remote help is hard, because I don't know what you've already done. You imply that you haven't flashed your firmware yet.

If you are getting the "start" message returned, that means you are using the right port, at the right speed, and you have >some< form of firmware loaded on the RAMPS board, probably Sprinter. That's all good.

Here are some posts on my blog that may help you. If you've got different hardware from me (I built a MakerGear Mendel Prusa kit), some things will be different.


The bit about assumptions at the beginning of the "motors moving" post is not just fluff. If you don't have those particular programs up and running, my suggestions might not help (or even work). But reading them wouldn't hurt either.

My next step would >not< be to try to test the motors. I would get the firmware compilation system working next. Then make sure that the thermistor(s) work, and that you get sensible readings from them. You can do all of that using just the power from the USB cable, without applying the high-current 12V from the power supply.

Once you get the firmware compiled and uploaded, you'll be better able to change the settings to suit your printer. The firmwares that I use (Marlin and Sprinter) are undergoing rapid development. You don't always want the most recent version, you want the version that your installation instructions were written for, at least til you know everything works.

Hm, I know I'm verbose. I just don't get how people can answer a question like yours (where there are trillions of possible causes of problems) in a line or two. Maybe they're psychic?

Andrew Roberts
The problem with the pre-installed firmware is that it lulls you into a false sense of security. You >can't< run a printer without being able to compile and upload your (choice of) firmware. There are too many different ways of building a printer, too many different components, too many calibration adjustments to make. You customise your firmware to suit what you've built, often by changing a file called configuration.h in your firmware folder.
Re: Can't Upload Firmware to RAMPS
January 02, 2012 05:05PM
I had the same problem- preassembled RAMPS 1.4 from Ultimachine and have been unable upload firmware.
The solution in my situation- do not use the current Arduino software for uploading.
Instead, download previous version- Arduino 0023 from [www.arduino.cc]
Thanks for the info! Great info on the links too. Most helpful.
It was a power supply issue. Once I got the 5A to the right place, all is well. I have the axes homed and moved on to the extruder. Although I still need to do some work on the X axis - it doesn't want to move the whole distance, just stops after about 20 mm. Think it's a belt issue, but the motor should still work in that case.
RepSnapper seems to work fairly well. Has all the Gcode mapped to buttons so you can send commands easily. My temperature issue may be in there somewhere. I will continue to check this.
Anyway, I melted the PTFE piece on the Wade's extruder. The thermistor output wasn't showing up, although the R was good on the probe, and it was increasing with increasing temp. Somehow it was not getting to the right place to tell the heater to stop heating! This the melted part.
So now I'm stuck trying to find another piece there. Have asked BotMill, where I purchased the parts, and will see what they say tomorrow. I have their v2.1.
If you know where I can get one of these, and an idea on why the thermistor output isn't showing, do tell.

Re: Can't Upload Firmware to RAMPS
January 03, 2012 05:13AM
Yay for getting the motors and endstops going.

If there is too much friction in the x-carriage movement at any point in its travel, the x-motor will stall.
If you take the x-belt off, you should be able to move the x-carriage by hand fully from side to side without much variation in the force required. If not, you've got alignment issues with your parallel rods, and you should fix that before worrying about motors, electronics or mounting the extruder. And yes, with the x-belt removed the x-motor should work fine, because it will be completely unloaded.

Ouch about the melted bit. This is one reason I suggested getting the firmware set up before playing with motors or heat. You want to know your software system can report temperature accurately.

In both sprinter and marlin firmware, there is a lockout that stops the extruder heating at all if the thermistor temperature reading is less than 5 degrees. That way, if the thermistor comes un-connected for some reason (evil crimps, I hate them) nothing gets melted. Regardless, don't even >try< to extrude if your printer control software doesn't report ambient temperature within a degree or two (Celsius, of course).

Using an unmodified version of Marlin on my machine gave me totally crazy temp readings - like 127 degrees as ambient temp. I didn't try to extrude, as who knows what the real nozzle temp would get to.

The three most likely reasons I can think of for your thermistor to read zero are:

1. The connectors are open circuit or shorted together. You say the R is good, so it sounds like you've already tested this. If you hadn't, I'd suggest that you unplug the thermistor connector from the ramps board and measure the resistance across the connectors leading to the thermistor. If you get no connection, something isn't plugged in (usually a crimp isn't making contact). If you get zero ohms, you've got a short between the two wires, or the leads of the thermistor itself. Without knowing what sort of thermistor you've got, I can't guess what a good resistance would be.

But it sounds like you've eliminated that possibility, leaving

2. You've plugged the thermistor into the wrong place on the RAMPS board. It needs to go on the pins labelled T0.


3. The firmware is expecting the thermistor to be connected somewhere it isn't (meaning you've got the wrong board selected in your firmware configuration file), or the firmware is expecting a different sort of thermistor (also a change you'd have to make in the config file, though I'd expect silly numbers rather than exactly zero degrees if this was the case).

If you haven't flashed your arduino with your own choice of firmware, who knows what it is currently set up for. And if you ever >had< succeeded in flashing a test program, that would have overwritten whatever software was already on the arduino (some people don't seem to understand this).

I still think you should get your firmware working before playing with motors or extruder any more. Especially since you can't extrude anyway til you get your replacement part. And even more especially since you >can< get the thermistor working without trying to heat the hot-end, or extrude.

Once you can flash your arduino with your firmware (sprinter, please, to begin with!), and got meaningful ambient temperature readings back to pronterface (or something less trustworthy* if you must), then you can play with the endstop settings if you need to, and calibrate the x, y and z movement distances.

Then you could strap a pencil to the end of your extruder and practice using the printer as a 2D plotter! Or occupy yourself slicing .STL files into Gcode with Slic3r, or designing things in openscad or blender or whatever while you wait for your replacement part to arrive.

Best of luck,
Andrew Roberts

*by trustworthy, I mean something >I< trust and understand. You may have good reasons for using something else, especially if you are on a Mac.
Sorry, only registered users may post in this forum.

Click here to login