<p>To downsize the firmware you can manually disable a lot of less useful stuff. E.g. why have 2 pre-heating profiles for PLA and ABS while you can set hotend and heated bed manually. </p>

<p>One of the largest memory savers is disabling arc support, <code>G2</code>/<code>G3</code> commands aren't used by most slicer programs. From <a href="https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Configuration_adv.h" rel="nofollow noreferrer">Configuration_adv.h</a> can be found that you can save more than 3000 bytes:</p>

<pre>
//
// G2/G3 Arc Support
//
#define ARC_SUPPORT               // Disable this feature to save ~3226 bytes
</pre>

<p>You can probably find more features to disable to save memory, e.g. look into question <em>"What can be removed from Marlin 1.1.9 to fit on 128K controller? I'm currently 318 bytes over"</em>, quoting:</p>

<pre>
//#define SHOW_BOOTSCREEN // enabled
//#define SHOW_CUSTOM_BOOTSCREEN // enabled
//#define CUSTOM_STATUS_SCREEN_IMAGE // enabled
//#define LCD_INFO_MENU // enabled, shows useless 'about printer' menu
//#define STATUS_MESSAGE_SCROLLING // enabled, saves some flash space
//#define DOGM_SD_PERCENT // disabled, show print % bar graph
//#define NO_WORKSPACE_OFFSETS // Disables M206 and M428
//#define ARC_SUPPORT // enabled, used for CNC toolpaths
#define NO_VOLUMETRICS // disabled, not used without width sensor?
//#define SCROLL_LONG_FILENAMES
#define SLIM_LCD_MENUS // Disable 'extraneous' menu items
//#define SPEAKER // Disable beeper if you don't want it.
//#define LEVEL_BED_CORNERS
</pre>

CC BY-SA 4.0
2019-08-29T22:37:32.430Z
Thanks Oscar for your info I will try to put it into practice, for now the printer is working with the stock display I hope that the reduction of memory space can make the full graphic work much easier, I will update you on the results.
spack2007
CC BY-SA 4.0
2019-08-29T21:25:10.180Z
2019-08-29T21:25:10.180Z
0scar
<p>I finished fixing my Anet A8 about the 3DTouch sensor working with the LCD2004 stock display, I am installing the full graphic display LCD 12864 (for Anet A6) but when I compile Marlin 1.1.9 the following error appears:</p>

<pre>
Arduino: 1.8.9 (Windows 7), Sheet: 'Anet V1.0 (Optiboot)'

c: / program files (x86) / arduino / hardware / tools / avr / bin /../ lib / gcc / avr / 5.4.0 /../../../../ avr / bin / ld. exe: C: Users Claudio AppData Local Temp aruino_build_739999 / Marlin - this_feature_good.ino.elf section `.text 'will not fit in region` text'

c: / program files (x86) / arduino / hardware / tools / avr / bin /../ lib / gcc / avr / 5.4.0 /../../../../ avr / bin / ld. exe: region `text 'overflowed by 1866 bytes

collect2.exe: error: ld returned 1 exit status
</pre>

<p>This happened after activating the Anet A6 display and deactivating the LCD2004.</p>

<p>Obviously given the low memory I performed the flash bootloader using <code>ANET OPTIBOOT</code> and reloaded the firmware.
If I deactivate the whole part of the 3DTouch, then the 12864 LCD display works properly, now I have 130&nbsp;kbit (about 16 kB) memory left.</p>

<p>Arduino warns me if I do not have enough memory. In this case, instead of those errors I do not know what they are for. Maybe using an older Marlin version would help?</p>

CC BY-SA 4.0
2019-08-28T21:30:05.430Z
Hi, and welcome. You have established that you cannot configure both on the standard printer board due to the limited 128 kB memory of the boards microprocessor. What is the question?
0scar
CC BY-SA 4.0
2019-08-29T20:38:42.907Z
I think if you want to strictly use octoprint you can delete SD card functionality to make it all fit. YMMV
justin cress
<marlin><anet-a8><firmware><display>
Configuration of the Anet A6 full graphic LCD 12864 on an Anet A8
spack2007
# Configuration of the Anet A6 full graphic LCD 12864 on an Anet A8

(Asked by: username_0 on 2019-08-28)

I finished fixing my Anet A8 about the 3DTouch sensor working with the LCD2004 stock display, I am installing the full graphic display LCD 12864 (for Anet A6) but when I compile Marlin 1.1.9 the following error appears:

```

Arduino: 1.8.9 (Windows 7), Sheet: 'Anet V1.0 (Optiboot)'

c: / program files (x86) / arduino / hardware / tools / avr / bin /../ lib / gcc / avr / 5.4.0 /../../../../ avr / bin / ld. exe: C: Users Claudio AppData Local Temp aruino_build_739999 / Marlin - this_feature_good.ino.elf section `.text 'will not fit in region` text'

c: / program files (x86) / arduino / hardware / tools / avr / bin /../ lib / gcc / avr / 5.4.0 /../../../../ avr / bin / ld. exe: region `text 'overflowed by 1866 bytes

collect2.exe: error: ld returned 1 exit status

```

This happened after activating the Anet A6 display and deactivating the LCD2004.

Obviously given the low memory I performed the flash bootloader using `ANET OPTIBOOT` and reloaded the firmware.
If I deactivate the whole part of the 3DTouch, then the 12864 LCD display works properly, now I have 130 kbit (about 16 kB) memory left.

Arduino warns me if I do not have enough memory. In this case, instead of those errors I do not know what they are for. Maybe using an older Marlin version would help?

**Tags:** marlin, anet-a8, firmware, display

> **Comments:**
> **username_1**: Hi, and welcome. You have established that you cannot configure both on the standard printer board due to the limited 128 kB memory of the boards microprocessor. What is the question?  
> **username_2**: I think if you want to strictly use octoprint you can delete SD card functionality to make it all fit. YMMV  

---

## 1 answers

### Answer by username_1 on 2019-08-29. Score: 1

To downsize the firmware you can manually disable a lot of less useful stuff. E.g. why have 2 pre-heating profiles for PLA and ABS while you can set hotend and heated bed manually.

One of the largest memory savers is disabling arc support, `G2`/`G3` commands aren't used by most slicer programs. From [Configuration\_adv.h](https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Configuration_adv.h) can be found that you can save more than 3000 bytes:

```

//
// G2/G3 Arc Support
//
#define ARC_SUPPORT               // Disable this feature to save ~3226 bytes

```

You can probably find more features to disable to save memory, e.g. look into question *"What can be removed from Marlin 1.1.9 to fit on 128K controller? I'm currently 318 bytes over"*, quoting:

```

//#define SHOW_BOOTSCREEN // enabled
//#define SHOW_CUSTOM_BOOTSCREEN // enabled
//#define CUSTOM_STATUS_SCREEN_IMAGE // enabled
//#define LCD_INFO_MENU // enabled, shows useless 'about printer' menu
//#define STATUS_MESSAGE_SCROLLING // enabled, saves some flash space
//#define DOGM_SD_PERCENT // disabled, show print % bar graph
//#define NO_WORKSPACE_OFFSETS // Disables M206 and M428
//#define ARC_SUPPORT // enabled, used for CNC toolpaths
#define NO_VOLUMETRICS // disabled, not used without width sensor?
//#define SCROLL_LONG_FILENAMES
#define SLIM_LCD_MENUS // Disable 'extraneous' menu items
//#define SPEAKER // Disable beeper if you don't want it.
//#define LEVEL_BED_CORNERS

```

> **Comments:**
> **username_0**: Thanks Oscar for your info I will try to put it into practice, for now the printer is working with the stock display I hope that the reduction of memory space can make the full graphic work much easier, I will update you on the results.  

---

