From RepRap
Jump to: navigation, search

Template:MKS GEN

Infobox info icon.svg.png Not Open Source

As stated in the RepRap Wiki Policy, a wiki page that describes a product offered for sale must provide source files for that product.

This page is missing at least these item(s)

  • Schematics and board layout.

There might be more items missing.

If you want to help improve this design, please find source files for these missing items and upload them to this wiki, or link to the repository containing them.

In accordance with the Deletion policy, an admin will review this page in about three weeks to determine if it should be removed or not.

If source files are not uploaded by the proposed delete date, this page will be removed from the wiki.

Proposed delete date: {{{deletedate}}}

Questions about this tag can be addressed on this page's discussion page or on the Administration, Announcements, Policy forum.

Crystal Clear action run.png

Release status: Working

Single board solution, Remix of Arduino mega2560 and RAMPS1.4
CAD Models
External Link


MKS Gen is a feature rich all-in-one electronics solution for Reprap and other CNC devices.

It features an onboard ATmega2560. Its five motor outputs are powered by Pololu pin compatible stepper drivers.

The board features a developer friendly expansion port supporting giving access the same as Ramps1.4.

MKS Gen is designed to be flexible in the user's power source availability, allowing any power supply from 12V-24V.

Safety Tip

Warning-general-2.gif.png Caution
Once you start putting electricity into your RepRap - even at just 12 volts - you have to take basic, common sense precautions to avoid fires.

MKS Gen USB Driver

MKS Gen USB Driver Chip FT232RL,you can get files from ftdichip to setup driver


  • Firmware can use the same configuration as ramps1.4
  • Easy DISPLAY + SD-CARD connector,RepRapDiscount SmartController compatible pin header on board
  • All extra pins broken out the same as ramps1.4(AUX-1,AUX-2,AUX-3,Servos1)
  • 3x temperature ADC connectors for thermistors
  • up to 5 motor driver with easy micro stepping setup (micro switches)
  • 4x PWM capable power mosfet outputs with voltage selector for MainPower.(Bed,Extruder0,Extruder1, Fans)
  • 4 layers PCB, optimize heat dissipation.
  • 6x end stop connectors with power supply Xmin/Xmax/Ymin/Ymax/Zmin/Zmax
  • 3* 5V output, 3* 12V-24V output interface.
  • Recoverable fuse for short-circuit protection.

Motor Driver


MKS Gen contain a row of 3 jumpers.

with DRV8825

1 2 3 step mode
0 0 0 Full step (2-phase excitation) with 71% current
1 0 0 1/2 step (1-2 phase excitation)
0 1 0 1/4 step (W1-2 phase excitation)
1 1 0 8 microsteps / step
0 0 1 16 microsteps / step
1 0 1 32 microsteps / step
0 1 1 32 microsteps / step
1 1 1 32 microsteps / step

with A4988

1 2 3 step mode
0 0 0 Full step
1 0 0 1/2 step
0 1 0 1/4 step
1 1 0 8 microsteps / step
1 1 1 16 microsteps / step

with TMC2208

1 2 3 step mode
1 0 0 2 step
0 1 0 4 step
0 0 0 8 step
1 1 0 16 step

Smart Controller

MKS Gen can easy use RepRapDiscount Smart Controller and RepRapDiscount Full Graphic Smart Controller

You only need connect Smart Controller's Exp1 to MKS Gen's Exp1,Smart Controller's Exp2 to MKS Gen's Exp2.


MKS GEN can connect Sdramps the same as ramps1.4 use AUX-3

ThermoCouple Ad597

MKS Gen can use ExtThermoCouple 1.0 the same as ramps1.4 by AUX-1



Extra Motor Driver

MKS-Gen allows you to connect an external stepper driver MKS TB6600 for alls axis.


Wiring plan based on available information

MKS GEN-1.jpg


This section will show you how to get firmware into your controller and run it with basic settings.

Software required: FTDI USB drivers, Arduino IDE, Choice of firmware ( Marlin or Repetier or Sprinter ), Pronterface

1. USB VCP Drivers - MKS Gen uses the newer FT232 USB to UART chip and it needs the updated VCP(virtual com port) drivers from the

manufacturer's website . Download the correct version for your operating system or you can get the executable version for Windows(easier).

Windows Vista/7 may try to do an update to locate the proper drivers but it is recommended to install the FTDI drivers for better performance.

The VCP drivers will install a COM Port on your computer for the MKS Gen, you can check what port number was assigned by going to your device manager and click on Ports(COM & LPT) look for something that says "USB Serial Port(COM3)" where COM3 is you assigned port number(will vary from PC to PC). Remember this number as you will be using it later in configuring other software.

2. Install Arduino IDE - Download and extract the Arduino IDE .

3. Get your firmware - While you can use most firmwares out there, we will use Marlin as an example. Download and extract Marlin or any other forks of the firmware that you prefer/need.

4. Upload firmware - Run the Arduino IDE (arduino.exe).

Select your board - Click on Tools -->Board -->Arduino Mega 2560,

Select your serial port - Click on Tools-->Serial Port-->(select your COM port for the X3 USB, you can check this in Device manager)

On Arduino click File-->Open -- then point to your Marlin Download and select Marlin.pde. With Marlin loaded on the IDE window, click on the tab that says "configuration.h". These are the basic entries that you need to change to get the X3 working.

#define BAUDRATE 250000 //This will work fine for the MKS Gen
#define MOTHERBOARD 33 //33 is for RAMPS which the MKS GEN is compatible with MOTHERBOARD 34 
#define TEMP_SENSOR_0 3 //If you have the NTC 100K  
#define TEMP_SENSOR_1 0 
#define TEMP_SENSOR_2 0 
#define TEMP_SENSOR_BED 3 //If you have the NTC 100K  

These entries are the only ones you need just to get the MKS Gen running. Once you get it to upload you can now test most features of the board. You will need to tweak the settings on the configuration file for your printer.

5. Upload(or compile to test) Marlin - While still on the Arduino window

Click on the Triangle inside the circle to do a test compile, this makes sure that the firmware does not contain errors( you can skip this)

Click on the arrow pointing to the right inside a square frame to upload firmware to the board. If everything goes well you'll see a "Done Uploading" message near the bottom of the Arduino window.

How to get it

Maker-Base v.1.0 from US to Worldwide