RepRap Questions Thread

Hi all, I am brand new to this space, and I am looking for a bit of help with my Mini-Rambo. All I am trying to do is hook up one of my NEMA 17 stepper motors (1704HS168A-OB) to test out the controller and play around. Thus far, I have hooked up the motor to the controller as well as a 24V power supply to the controller. The part that is really confusing me is the firmware/software side of making the motor spin.

I have the Rambo stuff setup in my Arduino IDE but I don't really know where to go from there; the resources online are rather lacking I find. It was said that the Marlin firmware comes already flashed, so it seems like I don't need to touch that. Does this mean I can just use the information from pins_MINIRAMBO.h in the Marlin firmware to guide the creation of my own C file which I can then upload to my controller? The aforementioned file is as follows:

/**
 * Marlin 3D Printer Firmware
 * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
 *
 * Based on Sprinter and grbl.
 * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

/**
 * Mini-Rambo pin assignments
 */

#ifndef __AVR_ATmega2560__
  #error "Oops!  Make sure you have 'Rambo' selected from the 'Tools -> Boards' menu."
#endif

#if MB(MINIRAMBO_10A)
  #define BOARD_NAME "Mini Rambo 1.0a"
#else
  #define BOARD_NAME "Mini Rambo"
#endif

//
// Limit Switches
//
#define X_MIN_PIN          12
#define X_MAX_PIN          30
#define Y_MIN_PIN          11
#define Y_MAX_PIN          24
#define Z_MIN_PIN          10
#define Z_MAX_PIN          23

//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
  #define Z_MIN_PROBE_PIN  23
#endif

//
// Steppers
//
#define X_STEP_PIN         37
#define X_DIR_PIN          48
#define X_ENABLE_PIN       29

#define Y_STEP_PIN         36
#define Y_DIR_PIN          49
#define Y_ENABLE_PIN       28

#define Z_STEP_PIN         35
#define Z_DIR_PIN          47
#define Z_ENABLE_PIN       27

#define E0_STEP_PIN        34
#define E0_DIR_PIN         43
#define E0_ENABLE_PIN      26

// Microstepping pins - Mapping not from fastio.h (?)
#define X_MS1_PIN          40
#define X_MS2_PIN          41
#define Y_MS1_PIN          69
#define Y_MS2_PIN          39
#define Z_MS1_PIN          68
#define Z_MS2_PIN          67
#define E0_MS1_PIN         65
#define E0_MS2_PIN         66

#define MOTOR_CURRENT_PWM_XY_PIN 46
#define MOTOR_CURRENT_PWM_Z_PIN  45
#define MOTOR_CURRENT_PWM_E_PIN  44
// Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
#ifndef MOTOR_CURRENT_PWM_RANGE
  #define MOTOR_CURRENT_PWM_RANGE 2000
#endif
#define DEFAULT_PWM_MOTOR_CURRENT  {1300, 1300, 1250}

//
// Temperature Sensors
//
#define TEMP_0_PIN          0   // Analog Input
#define TEMP_1_PIN          1   // Analog Input
#define TEMP_BED_PIN        2   // Analog Input

//
// Heaters / Fans
//
#define HEATER_0_PIN        3
#define HEATER_1_PIN        7
#if !MB(MINIRAMBO_10A)
  #define HEATER_2_PIN      6
#endif
#define HEATER_BED_PIN      4

#ifndef FAN_PIN
  #define FAN_PIN           8
#endif
#define FAN1_PIN            6

//
// Misc. Functions
//
#define SDSS               53
#define LED_PIN            13
#if !MB(MINIRAMBO_10A)
  #define CASE_LIGHT_PIN    9
#endif

//
// M3/M4/M5 - Spindle/Laser Control
//
// use P1 connector for spindle pins
#define SPINDLE_LASER_PWM_PIN     9   // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 18   // Pin should have a pullup!
#define SPINDLE_DIR_PIN          19

//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN         17
#define E_MUX1_PIN         16
#if !MB(MINIRAMBO_10A)
  #define E_MUX2_PIN       78   // 84 in MK2 Firmware, with BEEPER as 78
#endif

//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD)

  #if !MB(MINIRAMBO_10A)
    #define KILL_PIN       32
  #endif

  #if ENABLED(NEWPANEL)

    #if MB(MINIRAMBO_10A)

      #define BEEPER_PIN   78

      #define BTN_EN1      80
      #define BTN_EN2      73
      #define BTN_ENC      21

      #define LCD_PINS_RS  38
      #define LCD_PINS_ENABLE 5
      #define LCD_PINS_D4  14
      #define LCD_PINS_D5  15
      #define LCD_PINS_D6  32
      #define LCD_PINS_D7  31

      #define SD_DETECT_PIN  72

    #else // !MINIRAMBO_10A

      // AUX-4
      #define BEEPER_PIN   84

      // AUX-2
      #define BTN_EN1      14
      #define BTN_EN2      72
      #define BTN_ENC       9

      #define LCD_PINS_RS  82
      #define LCD_PINS_ENABLE 18
      #define LCD_PINS_D4  19
      #define LCD_PINS_D5  70
      #define LCD_PINS_D6  85
      #define LCD_PINS_D7  71

      #define SD_DETECT_PIN  15

    #endif // !MINIRAMBO_10A

  #endif // NEWPANEL

#endif // ULTRA_LCD    

So if I hook up my motor to the X-axis port, can I then use X_MIN_PIN, X_MAX_PIN, etc. in my own file that I could then pass to the controller? What would such code even look like?

Thank you in advance for any help! If there are good resources out there that explain this, please point me in their direction! As mentioned before, I have looked but most information is just about setting up the Arduino IDE.

/r/Reprap Thread