3d printer tft lcd setup factory
In this video, I am showing you how to connect Bigtreetech TFT35 touch displays to your SKR 1.3 or 1.4 mainboard, why it has two different modes to use it and what to configure in Marlin 2.0 for it.
Hello, my name is Daniel, welcome to the CrossLink channel. Our mission is to help 1 million people getting more successful with 3d printing and if you"re here for the first time, subscribe and enable bell notifications so you don"t miss anything.
So, you might have noticed, there is multiple different shapes and sizes of this Bigtreetech TFT35 display available. This one is the TFT35 E3 3.0, which has the knob underneath the display and this fits also in the Ender 3 stock display mount, there is also the regular TFT35 with the knob on the side but they technically absolutely work the same.
The first one is the touch screen mode, where you have a nice color touch display to control your printer, start printing for example, set the temperature and see the status of your printer.
The second mode is the "Marlin" or 12864 simulation mode, which will show the original printer menu from the Marlin firmware running on the SKR mainboard.
The TFT35 and all other models of this display on the other hand have a full 32bit microcontroller with it"s own memory on board that has it"s own firmware and can be upgraded and programmed independently from the printer mainboard.
The information that is sent back and forth over that serial connection is not pixels. It"s just GCODE commands and GCODE reponses. That makes this display more or less act like a raspberry Pi that runs Octoprint on it or a computer that runs Pronterface for example. And what is shown on the display to you is not controlled by the printer mainboard firmware if you"re in touch mode.
But being independent from the printer also means that the TFT touch display is agnostic to what kind of printer you exactly have. So for example it doesn"t know and it also doesn"t care what kind of stepper motor drivers it has or what kind of firmware it"s running.
And because of having these specific features, this printer has certain user interface entries in the 12864 menu like the tmc driver configuration, which are not represented in the touch menu.
The serial cable that comes with your display will have a plug that fits into the RS232 or TFT slot at the back of the display. So let"s plug that in here.
What happens if you misorient that cable? Well, nothing serious. If you turn on your printer and the screen keeps black, power off, insert the connector 180 degrees swapped and try again.
It might be that the display orientation is swapped, that also depends on how you like to mount the display to your printer. So if you need to change the display orientation, you can do this from the touch display by tapping Settings → Screen → and then rotate UI. Then you will need to run through a screen calibration tapping the red dots that appear in the corners and then finally the center.
The next issue you might have could be that the display shows "no printer attached" so that it cannot communicate to the printer. That"s actually normal when you freshly turn the printer on and it should then disappear after a few seconds. If this error persists any longer, your baudrate setting for the serial connection is most probably different from what you have set in Marlin firmware.
Then I am looking for the REPRAP DISCOUNT FULL GRAPHIC SMART CONTROLLER, this is the right setting to enable for the 12864 simulation with the TFT35 and I am uncommenting this line. Don"t confuse this with the REPRAP DISCOUNT SMART CONTROLLER, that"s not the right setting to enable.
Next up in this series, I am going to show you how to flash the latest bigtreetech firmware to the TFT35 display and also how to customize the UI to show more useful information on the start page, and to be more colorful with custom icons and logos.
At present, there are two types of LCD 3D printers on the market: FDM (Fused Deposition Manufacturing) and Light Curing 3D Printing. Among them, the FDM technology is more mature, the price is lower, and the market share is higher. You can even buy a desktop FDM printer for around 200 USD right now on eBay.
Most FDM 3D printers will use an open-source firmware, Marlin. Marlin firmware runs on the main board of the LCD 3D printer, manages all real-time activities of the machine, and coordinates all operations of heating devices, stepper motors, sensors, LCD displays, and other devices. Marlin’s control language is G-code. After the 3D model is created, it will generate a file in .gcode format through the slicing software. The .gcode file will be transparently transmitted to Marlin through a memory card or U disk. Marlin will parse the .gcode file to obtain G-code, and then use G-code to control heating. It also uses G-code language to communicate with LCD screens. The G-code language is published on the open-source website:
Marlin is a code written in C and C++. The translation code is added to Marlin so that after receiving the instruction at the beginning of A5 5A, it can translate into G-code language by itself, and then it can recognize it, and then convert the content that needs to be fed back to the LCD screen into Languages beginning with A5 5A are sent to the touch screen for communication interaction.
Multiple customized interface images:You can storage over 10K interface images in the flash memory of STONE TFT LCD. This will support you to add as many pages or functions as you want for your 3D printer.
• Multiple touch control:The 3D printer requires a lot of touch control adjustment for the nozzle position, platform height, or temperature. You can create +/- adjustment, or slide adjustment with TOOL GUI design software, to control all the parameters and actions of the 3D printer.
• Audio & video play: TheSTONE TFT module will provide the audio interface. You can storage the audio and video files in the flash memory, to play tutorial videos.
• Stability for long time working:The 3D printer mostly has very long time working situations. This requires stability to make sure the project is successful. If the printer is stuck during the printing, all the printed items will be useless.
STONE TFT LCD modules are using high-quality components and have high performance on anti-interference ability. This will make sure your big project success in longtime working.
WARNING: BTT does not officially provide MKS TFT hardware support. MKS TFT is maintained by open source contributors and BTT does not bear any risk of MKS TFT hardware using this firmware.
In case your mainboard provides EXP1 and EXP2, you have to connect 2 ribbon cables connecting EXP1 and EXP2 of the mainboard to EXP1 and EXP2 of the TFT. In the Marlin firmware of your mainboard, make sure that ONLY REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER is activated in Configuration.h and that all other controllers are Deactivated (especially CR10_STOCKDISPLAY).
In case you have an "E3" mainboard which provides a single EXP connector, you have to connect 1 ribbon cable connecting EXP of the mainboard to EXP3 of the TFT. In case your TFT does not provide an EXP3 connector but only two 10pin connectors (TFT24 v1.1 for example) you will need a "Y-split" cable with one 10pin connector on one side (for the mainboard) and two 10pin connectors on the other side (for the TFT). In the Marlin firmware of your mainboard, make sure that ONLY CR10_STOCKDISPLAY is activated in Configuration.h and that all other controllers are Deactivated (especially REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER).
Any binary file for an MKS firmware (e.g. MKS_TFT28_V4.0.27.x.bin) MUST be renamed to MKSTFT*.bin (e.g. MKSTFT28.bin, MKSTFT35.bin etc.) in order it can be recognized and installed by the TFT
A configuration can be uploaded without the need to upload the firmware or the TFT folder again, as long as the firmware and the configuration file are from the same version (see Configuration Update).
Copy the precompiled BIGTREE_TFT*_V*.*.*.bin or your self compiled firmware, plus the TFT* folder of your preferred theme along with config.ini to the root of a blank SD card not greater than 8GB and formatted as FAT32:
Optionally, copy one or more language_*.ini file(s) onto the SD card. Doing so, it will allow you to switch between English and the uploaded language(s) from the Language menu present in the TFT firmware. We recommend to upload the minimum amount of languages to keep the memory usage low. The language_*.ini file can be edited to change the text shown on the TFT:
Place the SD card with BIGTREE_TFT*_V*.*.*.bin, the TFT* folder, config.ini and the optional language_*.ini file(s) into the TFT"s SD card reader and reset your TFT (or optionally - power cycle your printer) to start the update process:
Unless the default hard coded settings have been properly configured (e.g. a self compiled firmware was installed), after an hard reset the TFT typically needs to be reconfigured with the proper config.ini file (see Configuration Update)
When the default hard coded settings are properly configured for a TFT and the TFT"s basic function such as surfing on the menus is working, in case of issues the user can opt to apply only a configuration reset (soft reset) instead of an hard reset.
A BIGTREE_TFT*_V*.*.*.bin file will be generated in the hidden .pio\build\BIGTREE_TFT*_V*_* folder. Follow the update process outlined in the Firmware Update section above to update your TFT to the latest version
TIP: In case there is a problem compiling the TFT firmware try to restart VSC. If this does not help and you are using macOS, delete the packages and platforms folders usually present under the folder /Users/***username***/.platformio/.
In case the TFT needs to be placed with a vertical orientation (e.g. 90°), the firmware needs to be compiled with the portrait mode support and installed following the procedure below:
NOTE: With only power supplied, you should be able to navigate through the menus using the touchscreen and even to switch to Marlin Mode (if available). Marlin Mode will not show any interface without a proper EXP connection (see Marlin Mode Setup).
OctoPrint, ESP3D, Pronterface etc, connected to a TFT"s serial port, can browse files on both the TFT"s and mainboard"s media devices and start a print that will be handled by the host (TFT or mainboard). The following actions and the related triggering G-codes are currently supported by the TFT fw:
OctoPrint, ESP3D, Pronterface etc, connected to a TFT"s or mainboard"s serial port, can host a print (print handled by the host) and optionally can trigger some actions to the TFT sending specific G-codes. The following actions and the related triggering G-codes are currently supported by the TFT fw:
Only on print end or cancel (with triggers print_end or cancel) the TFT Printing menu is finalized (statistics available etc.) and unlocked (the menu can be closed).
With the exception of TFT70, the maximum number of displayable layer count is 999 (there"s no space to display layer number and count if the layer count is above 999)
The most recent version of the standard bigtreetech TFT firmware has built in support for RepRap firmware. The pre-built images have this enabled by default.
The TFT35 E3 V3.0 has 3 cables to connect to the mainboard. Two 10 pin ribbon cables and one 5 pin serial cable. The 2 ribbon cables connect to the EXP1 and the EXP2 connections on both the TFT35 E3 V3.0 and the MKS mainboards.
NOTE: On the MKS mainboards there is an issue that involves at least the MKS GEN_L, MKS SGEN, and MKS SGEN_L models. The EXP1 and EXP2 connections have the socket shell installed wrong way around. The notch that indexes the cable should be facing towards the mainboard. If you get a blank screen on the TFT35 E3 V3.0 touchscreen after connecting the two EXP cables and turning the printer on, turn printer off and disconnect the 10 pin cables from either the touch screen or the mainboard and using small diagonal cutters trim the tab down to be as close to flush as you can get on both cables (and only on one end) and plug them back in with the trimmed tab now facing the mainboard.
Edit the Configuration.h file and enable (uncomment) REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER. Rebuild and deploy the Marlin firmware to your 3D Printer.
In case filament data is not present in the G-code, the filament length data is calculated during print. Length is calculated regardless of using the TFT USB, TFT SD or the onboard media. Calculations are done in both absolute or relative extrusion mode. Filament data takes into account the flow rate also but with a caveat. It has to be the same flow rate during the entire time of the printing, because the end result is calculated based on the flow rate at the time the print has finished. If flow rate changes during the print the results will not be accurate anymore.
To get your core Configuration.h settings right you’ll need to know the following things about your printer: Printer style, such as Cartesian, Delta, CoreXY, or SCARA
Settings saved in EEPROM persist across reboots and still remain after flashing new firmware, so always send M502, M500 (or “Reset EEPROM” from the LCD) after flashing.
The serial communication speed of the printer should be as fast as it can manage without generating errors. In most cases 115200 gives a good balance between speed and stability. Start with 250000 and only go lower if “line number” and “checksum” errors start to appear. Note that some boards (e.g., a temperamental Sanguinololu clone based on the ATMEGA1284P) may not be able to handle a baud rate over 57600. Allowed values: 2400, 9600, 19200, 38400, 57600, 115200, 250000.
This is the name of your printer as displayed on the LCD and by M115. For example, if you set this to “My Delta” the LCD will display “My Delta ready” when the printer starts up.
A unique ID for your 3D printer. A suitable unique ID can be generated randomly at uuidtools.com. Some host programs and slicers may use this identifier to differentiate between specific machines on your network.
This value, from 0 to 6, defines how many extruders (or E steppers) the printer has. By default Marlin will assume separate nozzles all moving together on a single carriage. If you have a single nozzle, a switching extruder, a mixing extruder, or dual X carriages, specify that below.
Enable SINGLENOZZLE if you have an E3D Cyclops or any other “multi-extruder” system that shares a single nozzle. In a single-nozzle setup, only one filament drive is engaged at a time, and each needs to retract before the next filament can be loaded and begin purging and extruding.
A Switching Extruder is a dual extruder that uses a single stepper motor to drive two filaments, but only one at a time. The servo is used to switch the side of the extruder that will drive the filament. The E motor also reverses direction for the second filament. Set the servo sub-settings above according to your particular extruder’s setup instructions.
A Switching Nozzle is a carriage with 2 nozzles. A servo is used to move one of the nozzles up and down. The servo either lowers the active nozzle or raises the inactive one. Set the servo sub-settings above according to your particular extruder’s setup instructions.
Enable this if you don’t want the power supply to switch on when you turn on the printer. This is for printers that have dual power supplies. For instance some setups have a separate power supply for the heaters. In this situation you can save power by leaving the power supply off until needed. If you don’t know what this is leave it.
Temperature sensors are vital components in a 3D printer. Fast and accurate sensors ensure that the temperature will be well controlled, to keep plastic flowing smoothly and to prevent mishaps. Use these settings to specify the hotend and bed temperature sensors. Every 3D printer will have a hotend thermistor, and most will have a bed thermistor.
These parameters help prevent the printer from overheating and catching fire. Temperature sensors report abnormally low values when they fail or become disconnected. Set these to the lowest value (in degrees C) that the machine is likely to experience. Indoor temperatures range from 10C-40C, but a value of 0 might be appropriate for an unheated workshop.
Maximum temperature for each temperature sensor. If Marlin reads a temperature above these values, it will immediately shut down for safety reasons. For the E3D V6 hotend, many use 285 as a maximum value.
Enable PID_AUTOTUNE_MENU to add an option on the LCD to run an Autotune cycle and automatically apply the result. Enable PID_PARAMS_PER_HOTEND if you have more than one extruder and they are different models.
Sample PID values are included for reference, but they won’t apply to most setups. The PID values you get from M303 may be very different, but will be better for your specific machine.
M301 can be used to set Hotend PID and is also accessible through the LCD. M304 can be used to set bed PID. M303 should be used to tune PID values before using any new hotend components.
A lengthy extrusion may not damage your machine, but it can be an awful waste of filament. This feature is meant to prevent a typo or glitch in a G1 command from extruding some enormous amount of filament. For Bowden setups, the max length should be set greater than or equal to the load/eject length.
More thermal protection options are located in Configuration_adv.h. In most setups these can be left unchanged, but should be tuned as needed to prevent false positives.
Specify all the endstop connectors that are connected to any endstop or probe. Most printers will use all three min plugs. On delta machines, all the max plugs should be used. Probes can share the Z min plug, or can use one or more of the extra connectors. Don’t enable plugs used for non-endstop and non-probe purposes here.
These are the most crucial settings for your printer, as they determine how accurately the steppers will position the axes. Here we’re telling the firmware how many individual steps produce a single millimeter (or degree on SCARA) of movement. These depend on various factors, including belt pitch, number of teeth on the pulley, thread pitch on leadscrews, micro-stepping settings, and extruder style.
Use this option in all cases when the probe is connected to the Z MIN endstop plug. This option is used for DELTA robots, which always home to MAX, and may be used in other setups.
Even if you have no bed probe you can still use any of the core AUTO_BED_LEVELING_* options below by selecting this option. With PROBE_MANUALLY the G29 command only moves the nozzle to the next probe point where it pauses. You adjust the Z height with a piece of paper or feeler gauge, then send G29 again to continue to the next point. You can also enable LCD_BED_LEVELING to add a “Level Bed” Menu item to the LCD for a fully interactive leveling process. MANUAL_PROBE_START_Z sets the Z-height the printer initially moves to at each mesh point during manual probing. With this disabled, the printer will move to Z0 for the first probe point. Then each consecutive probe point uses the Z position of the probe point preceding it.
These offsets specify the distance from the tip of the nozzle to the probe — or more precisely, to the point at which the probe triggers. The X and Y offsets are specified as integers. The Z offset should be specified as exactly as possible using a decimal value. The Z offset can be overridden with M851 Z or the LCD controller. The M851 offset is saved to EEPROM with M500.
Use these settings to specify the distance (mm) to raise the probe (or lower the bed). The values set here apply over and above any (negative) probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD. Only integer values >= 1 are valid for these settings. Example: M851 Z-5 with a CLEARANCE of 4 => 9 mm from bed to nozzle.
Most 3D printers use an “open loop” control system, meaning the software can’t ascertain the actual carriage position at a given time. It simply sends commands and assumes they have been obeyed. In practice with a well-calibrated machine this is not an issue and using open loop is a major cost saving with excellent quality.
These settings reverse the motor direction for each axis. Be careful when first setting these. Axes moving the wrong direction can cause damage. Get these right without belts attached first, if possible. Before testing, move the carriage and bed to the middle. Test each axis for proper movement using the host or LCD “Move Axis” menu. If an axis is inverted, either flip the plug around or change its invert setting.
RAMPS-based boards use SERVO3_PIN. For other boards you may need to define FIL_RUNOUT_PIN. Enable the M43 feature in your firmware (PINS_DEBUGGING) and load it to your printer. Assuming you already have a runout sensor (switch based) there, you can watch the pin states while toggling the runout sensor on an off to see which pin is changing.
It is highly recommended to get your printer aligned and constrained as much as possible before using bed leveling, because it exists to compensate for imperfections in the hardware.
AUTO_BED_LEVELING_UBL (recommended) combines the features of 3-point, linear, bilinear, and mesh leveling. As with bilinear leveling, the mesh data generated by UBL is used to adjust Z height across the bed using bilinear interpolation. An LCD controller is currently required.
#if ENABLED(LCD_BED_LEVELING) #define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis. #define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment //#define MESH_EDIT_MENU // Add a menu to edit mesh points
Commands like M92 only change the settings in volatile memory, and these settings are lost when the machine is powered off. With this option enabled, Marlin uses the built-in EEPROM to preserve settings across reboots. Settings saved to EEPROM (with M500) are loaded automatically whenever the machine restarts (and in most setups, when connecting to a host), overriding the defaults set in the configuration files. This option is highly recommended, as it makes configurations easier to manage.
These are the default values for the Prepare > Preheat LCD menu options. These values can be overridden using the M145 command or the Control > Temperature > Preheat Material X conf submenus.
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #define NOZZLE_PARK_XY_FEEDRATE 100 // (mm/s) X and Y axes feedrate (also used for delta Z axis) #define NOZZLE_PARK_Z_FEEDRATE 5 // (mm/s) Z axis feedrate (not used for delta printers)
Choose your preferred language for the LCD controller here. Supported languages include: Code Language Code Language Code Language en English (Default) an Aragonese bg Bulgarian
The SDSUPPORT option must be enabled or SD printing will not be supported. It is no longer enabled automatically for LCD controllers with built-in SDCard slot.
Disable all menus and only display the Status Screen with NO_LCD_MENUS, or just remove some extraneous menu items to recover space with SLIM_LCD_MENUS.
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.
The duration and frequency for the UI feedback sound. Set these to 0 to disable audio feedback in the LCD menus. Test audio output with the G-code M300 S
Marlin includes support for several controllers. The two most popular controllers supported by Marlin are: REPRAP_DISCOUNT_SMART_CONTROLLER A 20 x 4 character-based LCD controller with click-wheel.
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER A monochrome 128 x 64 pixel-based LCD controller with click-wheel. Able to display simple bitmap graphics and up to 5 lines of text.
LCD_I2C_PANELOLU2 PANELOLU2 LCD with status LEDs, separate encoder and click inputs. The click input can either be directly connected to a pin (if BTN_ENC is defined) or read through I2C (with BTN_ENC undefined). Requires LiquidTWI2 library v1.2.3 or later.
Marlin includes support for the Baricuda Extruder for 3D Printing Sugar and Chocolate also hosted on GitHub. The feature adds the codes M126, M127, M128, and M129 for controlling the pump and valve of the Baricuda.
This option causes the printer to give status feedback on the installed color LED, BLINKM, or PCA9632: Gradually change from blue to violet as the heated bed gets to target temp.
This option further improves hotend temperature control by accounting for the extra heat energy consumed by cold filament entering the hotend melt chamber. If material enters the hotend more quickly, then more heat will need to be added to maintain energy balance. This option adds a scaling factor that must be tuned for your setup and material.
Enable this option if you have an “IDEX” printer with Dual X-Carriages that move independently. The Dual X-Carriage design allows the inactive extruder to be parked to keep oozing filament away from the print, reduces the weight of each carriage, and enables faster printing speeds. With this option simply connect the X2 stepper to the first unused E plug.
Mode 2: Duplication Mode. ([M605](/docs/gcode/M605.html) S2 X[offs] R[temp]) The firmware will transparently make the second X-carriage and extruder copy all actions of the first X-carriage. This allows the printer to print 2 arbitrary items at once. (The 2nd extruder’s X and temp offsets are set using: [M605](/docs/gcode/M605.html) S2 X[offs] R[offs].)
After an endstop is triggered during homing, the printerhead backs off by the set HOME_BUMP_MM distance then homes again at a slower speed. The slower homing speed for each axis is set by HOMING_BUMP_DIVISOR.
#if ENABLED(LED_CONTROL_MENU) #define LED_COLOR_PRESETS // Enable the Preset Color menu option #if ENABLED(LED_COLOR_PRESETS) #define LED_USER_PRESET_RED 255 // User defined RED value #define LED_USER_PRESET_GREEN 128 // User defined GREEN value #define LED_USER_PRESET_BLUE 0 // User defined BLUE value #define LED_USER_PRESET_WHITE 255 // User defined WHITE value #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup
#if ENABLED(LCD_PROGRESS_BAR) #define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar #define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message #define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever) //#define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it
Show a progress bar on HD44780 LCDs for SD printing. Sub-options determine how long to show the progress bar and status message, how long to retain the status message, and whether to include a progress bar test in the Debug menu.
Add an option for the firmware to abort SD printing if any endstop is triggered. Turn on with M540 S1 (or from the LCD menu) and make sure endstops are enabled (M120) during SD printing.
This option makes it easier to print the same SD Card file again. Whenever an SD print completes the LCD Menu will open with the same file selected. From there you can click to start a new print, or you can navigate elsewhere.
#define DGUS_UPDATE_INTERVAL_MS 500 #if EITHER(DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY) #define DGUS_PRINT_FILENAME #define DGUS_PREHEAT_UI #if ENABLED(DGUS_LCD_UI_FYSETC) //#define DGUS_UI_MOVE_DIS_OPTION
#if ENABLED(CLCD_USE_SOFT_SPI) #define CLCD_SOFT_SPI_MOSI 11 #define CLCD_SOFT_SPI_MISO 12 #define CLCD_SOFT_SPI_SCLK 13 #endif #endif //#define TOUCH_UI_INVERTED
Babystepping enables M290 and LCD menu items to move the axes by tiny increments without changing the current position values. This feature is used primarily to adjust the Z axis in the first layer of a print in real-time. Warning: Does not respect endstops!
Experimental feature for filament change support and parking the nozzle when paused. Adds the M600 command to perform a filament change. With PARK_HEAD_ON_PAUSE enabled also adds the M115 command to pause printing and park the nozzle. Requires an LCD display. Note that M600 is required for the default FILAMENT_RUNOUT_SCRIPT. Requires LCD display and NOZZLE_PARK_FEATURE.
Enable to add support for a filament width sensor such as Filament Width Sensor Prototype Version 3. With a filament sensor installed, Marlin can adjust the flow rate according to the measured filament width. Adjust the sub-options below according to your setup.
#if PIN_EXISTS(BUTTON1) #define BUTTON1_HIT_STATE LOW // State of the triggered button. NC=LOW. NO=HIGH. #define BUTTON1_WHEN_PRINTING false // Button allowed to trigger during printing? #define BUTTON1_GCODE "G28" #define BUTTON1_DESC "Homing" // Optional string to set the LCD status #endif
#define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning #define MAX7219_DEBUG_PLANNER_HEAD 3 // Show the planner queue head position on this and the next LED matrix row #define MAX7219_DEBUG_PLANNER_TAIL 5 // Show the planner queue tail position on this and the next LED matrix row #define MAX7219_DEBUG_PLANNER_QUEUE 0 // Show the current planner queue depth on this and the next LED matrix row // If you experience stuttering, reboots, etc. this option can reveal how
The MMU2 provides two options how the printer board can trigger a reset: software and hardware reset. By default software reset is enabled. Hardware reset requires a digital output pin wired to the reset pin on the MMU2. To activate hardware reset you define the pin (MMU2_RST_PIN) to use on the printer board
The MMU2 LCD menu allows you to load filament to the nozzle. The MMU2 will transport the filament all the way to the extruder gears. The required extruder steps to load it into the hotend have to be defined in Marlin.
The values are relative E distances and feed rates in mm/m. The defaults are based on the nozzle to extruder gear distance of a Průša MK3 extruder, so if required you have to modify those to your extruder/hotend setup accordingly.
To unload filament using the LCD menu a generic ramming sequence will be executed before the MMU2 will retract the filament. The steps to do so are defined using
The values are relative E distances and feed rates in mm/m. The default values are based on a E3D V6 hotend and the nozzle to extruder gear distance of a Průša MK3 extruder, so if required you have to modify those to your extruder/hotend setup accordingly.
【Dual Function】Wash and Cure 2 in 1 design makes washing and curing for 3D printed models reallized in one machine. The operating process is now more efficiency with less effort to meet your different needs.
【Intelligent Curing Control】Built-in 8pcs 385nm plus 8pcs 405nm UV curing lamp beads, work together with the 360-degree rotating curing turntable, which can cure the models evenly. 0.96 inch TFT LCD screen can visually display the set time and the remaining time. With automatic protection, picking up the cover in the operating state will suspend operation and emit a beeping sound. The cover can block 99.95% of ultraviolet rays to protect your vision.
【Ideal Compatity 】Compatible with most of the LCD/DLP/SLA 3D printers like ELEGOO Mars, Mars Pro, Mars C, photon, photon s on the market, which provides you an ideal support for your 3D resin prints.
【Special Notes 】The washing function is not quite suitable for 3D models printed with water washable resin, which is better to be washed with running water.
I found the TFT screen and Uno on Banggood.com about a month ago and over the weekend I was messing with the pair and found the tftbmp draw code in the demo.. I extended it with the ability to read any bmp file on the SD card.. so all you do is put your bitmaps on the SD and plug it in.. Having to add/edit/recompile/reload the Uno everytime is BS... Here is my code: