Upgrading Anet A8 Firmware - Page 1
Forum section: electronics / general

author: bostonman
author_rank: Super Contributor
timestamp: August 20, 2021, 04:13:40 am
content: Hopefully I can get some help because I'm very confused.My Anet A8 had the original firmware, so I took the first step and used Arduinio IDE to install a bootloader (Anet 1.0 Optiboot). From what I can tell, it went smoothly.After I used Visual Studio Code, installed the extensions: platformIO and auto build marlinI then downloaded (if I understand correctly) the latest version of Marlin (2.0.9.1). From what I understand, I need to also download configuration files, and I found that to be the latest version 2.0.8.2. After downloading, I copied the Anet A8 directory that contains three files (_Statusscreen, Configuration, and, Configuration_adv) into the Marlin folder (overwriting any old versions of these files).Upon building, I see the 'Architecture' is ATmega1284p (which I think is correct), but 'pins' is sanguino/pins_ANET_10h, and environments is sanguino1284p and sanguino1284p_optimized.First questions: I don't know what 'pins' and environments is nor do I know what sanguino is or the difference between the regular and optimized. Can this be explained because I can't seem to find answers onlineUpon trying to build the regular and non-optimized, I get an error: your configuration.h and configuration-adv.h file is for an old version of Marlin. Downgrade Marlin or upgrade your configuration.h and configuration-adv.h file (these are separate errors, but I'm including them in one line.What step am I missing since I followed the video closely and I didn't see any such errors.After lots of digging, I came across a website (https://3dwork.io/marlin/) that allows you to configure Marlin and download a zip to build. I'm not exactly sure I should trust this website, however, it seems to dig into asking about thermistors and stuff. I'm would imagine the Marlin firmware has all the standard settings already set, so using this website provides the opportunity to mess up something.I thought this would be easier, but some of the questions above have rolled into this. Such as, what does 'environment' mean and I don't have a clear understanding how to determine which one to use in the drop down. Also, it asks for the 'motherboard'. Mine is an Anet A8, but I don't see it in the list.I'm really confused and could use some help.Thanks in advance.

author: bostonman
author_rank: Super Contributor
timestamp: August 23, 2021, 03:07:59 am
content: I keep getting this error no matter what I do:your configuration.h file is for an old version of marlinI have the latest version of Marlin and the Configurations (2.0.9.1 and 2.0.8.2 respectively).This is annoying because I've spent nearly two-weeks trying to solve this along with research. No matter what I do, I can't get these new versions to build.

author: xrunner
author_rank: Super Contributor
timestamp: August 23, 2021, 03:24:27 am
content: Quote from: bostonman on August 23, 2021, 03:07:59 amI build the latest versions as they come out, never had that issueexcept when I tried to use older configuration files with a newer version of Marlin. I tried to use old configuration files because I did not want to go through and make all the changes I needed to the new files. But I have "cheated" by inserting the new check numbers into the old files (not advised).I'm not using the computer where I have the builds right now, but tomorrow I can look at some things. As I said, I do know that each of the two configuration files have a sanity check number that, if not correct, will cause that message to be generated - "your configuration.h file is for an old version of marlin".

author: bostonman
author_rank: Super Contributor
timestamp: August 23, 2021, 03:52:10 am
content: If it helps, this is what I understand. Obviously correct me if I type anything wrong.Marlin (recent versions - but let's stick to 2.0.9.1 for this discussion since it's the latest) has two files in the Marlin directory named: Configuration, and, Configuration_advTypically these need to be edited for my Anet A8 because this default is set to other printers. This is why the Configurations file on Github needs to be downloaded, and in the Anet A8 directory, three files exist: _Statusscreen, Configuration, and, Configuration_advThese three files need to be copied (and the other two over written) in the Marlin folder.The reason is this sets the Marlin firmware to be set up for the Anet A8 without the inexperienced user (such as I) to tweak the configuration files.Although I have questions about some other stuff, for now I'd like to at least get my printer back up and running with new firmware.Just and FYI, I just downloaded the Marlin 2.0.8.2 version which matches the most recent Configurations version and it built without an issue.I followed all the same steps as I have and the only thing that has changed is matching the Marlin version number to the Configurations version number - obviously this means I'm behind a few versions of Marlin - but it built correctly.I did, however, get a warning which I think isn't an issue: warning: multi line comment // (spaces and pipes) 0.1ufI'm going to look into that error just so I understand what is going on (assuming I understand that section of code).Possibly I missed something in the many tutorials I've read/watched and I need to change something in the latest Marlin to match the "older" Configurations" version.

author: bostonman
author_rank: Super Contributor
timestamp: August 23, 2021, 04:16:43 am
content: I may have found the issue.......I'm on the Configurations page:https://github.com/MarlinFirmware/ConfigurationsOn the right side is "latest release" and that's what I've been selecting because I thought that will assure me I'm getting the latest, but it's listed as 'examples' which I'm guessing is different files.This version is the 2.0.8.2, however, the page (https://github.com/MarlinFirmware/Configurations/tags) shows 2.0.9.1 and doesn't include the word 'examples'.I think my inexperience with Github just cost me many hours of frustration.Am I correct?

author: xrunner
author_rank: Super Contributor
timestamp: August 23, 2021, 04:28:27 am
content: I think you got it now! The sanity check number in the examples doesn’t match the latest marlin version.

author: bostonman
author_rank: Super Contributor
timestamp: August 23, 2021, 04:49:49 am
content: You have no idea what I've been going through.I'll not bore you with the details, but let's just say I gave this "issue" my best before asking questions.The 1280P architecture I understand - it's the chip on the board, but what is the meaning of 'environment' and why is there a build for something called 'optimized'?I'm uncertain how much you know about this firmware (or anyone reading this), but is it correct to assume this firmware in its default downloaded state is all my printer needs to work? My understanding: the only reason I need to edit the Configurations.h file is if I add a physical feature (or want to tweak the code such as renaming the display name), correct?The only issue I see with the steps in the previous paragraph is that each time I update the firmware, I need to remember each change I made to the Configuration file. As an example, if I disable a few features to make more firmware space, and enable a few features, I need to do this each time. Obviously this allows for errors with having to remember each tweak.Anyway, these are just so questions that I remain confused over, but now at least I can update the firmware and get my printer working again. I guess the next headache will be enabling/disabling features.This was HUGE help!

author: xrunner
author_rank: Super Contributor
timestamp: August 23, 2021, 11:30:15 am
content: Quote from: bostonman on August 23, 2021, 04:49:49 amOh I do know. I've had a few other infuriating issues, just not the one you are fighting now.QuoteIt's the board consisting of the CPU and all the other types of design choices they used on it. Not sure what the optimized means.The sanity check numbers are like this (from about line 38 in configuration.h and also in configuration_adv.h -#define CONFIGURATION_H_VERSION 02000901and from version 2.08 -#define CONFIGURATION_H_VERSION 020008If they don't match the version of Marlin you are compiling you will get that message you were stumped over. You can trick it by entering the new number in your old file but it's not recommended.QuoteYes but you still have to edit the configuration files for certain required settings for your particular printer and other choices you might want.I have a board with TMC2209 stepper drivers so I have to #define them like this (configuration.h) -/*** Stepper Drivers** These settings allow Marlin to tune stepper driver timing and enable advanced options for* stepper drivers that support them. You may also override timing options in Configuration_adv.h.***/#define X_DRIVER_TYPE TMC2209#define Y_DRIVER_TYPE TMC2209#define Z_DRIVER_TYPE TMC2209Other settings -#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 99 }I have a BLtouch so I have to tell it -#define BLTOUCHWay too many to list just get through it all once and you'll have it done.QuoteYou don't "remember" these things per se, they saved are in the file you edit. All you need to do is compare new configuration files to the ones you have set up and working and make any changes to the new files. I do it with Notepad++ and the compare plug-in. Many times there won't be a lot of changes. Many will just be added comments you can skip through pretty quickly. You really just need to get your numerical settings in there and the features you have enabled and disabled set the same.QuoteYea once you have the basic things working you can look through and enable other features and play with those all you want. You will break it again sometimes, but you can get back to a working set-up now.

author: bostonman
author_rank: Super Contributor
timestamp: August 23, 2021, 01:39:50 pm
content: For my needs, I think all I plan to change is adding a sensor, and, assuming it's another feature, adding auto bed leveling where it checks x points before each print (I believe you set the number of points in the configurations.h file).It looks like the standard code occupies approximately 86% because I didn't change anything and that's what I showed as occupied space, so I may want to disable some features I don't need.If anything, Marlin has too much information online because I found plenty of information, I was just confused over the issues. I was using Winmerge and looking at the code (not that I'm an expert in reading C++, but I know a little).I have found a list of features and their occupied memory space, but I don't believe I've found a list that states which features are required and which are optional. In my opinion, this would be a big help because in its current 86% occupied state, I may save significant space turning off unimportant features like the Marlin logo or whatever.I really have to give any and all credit who keep Marlin updated. As stated above, if anything, more than enough information exists online, I just think it requires a level of firmware and programming knowledge to wrap your head around it.QuoteIn any case, do you like this sensor? Someone gave me either a capacitive or inductive sensor (I forgot which one at the moment but have the datasheet), and, after reading, neither may suit my needs. Currently I use glass with painter's tape, but I plan to use one of those magnetic sheets that you can peel off each time to remove a print (I've seen good and bad reviews about them, so I'm uncertain which direction I'll go).If I go capacitive, I understand external temperatures affect the distance, if I go inductive and get a magnetic sheet, I may run into issues. Obviously if I stay with glass, then I can stick with inductive, but then I'm limited if I want to go magnetic going forward unless I change everything.The only real question I have about all the sensors is setting the height. I know initial set up will be a few minutes, however, say I change the nozzle which requires I unscrew it from the base. After installing a new one, the nozzle will probably be slightly higher or lower. Does this mean I need to adjust the position of the sensor?My guess: since 3D bracket models exist for all these sensors, the sensor mounting position never changes, but, you have to tell the firmware that when the sensor touches the bed, the nozzle is x mm from that point.

author: xrunner
author_rank: Super Contributor
timestamp: August 23, 2021, 05:46:38 pm
content: QuoteQuote from: bostonman on August 23, 2021, 01:39:50 pmYea it's fantastic. Makes the first layer look like it was airbrushed on. Solves a lot of first layer issues.QuoteNo need to really fine tune the sensor vertical position after nozzle change if you can get it back on about the same height, say +/- 1 mm. What you will use is the Z offset adjustment menu. Just run a test print and look at the filament being laid down. Tweak the Z offset as it's running to get back to the filament "squish" you had before and save to eeprom. Done.

author: bostonman
author_rank: Super Contributor
timestamp: August 24, 2021, 01:13:53 am
content: I can somewhat see why I was downloading the wrong version.The Marlin Github main page shows Marlin-2.0.x, and that's the ZIP file that is downloaded. Off to the right is a green oval labeled 'latest'.Due to not understanding why the latest version is marked Marlin-2.0.x forced me to always jump to the right side.Edit: just like the Configurations github doesn't show the version, and, if I click on branches, I see there is bugfix-2.0.x. Without knowing exactly what I'm looking for, it's not obvious what I should download.

author: bostonman
author_rank: Super Contributor
timestamp: September 07, 2021, 03:03:18 am
content: After the many failures of uploading the newest version of firmware, I think it really helped me become more proficient with the updates. It makes much more sense to me now and I grasp the concepts much better.I still don't quite get Github. Personally I feel it's not as straight forward if you don't know what to look for. A good example (a rhetorical question) why is the latest version 2.0.9.1, and this version can be downloaded, but 2.0.x is the latest and can also be downloaded. When I compare zip file sizes, they differ slightly indicating they are not the same. In any case, I'm sure with a bit more experience I'll understand Github.After using this new version of Marlin (after updating from the original firmware) seems much nicer. It seems quicker, flows better, provides more information, and I feel much more in control knowing I can make changes to it.Having said all this, I hit another roadblock, however, I feel I've done an extensive amount of research before resorting to posting (more) questions.First of all, I know this microcontroller is 128k and enabling features eats up this (very quickly it seems). The latest version of Marlin and Marlin's configuration files (2.0.9.1) in its default state uses 85% of memory.I noticed the end stops are disabled when just moving the axis. They are enabled for 'homing' but I'd like to enable them always. From what I understand, it's simple and I need to un-comment (in the configuration_adv.h file): //#define ENDSTOPS_ALWAYS_ON_DEFAULTThis seems so easy that I want to double check this is the only line to edit. The part I don't understand: I can override with M120 and M121. Not to waste time making assumptions, but I sense this means gcode. If so, using gcode to enable the end stops seems like a waste since the gcode would be executing a print at that point. I want to enable end stops so I can avoid slamming the bed or head into the switches as I'm manually moving the head/bed.Due to size limitations, I think the only 'standard' option I can disable to save space may be the motion speed of 10mm, however, I don't see the section of code to change this.The main issue that I've spent extensive time researching is the BLtouch sensor. I've already purchased the v3.1, printed a mount, and installed it (except I haven't done the wiring). I watched a YouTube video from Crosslink (who does some great tutorial videos), but it's an older video with an older version of Marlin.The manual that came with the BLtouch sensor lists the code for Marlin, but it seems to include lines that are already un-commented. I also tried following the YouTube video by editing each line in the configuration.h file version he used, and compared it in Winmerge, but it still doesn't make sense.The Marlin firmware website lists (what I assume to be) the section(s) that need to be un-commented (see end of this message), but it seems to conflict with the YouTube Crosslink video.Can someone steer me in the direction I need to go so I can enable the BLtouch sensor, and have it perform a nine point calibration (I know the last step is to add G29 in the gcode so it performs a calibration at the start of each print)?Lastly, reverting to my statement earlier about limited memory size and Marlin being 85% full. I believe enabling BLtouch exceeds the memory size (and one reason I'd like to eliminate the 10mm speed which I think is unnecessarily fast). I'm also enabling the end stops, so that will offset what I reduce by eliminating the 10mm speed. I guess my question is: does a list exist that will show me what are essential features necessary for the printer to run so I can tinker with removing the unessential and not running out of space when I add BLtouch?A list exists (https://crosslink.io/marlin-2-0-memory-usage-by-feature/), but it doesn't really state which is essential - and some of the descriptions don't make sense as to the exact feature they represent. It also states space can be saved eliminating a bootloader, but I thought the bootloader is necessary for any newer versions of Marlin.Sorry to make this so long, but I wanted to show I've done research before asking my questions.#if ENABLED(BLTOUCH)//#define BLTOUCH_DELAY 500//#define BLTOUCH_FORCE_SW_MODE//#define BLTOUCH_SET_5V_MODE//#define BLTOUCH_FORCE_MODE_SET//#define BLTOUCH_HS_MODE//#define BLTOUCH_LCD_VOLTAGE_MENU#endif

author: xrunner
author_rank: Super Contributor
timestamp: September 07, 2021, 12:12:27 pm
content: I have a working BLTouch system here. Do you want to compare my config files to yours to see what you might want to change? I can attach them to a post.I delved into it all earlier in the year, but since then I've forgotten some of the nitty gritty details so would have to go back and refresh my memory about it all.

author: bostonman
author_rank: Super Contributor
timestamp: September 07, 2021, 10:41:48 pm
content: If your printer is the Anet A8, sure, the files will be a great help.I just need the configuration.h and configuration_adv.h files, and the version number.

author: xrunner
author_rank: Super Contributor
timestamp: September 08, 2021, 11:58:00 am
content: Quote from: bostonman on September 07, 2021, 10:41:48 pmNope, not an Anet A8, mine is Ender Pro with SKR mini board. But most of the settings required to get the BLTouch to work don't depend on the brand of the printer (some of the offsets will though). You can compare your settings to mine for the BLTouch. But here they are - look through them if you want to, Marlin 2.0.9.1.

author: bostonman
author_rank: Super Contributor
timestamp: September 08, 2021, 11:02:58 pm
content: Thanks. Unfortunately when comparing your congfig files to the Anet A8, I found too many differences. I tried finding the original configuration files for an Ender Pro, but couldn't seem to find the same config file.

author: bostonman
author_rank: Super Contributor
timestamp: September 13, 2021, 04:24:28 am
content: I don't understand how to edit the Marlin code for the BLtouch sensor. I keep looking on the Marlin firmware website (https://marlinfw.org/docs/configuration/configuration.html#z-probe-options) and I expected to see a breakdown on how to edit each section for each feature that the user wishes to enable/disable.Under the 'Configure' section, a breakdown does somewhat exist, but it's not very clear as to what is necessary, what is for the BLtouch probe, and whether some of it is just additional unnecessary features.It mentions the BLtouch probe once and then begins discussing a MI probe. Without watching several YouTube videos (which I typically find are for older versions of Marlin and seems the code differs from the current version), I wouldn't have a clue on which sections to edit. Due to the Youtube videos being for older versions, I find myself needing the Marlin 'configure' documentation on the webiste, but it's not clear.Then in the configurations_adv.h section, there is a paragraph that has the following and doesn't explain anything (plus I don't know C++).BLTouch#if ENABLED(BLTOUCH)//#define BLTOUCH_DELAY 500//#define BLTOUCH_FORCE_SW_MODE//#define BLTOUCH_SET_5V_MODE//#define BLTOUCH_FORCE_MODE_SET//#define BLTOUCH_HS_MODE//#define BLTOUCH_LCD_VOLTAGE_MENU#endif

author: bostonman
author_rank: Super Contributor
timestamp: September 28, 2021, 03:21:19 am
content: I've become more comfortable updating firmware, but a few things are still not clear.I can enable a BLTouch sensor (although I haven't wired it yet) by removing the comments. Now the issue I'm seeing is with doing so, I exceed the maximum size.One way to make room is disabling SDSUPPORT and enabling SDCARD_READONLY. If I understand what is going on, I'm making room by making the SD card a very basic function. The printer will not have a power recovery as a result of disabling SDSUPPORT, but will still read gcode files since SDCARD_READONLY is enabled.The more confusing thing is bed leveling. From my understanding, a nine-point bed leveling is the best method. To enable bed leveling, I need to enable AUTO_BED_LEVELING_BILINEAR. The notes say the user defines the number of points and area.I don't see anywhere to define the number of points (or area), but, also, I saw I can add G29 in the gcode.Do I need to add G29 AND enable AUTO_BED_LEVELING_BILINEAR, or just one?I'm trying to understand if I can save space by enabling G29 only to get a nine-point measurement, however, do these measurements get saved to the SD card or to memory (I assume if they get saved to the SD card, I need to enable SDSUPPORT, but then this uses up space, so I assume they get saved to memory)?

author: HobGoblyn
author_rank: Unknown
timestamp: September 28, 2021, 09:29:55 am
content: In configuration.h under the Bed levelling section, (to give you an idea how far down the file, it's at line 1597 in mine) you will findCode:#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)// Set the number of grid points per dimension.#define GRID_MAX_POINTS_X 5#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_XI have the grid max points set to 5, so the BLtouch probes 25 times, if you want it to probe 9 times, set it to 3While not for your board, the firmware instructions explain the BLtouch very well in the following vid starting at around 3:40While for the Ender3, it does explain what needs to be altered and the pins file etc.https://youtu.be/p504oU-D6iEI use Cura and have the G29 in the start code following the G28 (Manage printer / Machine Settings)The beginning of my Cura start code looks likeCode:;M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration;M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate;M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration;M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk;M220 S100 ;Reset Feedrate;M221 S100 ;Reset FlowrateG28 ;HomeG29 ; Auto Bed LevelMind you, if I'm doing a load of little test prints, string towers, calibration cubes etc, after running it the first time, I comment the G29 out as probing 25 times for a quick string tower, quickly becomes tiresome.There's a vid about installing Marlin 2 on Anet 8 herehttps://youtu.be/38PkynA1uGIMight be an idea to follow that to the letter before adding BLtouch. (mind you, you've probably found it already by your SDcard comment)

author: bostonman
author_rank: Super Contributor
timestamp: September 28, 2021, 01:49:39 pm
content: I've seen that video before. Once it began discussing the 'pins' file, I questioned whether it was compatible with the A8 because my understanding is the only files that needed editing are: configuration and configuration_advI'll watch the video again tonight.So you added G29 to your gcode, does this mean without it the printer wouldn't perform a bed leveling at the beginning?

author: HobGoblyn
author_rank: Unknown
timestamp: September 28, 2021, 09:35:19 pm
content: Quote from: bostonman on September 28, 2021, 01:49:39 pmYes, no bed levelling without it.Regarding pins, if your board has a dedicated socket for the Bltouch, you probably don’t need to worry about pins. As far as I understand/know, it’s if you want to use a socket assigned to something else that you need to worry about pins. For example, on my SKR 1.4 turbo board, I wanted full control of a fan, as my board had two extruder sockets, I used the spare for the fan, but had to tell the fan which board pin it was connected to.

author: bostonman
author_rank: Super Contributor
timestamp: September 29, 2021, 02:30:49 am
content: Makes sense on the pins file. The A8 doesn't have a dedicated socket per se; I wish it did. A single wire on the BLTouch sensor has to be tied into a LCD ribbon cable wire. If the board had an extra socket, I imagine then the pins file would be edited accordingly to wire the sensor to it.So G29 performs bed leveling at the beginning of each print. Does this mean G29 doesn't know what type of bed leveling is performed and the code dictates it?I like the Marlin firmware as is, except I (successfully) enabled end stops to be on all the time. I didn't like that I can accidentally bang into the end stops when not 'homing'. Thankfully this didn't seem to use any additional space in the firmware.Once I began tinkering with the BLTouch sensor, I ran out of space. I somewhat like the idea of having a power resume feature, but I think it exceeds space with the sensor.I may have enough information to tinker with the code further to reduce space and enable features that I want (i.e. bed leveling).This was a help, knowing C++ would benefit me since I'd be able to understand the code a bit more.

author: PlainName
author_rank: Super Contributor
timestamp: September 29, 2021, 11:48:26 am
content: I don't have anything to do with the A8 or firmware or anything, but this caught my eye:QuoteI am wondering why it needs leveling every print. Mine, I set it up once and forget about it. OK, it's a manual job but not very onerous so could feasibly be done regularly. It just never seems to need it.

author: xrunner
author_rank: Super Contributor
timestamp: September 29, 2021, 12:08:28 pm
content: Quote from: dunkemhigh on September 29, 2021, 11:48:26 amI'm running BLtouch and I don't level it very often. Maybe went two weeks without leveling. Why would it change unless you bump the bed hard or replace something that changes the level state of the bed?

author: HobGoblyn
author_rank: Unknown
timestamp: September 29, 2021, 12:58:00 pm
content: Problem I have is removing prints from bed, I convince myself the bed can’t possibly still be level, hence for the sake of an extra couple of mins, if it’s a print that’s over a few hrs, I usually always do level.Mind you, the times I don’t, prints are still fine.I probably could get away with every two weeks or even months.

author: bostonman
author_rank: Super Contributor
timestamp: September 29, 2021, 01:06:22 pm
content: I think it’s personal preference. I’ll still check the leveling manually should I remove the bed and reassemble it because if it’s far off, then the Z axis will constantly be working to compensate.I’m just tired of checking the leveling and think the BLTouch is a great tool.Unfortunately it uses lots of memory (from my understanding), and this is one drawback.

author: bostonman
author_rank: Super Contributor
timestamp: October 13, 2021, 01:18:27 am
content: I'm not understanding the differences in bed leveling techniques.It seems bilienear is the one to use for (after setting in the firmware) nine-point calibration, but the others don't seem to have a clear explanation.Does anyone know the differences?Also, from what I can tell, bed leveling uses lots of memory. Why can't bed leveling be turned off in the firmware and the code added to the gcode? I'm assuming it has something to do with where the calibration data is stored as I could only conclude that it's stored in RAM memory and not written to the SD card.Does anyone know the answers to the above questions?Edit: these are the ones listed://#define AUTO_BED_LEVELING_3POINT//#define AUTO_BED_LEVELING_LINEAR//#define AUTO_BED_LEVELING_BILINEAR//#define AUTO_BED_LEVELING_UBL//#define MESH_BED_LEVELING

author: gmb42
author_rank: Frequent Contributor
timestamp: October 13, 2021, 09:14:35 am
content: Quote from: bostonman on October 13, 2021, 01:18:27 amFor 3POINT, LINEAR and BILINEAR seeAutomatic Bed Levelling.For UBL seeUnified Bed Levelling.For MESH_BED seeMesh Bed Levelling.I guess if you can't compile Marlin down to fit your current board you'll have to upgrade to a better one that can cope.

author: bostonman
author_rank: Super Contributor
timestamp: October 13, 2021, 01:52:08 pm
content: I had read that on Marlin before, but I find it's not exactly clear on the points probed; nor does it seem clear to me. All I know is to use bilinear (which is what I've un-commented).So far with all the features I want enabled, I'm only at 86% or so. The two features that are a game changer are SDCARD READ ONLY, and SD SUPPORT.Again, it's not very clear on what these both do. SD SUPPORT allows for power recovery loss. Disabling this saves lots of space, but it states disable this if you don't need to print from the SD Card. SD CARD READ ONLY states to enable this for SD card printing.So SD SUPPORT implies you can't print from the SD card unless this is enabled, but then SD CARE READ ONLY implies to enable it for SD printing.https://crosslink.io/marlin-2-0-memory-usage-by-feature/My only other question that I had asked is can bilinear leveling be enabled in the gcode in order to save memory? This way the gcode would tell the printer to perform bilinear and this would free up more memory in the firmware.