3D printer electronics initial setup and test

For the D-Bot 3D printer http://www.thingiverse.com/thing:1001065, I am using a Rumba controller with DVR8825 stepper drivers. The display is a Full Graphic Smart controller (128×64). I ordered these from Amazon.

The boards were received with NO instructions or pin out labels to get the ribbon cables connected correctly.  If the display is flashing and beeping on power up it is in one of the several wrong connector orientations that are possible (and I tried several).  Connect them up like this:

You must load the firmware for the board which involves:

  • Setting up the Arduino IDE
  • Downloading the Marlin source code
  • Downloading the driver for the display and installing it as a library
  • Downloading and installing the USB port driver for the board

Next the Marlin source must be configured for the board and setup. Much of this requires removing the double backslash // that comments out particular lines in the header files.


Find the Rumba in the list and write down the exact # define value


Rumba config

// The following define selects which electronics board you have.
// Please choose the name from boards.h that matches your setup

Display config

// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB)
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib

CoreXY config

// Uncomment the following line to enable CoreXY kinematics
#define COREXY

Disable the extruder drive safety

In order to make the extruder drive without the temperature control hooked up, you need to temporarily comment out the safety. Remember to remove the comment slashes later when you are ready to run filament through it.

//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//can be software-disabled for whatever purposes by


Dual Z config

remove slashes in front of:



//Dual Z config  insert in the Rumba pins section:

//to use Z_DUAL_STEPPER_DRIVER in Marlin
#define Z2_STEP_PIN 26
#define Z2_DIR_PIN 25
#define Z2_ENABLE_PIN

The second Z stepper is plugged into what is normally the E1 (second) extruder driver slot.

Compile and download the firmware. Some sources recommend moving the power jumper to USB from standalone if you are having difficulty with downloading.

When downloading you will see the yellow leds on the rumba board blinking rapidly for about 15-20 sec . Then you should see the display show the Rumba Ready screen.

Stepper driver setup

Set the dip switches under each motor driver for 1/32 microstepping. This is all on (towards the middle of the board).

Insert the stepper drivers with the adjustment pots towards the connectors (and the heat sinks away). Like this. You can see the dipswitch for the 6th driver slot on the right. :

Now calibrate the current for the stepper drivers BEFORE plugging them in to avoid overheating. See: https://www.pololu.com/product/2133 for great instructions.

Now power off and plug in the steppers. NEVER plug or unplug the steppers while the power is applied.

Restart and test the steppers.

Press the rotary switch and then select the Prepare menu. Now scroll to the bottom and select Move Axis menu. Now you can select a step amount (e.g. 1mm) and then select the  axis to move.

The Z axis motors should move together in the same direction. The other 2 will move for either the X or Y (opposite or together respectively).

Now I have all 5 stepper motors running at will and the control electronics basically working. The electronics are ready to mate up to the mechanical pieces.