The mesh point locations are calculated by Marlin. They are based on the bed size, specified inset, and the number of points in the mesh. They are spaced equally from each other. You don't get to move the mesh point locations other than by shifting the bed size, number of points and inset. Which bed leveling system are you using? In general... You should probe the bed. And then print aby Roxy - Firmware - Marlin
Quotebrucehvn So, let's say I just homed, so I'm at X0, Y0, and Z2. Now I raise the carriage to Z10, and do a G1 X185 Y185. There was no change in the Z compensation on that move. Now if I lower the print head to Z0, does the Z compensation get applied? If it does, then theoretically, I should be able to check that point with my feeler gauge and it should still be the same as when I did theby Roxy - Firmware - Marlin
This pattern looks good: You can argue about how much overlap a first layer print should have. And what temperature it should go down at. But if you can print a pattern that looks like this.... You won't have any problems with your first layer. And... You will be able to get good adhesion across 100% of your bed 100% of the time.by Roxy - Firmware - Marlin
Marlin already does that. The configuration options enable and disable different pieces of code. If some option is not enabled, the code for it will not be compiled into the image. That is what the #ifdef SOME_OPTION lines do...by Roxy - Firmware - Marlin
You need to have a very strong C background to make changes to Marlin. And even that is just a start. You also need a very strong understanding of Real Time embedded control devices and communications. I suggest you describe your kinematic's to us and get consensus that it makes sense to prototype it.by Roxy - Firmware - Marlin
Setting X_BED_SIZE and Y_BED_SIZE will set the size of the mesh. Setting GRID_MAX_POINTS_X and GRID_MAX_POINTS_Y will set the number of mesh points in each direction.by Roxy - Firmware - Marlin
UBL allows you to tilt the mesh. But there is seldom a reason to do that. The mesh bed leveling works very well. The isn't any down side to using a 10 x 10 mesh instead of a 5 x 5 mesh. Depending on the peaks and valleys... You may get better results with more mesh points.by Roxy - Firmware - Marlin
Folgertech i3-2020 is a reference platform for Marlin. I don't know about the FT-5. That stuff is set in Configuration.h. Look for BED_SIZE_X and BED_SIZE_Y The UBL mesh will cover the bed. What ever you say the bed size is... The mesh will cover it. It is movement off the mesh that is the problem.by Roxy - Firmware - Marlin
You should be using the latest Bugfix version. It is difficult to support old versions of the code. You are moving the nozzle off the mesh. Set up things so the mesh is actually on the print bed and you are not moving the nozzle off the mesh. With that said... I did put in a lot of code to handle the case where the nozzle moves off the mesh. It is possible you have found some corner cby Roxy - Firmware - Marlin
So you don't want a square mesh? You want your mesh points staggered? None of the mesh bed leveling systems accommodate that right now. Is there a good reason to do that?by Roxy - Firmware - Marlin
After any change to the default settings... You need to do a M502 (to load the default settings) followed by a M500 (to save the updated settings). If you don't do that... The behavior won't change because it keeps using the saved values in the EEPROM.by Roxy - Firmware - Marlin
Yes... You can use the UBL G29 Q option to load different (dramatic) test patterns as the mesh. That makes it easier to play around and see how things behave. Do a G29 Q1 T and look at the created mesh. Then move your nozzle to the center of the bed and jog it 100 mm either way... With UBL active, you will see the nozzle rise as it crosses the line.by Roxy - Firmware - Marlin
That is the wrong perspective. If UBL is active... The Z-Height correction is happening. If UBL is not active... you are operating in machine coordinates. A simple example would be G26. You can run the Mesh Validation Pattern with UBL active or not active. In most cases, it makes sense to run it with UBL active. The reason is... It is commonly used to see how well your mesh reflects thby Roxy - Firmware - Marlin
Prior to trying to bring up a bed leveling system.... Make sure you can print small objects (such as a calibration cube) in the center of the bed. If you don't have the setting dialed in well enough to do that... It will be almost impossible to get the bed leveling system working correctly.by Roxy - Firmware - Marlin
Now go on eBay and get a Max7219 8x8 LED Matrix! Here is pre-assembled one for under $2.00 (including shipping) It is very handy to be able to light up different dots depending on what is going on in the firmware. And if you are not debugging code, the lights will show you how many commands are buffered up waiting to be executed by the printer. It looks very cool while printing.by Roxy - Firmware - Marlin
The 20x4 LCD Displays allow 'custom characters' to be defined. The corners of the box are customer characters. Marlin also uses custom characters with the UBL Mesh Edit from the LCD Panel. It uses them to construct a grid of the mesh points and to show you which mesh point you are editing. lcd.write('\x00'); through lcd.write('\x03'); are the custom characters needed to make the cornersby Roxy - Firmware - Marlin
That code is a week old. And changes have been made to it. If the changes don't fix your issue, please start a thread at and we will get the right people focused on it.by Roxy - Firmware - Marlin
There have been some changes to the probing code over the last 2 weeks in response to issues of probing on the edge of the bed. It is very possible the lastest code addresses some of what you are seeing. Can you try the current code?by Roxy - Firmware - Marlin
You mesh points are very large. This implies you do not have your Z_PROBE_OFFSET_FROM_EXTRUDER set correctly. You mesh point values should be centered around 0.00 mm.by Roxy - Firmware - Marlin
Make sure your X & Y_PROBE_OFFSET_FROM_EXTRUDER are correct. And then, make sure your bedsize and/or X_MIN, Y_MIN, X_MAX and Y_MAX are correct. If that is all right.... you shouldn't be going off the bed. Also... Z_SAFE_HOMING is important. It is much better to home the Z-Axis in the center of the bed.by Roxy - Firmware - Marlin
When you made changes to: #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 94.4962144 } Did you do a M502 and M500 to get the new values stored in EEPROM? If not... you won't see any changes.by Roxy - Firmware - Marlin
QuoteJeffsg605 Apparently G28 (home) turns off bed leveling. Not sure why but... The reason is, if the machine is being homed, it very likely is because the machine just powered up and doesn't know its position on each axis. Without knowing where the nozzle is on the bed (with certainty), it is difficult to 'correct' for the bed imperfections. The other half of the answer is, the original 3-poby Roxy - Firmware - Marlin
QuoteRoberts_Clif I use WinMerge Where I can load two different files and compare them side by side. ... Will look into this option on Notepad++ I actually use ExamDiff-Pro. But NotePad++ (with the visual diff compare plug in) is free. I think ExamDiff-Pro has a Demo version if you want to try that.by Roxy - Firmware - Marlin
QuoteRoberts_Clif Not worried about anyone hacking Marlin source code, Their are many programmers watching the new versions of Marlins source code very closely. And in fact... typically people do not share GCode files. They share .STL files and each person slices that file for their printer. About the only time we share GCode files is when we have some problem and it requires a lot of stateby Roxy - Firmware - Marlin
Yes... Make a Pull Request with the appropriate changes. And be sure to give a good description for what is being fixed.by Roxy - Firmware - Marlin
The best way is to use a Visual Diff program to cross everything over. NotePad++ with the visual diff add in works very well.by Roxy - Firmware - Marlin
How old is the firmware you used to find the G0/G1 issue? Some issues have been addressed in that area of the code base in the last two weeks.by Roxy - Firmware - Marlin
The good news is... If you are worried about what firmware is in your printer... You can keep a version of it that you trust on your SECURE computer, and reflash it before each and every print. But my guess is, most hobbiest's aren't worried about somebody altering the firmware on their printer.by Roxy - Firmware - Marlin
Marlin is Open Source. The whole community works together to improve Marlin. Please post your concerns in this thread, and the community will work together to assess and mitigate the 'threat'. Or better yet... Please create an issue at If the issue is real, it will get fixed ASAP. Security Through Obscurity Is Not an Answer:by Roxy - Firmware - Marlin
It is difficult to write lines on the LCD Screen... There are a lot of issues involved to doing that as a debug tool. But SERIAL_ECHO() macros are very very easy to use. I use them all the time to print debug information. Also... I use a Max7219 8x8 LED Matrix to display check point information... and bar charts and such. You can buy them on eBay for under $2.00 including shipping. Andby Roxy - Firmware - Marlin