Welcome to Robot Rebels, an online robot maker community.

Register today to post your projects, ask questions, share knowledge and meet like-minded people from around the world.

The Community

Author Topic: Controllers  (Read 3459 times)


  • calling from free Europe
  • Moderator
  • Sr. Member
  • *****
  • Posts: 445
« on: November 11, 2017, 06:48:21 AM »

              Been very few controllers that's made its mark as the RepRapDiscount Full Graphic Smart Controller with access to just about every variable in marlin. what few that have emerged are in essence based on the reprap controller, reliant on a rotatory encoder as an input.
        thou Makerbase have been plodding along quietly developing its touch screens interface, to where they now have a mature friendly firmware with their TFT V3  "filament change in the right place", and with an affordable price tag.

    Now we dont need to go out and buy controllers we could source the parts individually and install them to a RAMPS or any boards with the pins, a fine example with airtripper intro to marlin near the end he discuss installing an lcd. Thing is today its possible to buy a controller for what it cost in parts.  have a peek for the 20x4 they can go for under £5 on ebay and will spare you a spaghetti junction of wires around the main board.

REPRAP controllers:

       The reprap controllers has almost been around for as long as the RAMPS, It's the work horse of the reprappers interface and is controlled by the main board MCU and the firmware most common marlin.  Theirs two types graphical and the numeric both monochromatic "blue/white"  and because they drain resources from the MCU its common too see the numeric with delta style printers.
        Installation is straight forward within marlin config.h  you just have a couple of lines to uncomment and a library to install " daunting first time!!! na" both boards are generally accompanied by a adapter that plugs onto the back end of the RAMPS for the LCD and SD ribbon cable  other boards will have the two headers so no need for the adapter.
    As mentioned earlier this controller gives access to just about every variable and setting in marlin which makes it the best interface to tweak and fine tune the printer on the fly, once you have those setting either store to eeprom or flash the firmware with the updated setting.

     The nagging Downside to it is the rotatory encoder, can be a finicky git in respect to menu selection as you push down to select it can jump to the menu above or below what you actually want, made worse when you select the wrong print!!!. There are a few setting in marlin to tweak that can alleviate the pain.
   Another more disheartening effect is the blank screen of Doom and howling! with some models the headers are wrong and require you to swap cables around  ext two goes to one and two goes one but you also need to rotate the headers 180deg then cut a slot in the plastic casing of the headers for the cables female headers.   

                            all images snatched from the web,,damned if i could clear pic of those screens

      Configuring marlin for the Reprap controllers is straight forward with features spread across two files config.h and config.adv but on your way to selecting which screen you pass the encoder setting at line 1252 encoder setting should you need to tweak. if the response is sluggish adjust the ENCODER_STEPS_PER_MENU_ITEM 5 .
Code: [Select]
// This option overrides the default number of encoder pulses needed to
// produce one step. Should be increased for high-resolution encoders.

// Use this option to override the number of step signals required to
// move between next/prev menu items.

 * Encoder Direction Options
 * Test your encoder's behavior first with both options disabled.
 *  Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION.
 *  Reversed Menu Navigation only?    Enable REVERSE_MENU_DIRECTION.
 *  Reversed Value Editing only?      Enable BOTH options.

// This option reverses the encoder direction everywhere.
//  Set this option if CLOCKWISE causes values to DECREASE

// This option reverses the encoder direction for navigating LCD menus.
//  If CLOCKWISE normally moves DOWN this makes it go UP.
//  If CLOCKWISE normally moves UP this makes it go DOWN.


in the config.h  around line 1365! all you need to do is un comment which type you have for me its the #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER technically you can upload and be testing but we have the filament change to sort out  .
Code: [Select]
// RepRapDiscount Smart Controller.
// Note: Usually sold with a white PCB.

// GADGETS3D G3D LCD/SD Controller
// Note: Usually sold with a blue PCB.
//#define G3D_PANEL

// RepRapDiscount FULL GRAPHIC Smart Controller

// MakerLab Mini Panel with graphic
// controller and SD support -

in the config.adv line 819 Had a name change from filament change to advanced pause! This is the most time consuming part to setup as the option only appears when printing so enjoy those multi colour cubes!. when printing you find the option under "TUNE".
Code: [Select]
  #define PAUSE_PARK_X_POS 3                  // X position of hotend
  #define PAUSE_PARK_Y_POS 3                  // Y position of hotend
  #define PAUSE_PARK_Z_ADD 10                 // Z addition of hotend (lift)
  #define PAUSE_PARK_XY_FEEDRATE 100          // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
  #define PAUSE_PARK_Z_FEEDRATE 5             // Z axis feedrate in mm/s (not used for delta printers)
  #define PAUSE_PARK_RETRACT_FEEDRATE 60      // Initial retract feedrate in mm/s
  #define PAUSE_PARK_RETRACT_LENGTH 2         // Initial retract in mm
                                              // It is a short retract used immediately after print interrupt before move to filament exchange position
  #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10  // Unload filament feedrate in mm/s - filament unloading can be fast
  #define FILAMENT_CHANGE_UNLOAD_LENGTH 100   // Unload filament length from hotend in mm
                                              // Longer length for bowden printers to unload filament from whole bowden tube,
                                              // shorter length for printers without bowden to unload filament from extruder only,
                                              // 0 to disable unloading for manual unloading
  #define FILAMENT_CHANGE_LOAD_FEEDRATE 6     // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
  #define FILAMENT_CHANGE_LOAD_LENGTH 0       // Load filament length over hotend in mm
                                              // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
                                              // Short or zero length for printers without bowden where loading is not used
  #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3   // Extrude filament feedrate in mm/s - must be slower than load feedrate
  #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50    // Extrude filament length in mm after filament is loaded over the hotend,
                                              // 0 to disable for manual extrusion
                                              // Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
                                              // or until outcoming filament color is not clear for filament color change
  #define PAUSE_PARK_NOZZLE_TIMEOUT 45        // Turn off nozzle if user doesn't change filament within this time limit in seconds
  #define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5 // Number of alert beeps before printer goes quiet
  #define PAUSE_PARK_NO_STEPPER_TIMEOUT       // Enable to have stepper motors hold position during filament change
                                              // even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
  //#define PARK_HEAD_ON_PAUSE                // Go to filament change position on pause, return to print position on resume
  //#define HOME_BEFORE_FILAMENT_CHANGE       // Ensure homing has been completed prior to parking for filament change

 take some time to look over the features in the adv. file more setting for the encoders hide within...

   So in summing up this is the controller you want to fine tune and calibrate the machine on the fly, if new to 3DP lets you explore just about every aspect of the inner working of your new machine setting.
      can be brought for as little £7, never pay more than £12.57 from the auction houses but if you finished tuning and just want the plug and play of printing then the MKS offering will fill the gap..

            Makerbase has a history with making screens with lcd,oled to TFT thou its with the TFTs they're bringing a new style of touch interface, with a simple if limited solution for the end users, seems MKS have taken a plug and play approach rather than a tinker route. MKS failure hasn't been the hardware "become accustom to makerbase products working on arrival" but there firmware, had the tft3.2 sat in draw for several months just about print mono colour with it " fila change" button was non existence back then.
       Now with the quiet roll out of there V3 firmware update made the controllers a lot more loving. and its where there plug and play comes into it. The controls are limited to printing rather than tuning, they have auto/manual leveling, speed and flow pause and resume everything you need to tweak a print but no controls over the machines core setting like axis or jerk setting and the likes.
  Doesn't detract from them at all its a delight to use touch and with the stm32 mcu on the back offers additional features like there wifi, fila run out sensor,power failure!. all without draining resources from the main board and now with support for cura and slicer.

     Not all TFT work with other boards the TFT 2.8 is known to work with RAMPS connected to AUX1 with a 12V supply the tfts 24/32 have no power jacks or pins for an external power!. the 2.4 and 3.2 both make use of single header connection common to mks boards with half mtr ribbon cable  just helps place the controller where you like

    3.2-inch color touch screen , support U disk and SD card.
    Reserve WIFI interface?support WIFI function by adding WIFI module.
    Three themes, two styles, provide the users with more choices.
    Allowed to self-design the interface of booting logo and all buttons.
    Allowed to add at most 13 customized function buttons.
    Update the configuration and firmware by SD card, easily operate.
    Support Marlin, Repetier and Smoothieware firmware, and don’t need to modify the master program.
    Allowed to work with Ramps 1.4(TFT28) as well as MKS series controller board developed by
    Support “print from breakpoint” function,“print from power outage” and “filament detect” function.
    Support “auto off after printing finishes” function with “auto off after printing finishes” module.

              more screen than any printer requires! reminds me a little of the graphics reprap without the knob, still a side loading SD slot above that a usb slot
image below top row blue retro bottom row red simple my fav is the win8 style, those tiles adds some colours to the display



Installation: software installation just as easy as plugging the thing in!
        create a file on your desktop "call it something like makerbase"
        pop over to MKS github download the TFT files and unzip to your desktop file
        navigate to DT file and open TFT 28 32English2.0.1 file you have two option red/blue pill
        open the red style you see files for retro,simple,classic "click retro"copy paste all those files to
        the SD " not using wifi? no need to  copy it
        now edit the mks_config file on the SD card, aint a whole lot to do but the first line is key
        either select:
        marlin 1 repetier 2 or smoothie 3
        be sure to match baud rate to the main board.
        SAVE file and transfer the SD to the controller and power up

     The installation process is the same for all the TFTs just  use the win8 style "tiles with the 2.4

mks TFT24:
       (WARNING: the main dimension diagram is in error on mks ali home page,the diagram  gives the impression the SD slot on the left side it is in fact on the right side , else you design a bezel with an screen thats upside down!!! with noway in the config.file to rotate the screen.) bitch....

       The 2.4 is the latest and smallest of the mks TFT controllers realease sometime in august 2017. still sporting the stm32f with all the features of it's big brother 2.8/3.2. Its front loading SD slot which appealed to me and it size meant I can embed the interface in a more discrete and compact housing. The small screen seems sharper and more depth to the colours than the 3.2, the screen response is great with ample spacing things dont feel squeezed in, the interface has a real modern glow to it  the SD reader held in place with a tight fit and loads of solder, feels secure. as with all the tfts its a push to eject.
         Price at £13+postage "£16" it only a few quid more than a reprap controller.  compliments there genL 1.0 brilliantly  just need some cheap drivers to keep the tronics under £50.


   As mentioned above there aint much to configure to get the tfts working but what there is, is critical, so I dig a little deeper here for the common changes.   Its again straight forward and self explanatory that even jinx can do it!!.  Am getting a liking for 32bit we already uploaded the controller firmware as a bin. which never need changing from this point " unless there a belting update or you want to change styles".
         all we need to tweak is the config file, which can be opened in word pad once the changes are made to setting you just have to save and reset the board.
first set we encounter are:
    main board firmware.
    baud rate                     must match the main board
    sprayer                        vexing they used that term to describe a hotend
Code: [Select]
#########Printer type setting############################
#mainboard firmware setting(marlin:1; repetier:2; smoothie:3)

#machine setting (Normal:1; Delta:2)

#baud rate setting(1:9600;2:57600;3:115200;4:250000)

#language (Simplified Chinese:1; traditional Chinese:2; English:3)

#extruder number(one:1; dual:2)

#whether has heated bed(YES:1; NO: 0)


the next set which relates to fila change and bed leveling,  I left most as default but for.
>cfg_XPOS:-1               change to 10
>cfg_YPOS:-1               change to 10
      This is where the nozzle will home during filament change or pause with the default it just raises the nozzle. Which is just not clever, as you extrude fila over the print! while priming the hotend so change this.

Code: [Select]
########function settings#################################

#pause position (-1 is invalid; Z-axis is relative position)

#whether set machine auto-off after print finishes(auto-off:1; NO:0)

#the max target Temp of sprayer and heated bed

#the level signal of outage detection module PB1(low level:0; high level:1)

#the speed of filament replacing(mm/min)

#the length of filament replacing(mm)

#the min temperature of filament replacing

#The command of auto leveling (G29 is available for Marlin.While G32 is for  Repetier and Smoothieware)

#The point number of manual leveling:(3,4,5 point available)

#the coordinates of 5 point on manual leveling

 below this is further setting for wifi and Function customization of user buttons ,not had a need to use yet!.
        Not as simple to suggest which is the better screen with mks TFTs hardware wise they well made boards with similar features, it comes down more to which fits the enduser needs.. the 2.4 does appear to have a sharper deeper depth of colour  with its small size and front loading SD slot makes the better option for discrete and compact placing. The 3.2 is ample in size for any controller clearly see it across the room. In addition to the SD slot there a Udisk slot to print of a stick" thou its rear side loading means its going to protrude in any design "unless you mounting on the right side edge of a printer.

 A crude test for the RAMPS on AUX 1 "note the placing off the red stripe"

wondered how it is the tft can communicate without having to set it in marlin and dust answers it over at the reprap forum "see the last link for the full take"
"On the ramps aux-1 port is d1 and d0, which is the same pins as RX0 and TX0. Ie it bypasses the usb to serial converter and sends serial directly into the mega"
                                                                           dust reprap

 bezel for the tft 2.4:

bezel for the 3.2:

mks github:


RepRapDiscount Full Graphic Smart Controller:

RepRapDiscount Smart Controller:

alternative firmware:

 aux 1 power drain!:,634909

« Last Edit: November 12, 2017, 04:25:40 PM by jinx »
I build bots


* Search

* Recent Topics

Time of Flight >>> Rounded Corners !!! by Gareth
[November 13, 2018, 04:07:31 AM]

Double_ing up the "Time of Flight" sensors by Gareth
[November 13, 2018, 04:05:02 AM]

Point cloud anyone !!! maybe 3D scanner by maelh
[November 11, 2018, 05:38:33 AM]

removable magnetic print surface by Gareth
[November 09, 2018, 10:53:45 AM]

Robot Cop by Valeriex
[November 07, 2018, 05:48:20 AM]

it's lukeyes by Valeriex
[November 07, 2018, 05:47:16 AM]

TOF gets a local DEBUG screen by Gareth
[November 07, 2018, 03:47:29 AM]

BlueTooth elves choose "BlueTeeth" by Gareth
[November 07, 2018, 03:40:19 AM]

Yup, it is me... ...CtC by ZeroMax
[November 05, 2018, 07:14:09 PM]

Four Motor Leg Module by DWRobotics
[November 04, 2018, 05:15:49 PM]

MKS Gen L 1.0 by terragady
[November 02, 2018, 12:15:09 PM]

Do you think he pushed the train in the last lap, G? by Gareth
[November 01, 2018, 05:57:58 PM]

IBM buys Red Hat by jinx
[October 30, 2018, 04:09:07 AM]

QTC - quantum tunneling composite. Can we make our own sensors? by OddBot
[October 27, 2018, 02:14:52 PM]

[ Firmware ] Klipper - the cool firmware for 3d Printers by tinhead
[October 03, 2018, 12:29:14 PM]

* Recent Posts

Re: Time of Flight >>> Rounded Corners !!! by Gareth
[November 13, 2018, 04:07:31 AM]

Re: Double_ing up the "Time of Flight" sensors by Gareth
[November 13, 2018, 04:05:02 AM]

Re: Time of Flight >>> Rounded Corners !!! by Gareth
[November 13, 2018, 03:53:46 AM]

Re: Time of Flight >>> Rounded Corners !!! by Gareth
[November 13, 2018, 03:45:41 AM]

Re: Time of Flight >>> Rounded Corners !!! by MEgg
[November 12, 2018, 01:01:49 PM]

Re: Point cloud anyone !!! maybe 3D scanner by maelh
[November 11, 2018, 05:38:33 AM]

Re: Time of Flight >>> Rounded Corners !!! by maelh
[November 11, 2018, 05:25:15 AM]

Re: Double_ing up the "Time of Flight" sensors by maelh
[November 11, 2018, 05:22:23 AM]

Re: removable magnetic print surface by Gareth
[November 09, 2018, 10:53:45 AM]

Re: Robot Cop by Valeriex
[November 07, 2018, 05:48:20 AM]

Re: it's lukeyes by Valeriex
[November 07, 2018, 05:47:16 AM]

TOF gets a local DEBUG screen by Gareth
[November 07, 2018, 03:47:29 AM]

Time of Flight >>> Rounded Corners !!! by Gareth
[November 07, 2018, 03:46:01 AM]

Point cloud anyone !!! maybe 3D scanner by Gareth
[November 07, 2018, 03:44:49 AM]

Double_ing up the "Time of Flight" sensors by Gareth
[November 07, 2018, 03:42:30 AM]