Reflashing Board?

Hello! I am trying to reflash my rambo 1.4 board with the firmware from the b_ramps_ZenXY folder, however as this is my first time working with any hardware, I am a bit out of my depth. I have the board plugged into my laptop and the Arduino web editor up and set to the right board. How would I go about getting the new firmware on the board?


The arrow in the upper left is for uploading. That firmware is for the ramps and you’ve got the rambo. The mini rambo is closer, but you’ll have to change the board type in the configuration.h. I’m not sure what else you’ll have to change, maybe Ryan will be able to help. Luckily, a lot of the stuff isn’t relevant for a ZXY.

1 Like

Thanks for the welcome and help!

I changed the configuration.h file for the mrambo firmware. However, I am now getting a compiler error after following the instructions here.

Arduino: 1.8.7 (Mac OS X), Board: "RAMBo"

sketch/stepper.cpp: In static member function ‘static void Stepper::digipot_init()’:
stepper.cpp:1534:54: error: ‘DIGIPOT_MOTOR_CURRENT’ was not declared in this scope
static const uint8_t digipot_motor_current[] = DIGIPOT_MOTOR_CURRENT;
Multiple libraries were found for “U8glib.h”
Used: /Users/TerizaChen/Documents/Arduino/libraries/U8glib
Not used: /Users/TerizaChen/Library/Arduino15/packages/rambo/hardware/avr/1.0.1/libraries/U8glib
exit status 1
‘DIGIPOT_MOTOR_CURRENT’ was not declared in this scope

Any idea why this is happening?

I don’t recognize that image, but the upload button is what you’re looking for. Is that the web version or something? I have only used the downloaded version.

Ah, I edited my reply just before I noticed I had a response. I changed to the downloaded application. I am getting a compiler error. I tried searching the rest of my files for DIGIPOT_MOTOR_CURRENT however there are a LOT of files and so I have not found it anywhere. I am assuming because of its stylization that it is static/final/constant and defined in a file somewhere but probably commented out.

Make sure you are using Arduino 1.9

Ramps doesn’t have the digipots. When you use mini rambo, it ahould have defaults defined for thw digipots values, but I guess not. I am AFK, but I would look at mpcnc mini rambo firnware to see how it is set.

I am using the mrambo firmware, not the ramps one. I found where DIGIPOT_MOTOR_CURRENT was defined. It was in the Configuration_adv.h file. I uncommented it tried recompiling. It compiles now and gives me a different error.

Arduino: 1.9.0-beta (Mac OS X), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Sketch uses 108240 bytes (42%) of program storage space. Maximum is 253952 bytes.
Global variables use 4581 bytes (55%) of dynamic memory, leaving 3611 bytes for local variables. Maximum is 8192 bytes.
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
An error occurred while uploading the sketch

Looking for a solution to this error made me realize that I have an entirely different problem. I never plugged in the 12v power source as instructed here. So now my question is how exactly would I go about doing that? I vaguely understand that this

is supposed to end up here (in the middle 2, I think?)

I have this part (2 pin pluggable black?) which fits into where the power is supposed to go like this, but how would I go about getting the wires into that?

Here is the rest of the stuff I have:

Sorry to derail into a hardware question, I’m pretty clueless when it comes to this. Any help would be appreciated!

That’s saying it can’t connect to the arduino microcontroller. So yeah, the power is the problem.

That 2 pin connector has those set screws on it, if you loosen the screws, you can put the wire in the back and then tighten the screws to hold the wire place. Be careful to:

  1. Get the whole wire in there. Sometimes a strand or two will get bent back and eventually find it’s way to the other side and cause a short.

  2. You don’t have to abuse it, but get the screws snug. You can give it a small tug to make sure the wire won’t come out of the connector. The connector should be holding the wire, not the insulation.

  3. Get the polarity right. Red should be (+).

Sorry for the typos in the previous replies. I proofread this message :).

1 Like

In the end you need more power in the two slots not just the one…

I successfully uploaded the firmware to the board and I’ve plugged in the LCD, however the display just flashes on and off like this and makes a ticking noise. I am absolutely sure P1 goes into EXP1 and P2 goes into EXP2, however when I reverse it, the screen is consistently on, though blank. I cannot get it to display anything though I understand it should be showing something related to the firmware. Any idea what I am doing wrong? I tried reuploading the firmware and nothing changed.

Sometimes the LCD plugs need to be reversed (turned around), too. I suggest trying the various combination of plug arrangements (swapped and reversed).

You can’t hurt the display by plugging it in wrong. Like BT said, swap the cables. The connectors on the display could also be on backwards, so if it still isn’t working after swapping, you can pull the black plugs off and flip them over, or cut the tabs off the cables. A small flat bladed screwdriver works to pry them off.

I’m still having the same problem. I’ve tried swapping the cables in ~10 different ways and it has not yet worked. Am I just unlucky and haven’t found the right combination?

Anyways, just to make sure. This is what was supposed to happen before now.

  1. I have the Rambo 1.4 from Ultimachine meaning I should use should be using the Mrambo firmware from this link.
  2. On line ~124 of the Configuration.h file, I change it to #DEFINE MOTHERBOARD BOARD_RAMBO as specified by line 89 of board.h.
  3. Line ~1366 of Configuration.h (#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) is already uncommented so nothing needs to be changed there.
  4. I included the u8glib library through the Arduino app and confirmed that the include statement is at the top of the file.
  5. I then upload to the board. It compiles and uploads successfully, however when I plug it into the display, it either flashes on and off and makes a ticking noise or it stays on but displays nothing.
Is there anything else I am missing?

Is your firmware working from the USB? Like from repetier-host? I guess that’s not how you want to control it but it’s a useful step for debugging.

No, That is for the Mini-Rambo.

Isn’t that why I change the define statement in the 2nd step I listed? Before it was #define MOTHERBOARD BOARD_MINIRAMBO. Jeff said above that the mrambo firmware was closer to what I needed than the ramps one.

I will have to look into that next weekend after finals but I will report back when I get the chance, thanks! I’ll also try putting on the ramps firmware just in case that was the issue.

It does not work that way, there are different “digipots” on each board. I can try to help in a day or two if you don’t work it out. You need to change the digipot settings in config adv as well.

I just bought a new Ramps 1.4 with an Arduino 2560 and have the ramps board on the 2560. I am not familiar with either boards. My question is how do I install the zenxy firmware? I can’t seem to find instruction on how to do this.