Giter Site home page Giter Site logo

PC printing Buffer about marlin HOT 1 OPEN

mbot3d avatar mbot3d commented on September 5, 2024
PC printing Buffer

from marlin.

Comments (1)

jeffkyjin avatar jeffkyjin commented on September 5, 2024

I had trouble with the quality of my prints via USB (and/or Octoprint) since switching from printing from the printers SD card. Zits, blobs and other issues plagued my printing experience.

It took me a while until I realised that the USB part was the issue, as I rarely printed from the SD card, due to the inconvenience.

So I started doing some research and after tweaking my Marlin firmware, I got the print quality from USB equal to that of the SD card. Great!

So.. What's the problem?

The default BAUDRATE of the Ender 3 in the Marlin firmware is very low. Along with low buffer sizes due to the memory limitations of the Ender 3 motherboard, it all adds up to the printer not being able to receive commands fast enough over USB. You'll see the print-head pause momentarily, and that's when you get blobs, zits etc.

Changing the BAUDRATE and making buffer sizes larger, allows the printer to receive commands fast enough to eliminate those pesky pauses.

By disabling some niceties that are unnecessary (like the Ender 3 boot logo for instance) we can free up enough space to allow for larger buffers.

Here are the values I used in Marlin:

#define BAUDRATE 250000

BAUDRATE is located in Configuration.h, the rest of these options are located in Configuration_adv.h

(the if statement is redundant here now, but I decided to keep it in case I wanted to have individual values for when using SD or not later)

#if ENABLED(SDSUPPORT)

#define BLOCK_BUFFER_SIZE 64 // SD,LCD,Buttons take more memory, block buffer needs to be smaller

#else

#define BLOCK_BUFFER_SIZE 64 // maximize block buffer

#endif

#define MAX_CMD_SIZE 96

#define BUFSIZE 32

#define TX_BUFFER_SIZE 32

You may need to disable some features in Marlin to compile with these options tweaked (to give you enough spare dynamic memory). I used SLIM_LCD_MENUS

disabled ARC support and removed the LCD boot dragon graphic. Those changes alone should give you enough room. Ideally, you want at least 30% of the dynamic memory available. Some people say you could get away with 10%, but in my opinion, that is too low.

from marlin.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.