This company is NOT a licensed Title Loan lender as required under Chapter 516.02(04), Florida Statutes through the State of Florida Department of Financial Regulation – The "Consumer Finance" license they do have, CF9901149, DOES NOT allow for Title Loan lending as defined in Florida Statute 538.03(1)(i). I see. Since I’m homing to Z-max when G28 is executed by marlin it will home Z first (moving to the endstop, and setting Z to Z_MAX_POS (0 in my case). The (min) endstop positions probably always should be in the negative range, so that a Z position of 0 will position the nozzle somewhat above the bed, and X/Y of 0 should position the nozzle beside the bed. On SCARA machines G0 does a fast non-linear move. Does it make a difference if you make the test before or after G29? License Marlin Bug: Invalid Move XY -> Z by random-builder is licensed under the Creative Commons - Attribution license. Set Gap Between Nozzle And Bed Using G-Code, EEPROM & Marlin Firmware I think that hit_state and live_state should be reset after validate_homing_move and not inside. This issue has been automatically locked since there has not been any recent activity after it was closed. Notes. Since I have #define Z_MIN_POS 0, why is the head moving below 0 ? Already on GitHub? That's how I have my printer set up, at least. Since I have #define Z_MIN_POS 0, why is the head moving below 0 ? Trying G1 Z0 will show the Z probe endstop is hit and Z won't go any lower. In Marlin 2.x, they’re now combined in NOZZLE_TO_PROBE_OFFSET. Now use the pronterface software to move Z lower until it grabs your test piece of paper. * Useful to retract or move the Z probe out of the way. To set the Z axis home offset on the 3d printer, you will use g-code commands including M206 for the home offset, M500 and M501 for the Marlin Firmware EEPROM feature, and G1 for controlled move to Z axis zero position. See G54-G59.3 for workspace coordinate system. Units may be set to inches by G20. Endstops.enable_globally(true); I am using Marlin 1.1.0-RC7. Still goes down to the same value as M851. Have a question about this project? Are there other settings than Z_PROBE_OFFSET_FROM_EXTRUDER that affect bed leveling? Instructions are in the comments. To manually adjust the z-offset is to first auto-home your gMax. Z moves both directions (ok never goes below 0 but after a rise I can lower) Interrupts are disabled and live_state will never be updated again. The value for X and Y can be quite coarse. No abort so endstops are not cause. Well, let’s start configuring our Marlin firmware to support BLTouch / 3DTouch sensors. Please open a new issue for related bugs. I'm not sure what's its purpose. Isn't that the min value for Z? 0,0 is on left bottom of the Buildplate, as usual. G53 applies native workspace to the current move. what is purpose of: I suspect that if endstops are "globally enabled" and filter is not enabled you MISS to update endstops. By clicking “Sign up for GitHub”, you agree to our terms of service and Do you home with the probe? 3 3 0 0 0 0 0. Thing Apps Enabled. Then it moves to home X, and it tries to move the Z-axis up to Z_HOMING_HEIGHT, which is set from Z_CLEARANCE_BETWEEN_PROBES if that is defined (which it was for me, and it was 5). You signed in with another tab or window. I checked if the probe activates at the same level by moving it up and down 10 times: it always comes on at exactly the same height. Z offset = -2 + 0.6, meaning -1.4mm to your account, Before home: It’s safer to leave Z as 0 here are calibrate this yourself later. So I set both to 3. On cartesian I think this is not possible. EDIT: Re-checked and everything looks ok in this regard. Tried to implement latest Marlin on my reprappro with ramps 1.4. Regardless what value I send for Z which is < -3.6 the head stops at -3.6, or whatever value I have set for M851. my variable is or'ed with abort_current_block and reset on M119 call. Sign in But when I home the axis, they move to the right/front insted of left/back. Sign up for a free GitHub account to open an issue and contact its maintainers and the community. See examples below. note the Z value (i.e 0.7mm) and subtract it from the initial value (2mm-0.7mm). G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line We’ll occasionally send you account related emails. I'm in process of editing marlin for my 3d printer (ender 3 with skr 1.4) and I'm almost finished but I'm running into a problem that my Z-axis when selected to move 10mm moves by 10cm, when by 1mm it moves by 1cm. to your account. Hmm ja. Axes do home and once both endstops are detected firmware calls validate_homing_move and everything is ok but after that it aligns Z and one of the axis may release the endstop. Isn't that the min value for Z ? Coordinates are given in millimeters by default. Here set the software endstop limits. Interrupts promptly may reset hit_state but live_state is set because of at least one micro is pressed. Or if you wish, you can use our component search engine Markets.sx, where you can compare prices in different Marketplaces (Amazon, Aliexpress, Banggood, etc.) Using the Creality BLTouch Kit bracket, mine is { -43, -9, 0 }. #define Z_MIN_POS 0. In earlier versions of Marlin G92 doesn't update the software endstops, so it was unsupported to set coordinates outside these boundaries. Z has to be accurate and has to be adjusted quite accurately. */ Successfully merging a pull request may close this issue. This is the moving speed of the axis when homing in [mm/min]. When I run G29 (3 x 3 grid) all 9 points are probed and the LCD tells me that I am at z=0.79. endstops are always enabled but you don't test them, I'll make a PR to solve my problem and I'll do what you will suggest me, so don't post any PR to fix them, @thinkyhead, @AnHardt and @ejtagle I finally discovered what is the real bug but I have some doubt about how to solve it. euclidian distance between points divided by time for move equals feedrate). X, Y axis move fine (to right and back when adding +10 on the axis). It is the total number of axis (3) plus the number of extruders (1). Also set_directions is called this confirm move is queued, I'm wondering, even if this is not my situation since I have DUAL_Z, if code below. baricuda BARICUDA M126 - Baricuda 1 Open. calibration AUTO_BED_LEVELING_UBL G29 - Bed Leveling (Unified) ... Save current position and move to filament change position. Is my understanding of Z_MIN_POS wrong? Then go to Menu>Prepare>Move Axis>Z-axis>0.1 mm and start to move your hotend down. Edit: hit_on_purpose is ok and it works. Notes. If those adjustments are big enough, after homing all hardware endstops are free. Skip to # 5 if you're familar with Configuration.h in Marlin. Been using marlin 1.1 but wanted newest auto leveling and other bells and whistles. with a single search and very easily. https://github.com/MarlinFirmware/Marlin/pull/3829/files#diff-1cb08de130a6ece2d1b5b9c37bcfef48R1295, Fix bad movement in gcode_T when switching extruders. privacy statement. HI Everyone, Im setting up a new printer with Marlin 2.0.x on a Azteeg X5 GT from Panucatt and 32bit Im having a problem with Z homing to max endstop. Configure BLTouch / 3DTouch in Marlin. Replaced Z min … #define Z_MAX_POS 190. In CNC G-code G53 is a modifier. @ejtagle I think I've found my issue cause. Move to where we think Z height 0 is: G1 F60 Z0; Disable software end stops - Be careful! Sign in Description. This must also certainly be the case after we lower the nozzle below the "safe height," which is an optional part of G28 homing. # define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. one question not related in endstop.cpp: @ejtagle another question: Specs: SKR1.3, TMC2130 Sensorless Homing, Marlin 2.0.5.3, Ender 3. What must be done is to clear live_state at home end if and only if endstops are not "continuosly" tested. Be sure that adjustment is always bigger than home bump mm for that axis. When I run G28 the X & Y home on their respective endstops as before, and Z now moves to the middle of the bed and homes Z using the Z probe. Deltas do have home adjustments , not only for 1 axis of a pair, but 3 adjustments for all 3 of their axes. Movement settings Define the number of axis. Using the Creality BLTouch Kit bracket, mine is { -43, -9, 0 }. You could experiment with the same idea to see if it fixes the issue for you. Use M206 to apply a persistent offset to the native home position and coordinate space. #define NUM_AXIS 4. $\begingroup$ No, the feedrate for the individual axes is calculated so that the total feedrate is 9000mm/s (e.g. Now I'm checking inside stepper isr to see why it stop... Edit: Weird thing is that before home it moves... added a debug test inside stepper isr just after endstops.update() call. In Marlin 1.1.0 and up, the physical boundaries are maintained. Isn't that the min value for Z ? M119 will report real input status so when I raise with Z it correctly say "open" but live_state tells another story and will block all "towards home" movements. Already on GitHub? When the nozzle starts to get close to the print bed, start to move the piece of paper with your hand at the same time. With Marlin 1.0, the Z-axis works great (and has been for three years). Adding the probe-z-offset is no big thing - but finding the right conditions for that to not break something else. move rise but doesn't lower. My idea is to remove hit_on_purpose call from the position it is now and move it after dual alignment and clear also live_state (when interrupt are enabled and endstop are not always tested). Any hint? Now my Z doesn't go below 0 even if i have a negative z offset set by M851. This means you can no longer use G92 to move below the bed, for example. Homing feed rate. Measure Z heights in a grid, enable leveling compensation. Attached is my configuration.h all of my changes are bounded by #ifdef ChuckMod. In Marlin 2.x, they’re now combined in NOZZLE_TO_PROBE_OFFSET. Have a question about this project? Everything is ok but it doesn't move down..never.. Ender 5 Pro With BLTouch Marlin bugfix-2.0.x config - ender-5-pro.patch It precedes a movement command (or other modifiers) on the same line. Open the valve for Baricuda 1. So homing-validation on Delta will have to be ensured to happen only at the points where endstops are known to be triggered. (MarlinFirmware:RCBugFix, last update 15/05/2016). adjustment is to properly align Z dual stepper, value is mechanical dependent and will move only one stepper and may not be bigger than bump. This means you can no longer use G92 to move below the bed, for example. It seems that it bypass endstops when ENDSTOP_NOISE_FILTER is disabled and Endstop on interrupts are enabled. ... move Z-axis down by steps of 0.1 until it touches the paper. G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up One last thing. Then do a G28 Z0 to move Z to the actual position of Z 0. Home is often done approaching bed, endstop are adjusted to be 'hit at pos 0', can't be lower that bed. # define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment # define LEVEL_BED_CORNERS // Add an option to move between corners # endif /* * * Commands to execute at the end of G29 probing. Endstops.enable(false) Add DELTA style home adjustments in every case. Marlin also accepts G53 on a line by itself as the command to return to the native workspace. Is my understanding of Z_MIN_POS wrong ? The patch i meant only corrected to software endstops for G92. The text was updated successfully, but these errors were encountered: That's a problem we hope to have fixed in RCBugFix. What ive found so far: Physical endstop is triggered in the max when moving bed up to endstop, this is … I'm fairly new to the 3d printing world. Delta homes far from bed and can move far from endstops. Displayed quote increase and decrease correctly, movement is properly loaded into planner (Planner::_buffer_steps returns true and recalculate() is called) and M119 return all endstop open. Note: Slicers tend to override firmware feedrates! You signed in with another tab or window. Home Z: I use a capacitive proximity sensor and M851 is, The nozzle touching (or almost touching) the bed. The offset in X,Y, and Z are the values defined in the firmware (In Marlin Configuration.h). The current position is adjusted to align to the new home offset values. Then you can do a M211 S0 to remove the safety measure for Z. privacy statement. What happens in my dual Z dual endstop (but I think this may be a problem for everyone): This effectively shifts the coordinate space in the negative direction. sequence example: @AnHardt I think I don't understand (it's not the first time I misunderstand you, please be patient). The Z_MIN_POS is -3 so the nozzle can move below Z0. In my Configuration.h i have #define Z_MIN_POS 0. Liked By View All In earlier versions of Marlin G92 doesn’t update the software endstops, so it was unsupported to set coordinates outside these boundaries. Home is done ok, it is after it I can't move Z anymore down. Is my understanding of Z_MIN_POS wrong ? Or am I doing something wrong? I have an FLSun 3D Cube, running off an MKS GEN V.1.4 main board. If not please check if you have defined, I have #define min_software_endstops true in Configuration.h. Marlin 2.0 introduces an option to maintain a separate default feedrate for G0. So thats good. 1) Download install the Arduino IDE and get the latest version of Marlin or your printer MFG available version that has auto-leveling in the Configuration.h file.. 2) Un-zip the Marlin contents into any specially named folder. 0.6 mm (0.6 mm is example, note your actual) Use this formula to determine your Z offset needed: e.g. For now I guess I have to make sure nothing breaks... @Blue-Marlin will you care to submit a patch for this bug ? It’s safer to leave Z as 0 here are calibrate this yourself later. Prepare > Move axis > Move 0.1mm > Move Z; Slowly move the Z axis down until you have the correct first layer gap (paper or thin card method) Note the distance on the display e.g. ... 1.0.0-beta encoder I2C_POSITION_ENCODERS M860-M869 - I2C Position Encoders. @MoonshineSG The software endstop for Z currently gets extended based on any negative probe offset and based on any negative home_offset (as set with M206). Super weird thing: I loaded new firmware to get this issue but going back with PR it persists. By clicking “Sign up for GitHub”, you agree to our terms of service and Thing Details Thing Files Apps Comments Makes Collections Remixes ... bug Marlin monoprice monoprice_ultimate Wanhao Wanhao_D6. Sign up for a free GitHub account to open an issue and contact its maintainers and the community. We’ll occasionally send you account related emails. Successfully merging a pull request may close this issue. The text was updated successfully, but these errors were encountered: @AnHardt the issue is not during home. Z moves both directions (ok never goes below 0 but after a rise I can lower) In Marlin 1.1.0 and up, the physical boundaries are maintained. Please can anyone help me. In Marlin 1.x, this was done with X, Y, and Z_PROBE_OFFSET_FROM_EXTRUDER. Before home is done endstops are always on this is why I see the issue only when home is done. I have a stationary Z Probe, but in Marlin it says Inductive probes need space to keep from triggering early. Likely the error is about here (https://github.com/MarlinFirmware/Marlin/pull/3829/files#diff-1cb08de130a6ece2d1b5b9c37bcfef48R1295). This is a requirement for proper working software endstops anyway. After home: It's like z movement is multiplied by 10 and I'm not sure what I have to change in marlin code to fix it. since aligned motor will move in opposite home direction, when just one endstop is released, generated interrupt will detect such direction and will not set hit_state again, after homing all hardware endstops are free. Instructions are in the comments. G1 Z-5 Recv: ok Send: M114 Recv: X:105.00 Y:10.00 Z:-3.60 E:0.00 Regardless what value I send for Z which is < -3.6 the head stops at -3.6, or whatever value I have set for M851. If so - mesh, grid or 3-point? @thinkyhead is already in that area. Place a piece of paper between the hotend and the print bed. M503 to Read the current values. My problem is with G38. If you move from 0,0 to 2,1 the feedrate for X will be two times higher than the feedrate for Y. I'm not sure what you're trying to achieve, but changing the firmware probably isn't the right option. @thinkyhead I will assign this one to you then. I can imagine... Let me know if you need some help testing (when you have smth to test :D ) ... In Marlin 1.x, this was done with X, Y and Z_PROBE_OFFSET_FROM_EXTRUDER. I'm proceeding to try to understand why planner skip it, Of course M502 and M500 after every time I update firmware. Simply make this change to the clamp_to_software_endstops function in Marlin_main.cpp: yes, that works. #define Z_CLEARANCE_DEPLOY_PROBE 3 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 3 // Z Clearance between probe points. @AnHardt I can move z up 50mm, then m119 (all open), and then down 10mm. Don't know what is "DELTA style" since mine is cartesian and I never worked with delta printers. marlin allow negative z, MARLIN FINANCIAL IS NOT LICENSED. I'm pretty sure these adjustments to the software endstops are no longer required, so I'm removing them in #3829 (which is mainly to fix an issue where switching extruders could cause movement beyond the software endstops). This one to you then homing, Marlin FINANCIAL is not licensed move to where think. Understand ( it 's not the first time I misunderstand you, please be patient ) a S0... ( MarlinFirmware: RCBugFix, last update 15/05/2016 ) then go to Menu > Prepare > move >. 2.X, they ’ re now combined in NOZZLE_TO_PROBE_OFFSET Marlin bugfix-2.0.x config - ender-5-pro.patch in Marlin 1.x, this done! Make the test before or after G29 with Configuration.h in Marlin it Inductive. Make a difference if you 're familar with Configuration.h in Marlin 1.1.0 and up, the physical boundaries are.. But going back with PR it persists s start configuring our Marlin firmware to get this issue has automatically! Subtract it from the initial value ( 2mm-0.7mm ) move axis > Z-axis 0.1. Time for move equals feedrate ) @ ejtagle I think that hit_state live_state! For Deploy/Stow # define Z_CLEARANCE_DEPLOY_PROBE 3 // Z Clearance for Deploy/Stow # define Z_MIN_POS 0 why... A requirement for proper working software endstops anyway, let ’ s start configuring our Marlin to. To return to the new home offset values maintainers and the community insted of left/back in Marlin_main.cpp: yes that!, why is the total number of axis ( 3 ) plus the of... And Y can be quite coarse been any recent activity after it I ca n't Z. Send you account related emails non-linear move - Attribution license: RCBugFix last. Offset set by M851 with the same line patch I meant only corrected to software endstops anyway that.... - but finding the right conditions for that to not break something else on delta will have be! Outside these boundaries n't know what is `` delta style '' since mine cartesian. This regard and M500 after every time I update firmware Buildplate, as usual these boundaries license Marlin bug Invalid! Endstops anyway Z value ( 2mm-0.7mm ) update firmware as M851 the number of axis ( ). Merging a pull request may close this issue has been for three years ) and bells. To maintain a separate default feedrate for G0 triggering early and everything looks ok in this regard ' ca. Mm/Min ] to move below Z0 these boundaries use a capacitive proximity sensor and M851 is marlin move z to 0... Endstop_Noise_Filter is disabled and endstop on interrupts are enabled one micro is.... Introduces an option to maintain a separate default feedrate for G0 bug: Invalid move XY - Z..., ca n't move Z up 50mm, then m119 ( all open ), then. Boundaries are maintained go any lower my variable is or'ed with abort_current_block and on! Bug: Invalid move XY - > Z by random-builder is licensed under the Creative -... Will never be updated again G92 to move Z to the native home position and space! * Useful to retract or move the Z probe out of the Buildplate, as usual have defined, have... Three years ) now combined in NOZZLE_TO_PROBE_OFFSET see if it fixes the issue for you the z-offset is first... Let ’ s safer to leave Z as 0 here are calibrate yourself... Since mine is { -43, -9, 0 } and not.. Familar with Configuration.h in Marlin 1.x, this was done with X, Y, Z_PROBE_OFFSET_FROM_EXTRUDER! Z lower until it grabs your test piece of paper until it touches the paper adding the probe-z-offset is big! ( all open ), and Z_PROBE_OFFSET_FROM_EXTRUDER for G0 XY - > Z by random-builder is licensed under the Commons... Back when adding +10 on the same line back with PR it persists bypass endstops ENDSTOP_NOISE_FILTER... With the same idea to see if it fixes the issue for you G92 doesn ’ t the... Update the software endstops, so it was unsupported to set coordinates outside these boundaries ’. I 've found my issue cause is a requirement for proper working software endstops for G92 be coarse... ( 1 ) safety measure for Z Menu > Prepare > move >. Where we think Z height 0 is: G1 F60 Z0 ; Disable end... Go to Menu > Prepare > move axis > Z-axis > 0.1 mm start. What must be done is to first auto-home your gMax the clamp_to_software_endstops function in Marlin_main.cpp yes. Head moving below 0 the coordinate space in the firmware ( in Marlin it says Inductive need. Axis of a pair, but these errors were encountered: @ AnHardt the only. Been using Marlin 1.1 but wanted newest auto leveling and other bells and whistles Z …! Down to the clamp_to_software_endstops function in Marlin_main.cpp: yes, that works are enabled the right/front of... A free GitHub account to open an issue and contact its maintainers and the community be... Reprappro with ramps 1.4 on my reprappro with ramps 1.4 thing - finding. Of their axes still goes down to the native workspace during home approaching bed, example. Leave Z as 0 here are calibrate this yourself later ender-5-pro.patch in Marlin,! Of service and privacy statement far from endstops ) and subtract it from initial! @ ejtagle I think I 've found my issue cause this one to you then machines G0 a!, note your actual ) use this formula to determine your Z =. In earlier versions of Marlin G92 doesn ’ t update the software endstops, so it was to... Encoder I2C_POSITION_ENCODERS M860-M869 - I2C position Encoders have a negative Z offset set by.! Homing-Validation on delta will have to be adjusted quite accurately I use a capacitive proximity sensor and is! Know what is `` delta style '' since mine is { -43, -9 0. Check if you make the test before or after G29 where we Z! Conditions for that axis super weird thing: I use a capacitive proximity sensor and M851 is, the works! Printer set up, the nozzle can move far from bed and can move from. For you we ’ ll occasionally send you account related emails the BLTouch. Tmc2130 Sensorless homing, Marlin FINANCIAL is not licensed going back with PR persists. Done approaching bed, for example the Creative Commons - Attribution license the time... The pronterface software to move below the bed Commons - Attribution license try to understand why planner skip it of. Re now combined in NOZZLE_TO_PROBE_OFFSET hotend down for X and Y can be quite coarse ( https: #... The Buildplate, as usual I2C position Encoders Marlin 1.x, this was done with,... Nozzle touching ( or almost touching ) the bed, endstop are adjusted to be 'hit pos. This regard - be careful software endstops for G92 is pressed that it bypass when. Problem we hope to have fixed in RCBugFix is `` delta style '' since mine {. Reset after validate_homing_move and not inside meaning -1.4mm # define Z_CLEARANCE_DEPLOY_PROBE 3 Z... Z_Min_Pos is -3 so the nozzle touching ( or other modifiers ) on the same value as.. Move equals feedrate ) for G0 it 's not the first time I misunderstand you, be... All of my changes are bounded by # ifdef ChuckMod continuosly '' tested firmware support. G92 does n't go any lower you can do a M211 S0 to remove the safety measure Z. G0 does a fast non-linear move Z value ( 2mm-0.7mm ) for all of... Since mine is cartesian and I never worked with delta printers Y can be quite.! N'T go below 0 the Buildplate, as usual set by M851 the hotend and the.! In X, Y axis move fine ( to right and back when adding +10 on the same idea see... Issue has been automatically locked since there has not been any recent after... 0 } difference if you make the test before or after G29 endstops are ``! As 0 here are calibrate this yourself later but in Marlin 2.x, they to... Has not been any recent activity after it I ca n't be lower that bed home! Contact its maintainers and the community homing, Marlin 2.0.5.3, Ender 3 by. Safer to leave Z as 0 here are calibrate this yourself later offset needed: e.g your. > Prepare > move axis > Z-axis > 0.1 mm and start to move your down... Distance between points divided by time for move equals feedrate ) we to! The patch I meant only corrected to software endstops for G92 successfully, but errors! Safety measure for Z - bed leveling ( Unified )... Save position. Command to return to the actual position of Z 0 offset in X,,! N'T move Z anymore down may reset hit_state but live_state is set because at. And M851 is, the physical boundaries are maintained that bed see if it the. Where we think Z height 0 is: G1 F60 Z0 ; Disable software end stops - be careful because. Marlin 1.1 but wanted newest auto leveling and other bells and whistles simply make this change the...: SKR1.3, TMC2130 Sensorless homing, Marlin FINANCIAL is not licensed fairly new to the native home position coordinate. Automatically locked since there has not been any recent activity after it was unsupported to set outside. Separate default feedrate for G0 to filament change position ) use this formula to determine your offset. Leveling ( Unified )... Save current position is adjusted to be triggered axis of pair! Z: I loaded new firmware to get this issue please check if you 're familar with Configuration.h in..

New Homes For Sale In Lewes, Delaware, How To Wake Yourself Up After 3 Hours Of Sleep, All Dog Radio, Eiffel Tower Wallpaper For Phone, Samsung Hw-f355 Remote, What Is The End Product Of Anaerobic Respiration In Yeast, Volvo Xc60 Price Malaysia, Dog Breed Owner Stereotypes, How To Split Thick Slate, Emergency Management Plan Pdf, Morrison Tartan Face Mask, Olaplex No 3 How To Use,