Reprap FW with look ahead. SDcard and LCD support. It works on Gen6, Ultimaker, RAMPS and Sanguinololu
Pull request Compare This branch is 240 commits ahead, 1691 commits behind MarlinFirmware:1.1.x.

README.md

Current Status: Testing

Build Status

Version: Marlin_1.1.6_RoboVersion_1.2.4

Robo Edits

  • Added G35 command. Auto adjust Probe Offset(M851 Z) for ambient light levels based on the trigger distance of the IR probe(Requires Home Offset Z(M206 Z) to be set)
  • Added G36 command. G36 will home, run G35, then run G29
  • Added Robo Configuration Variable. in Configuration.h you now only need to change ROBO_BOARD_VERSION to change the configuration for C2/R2/R2_Dual
  • Changed default Z offset (M206) to -20.00 to prevent nozzle crashes if Offset is not actually set.
  • Bilinear leveling enabled by default
  • Support for INA19x current sensor for Raspberry Pi power draw

PlatformIO

Robo's Version of marlin has an automated building feature (Adapted from vanilla Marlin)

Robo has extended the platformio integration put in place by the marlin team. When building with platformio a Marlin_Build directory will be made, in this directory the build for R2, C2, and R2 dual can be found.

More information can be found at: http://docs.platformio.org/en/latest/what-is-platformio.html

How to use platformio

Use with Atom (easy)

Using CLI tools

  • Install the platformio CLI tools using pip
pip install -U platformio
  • navigate to your Marlin directory
cd Marlin
  • run platformio
platformio run

More detailed instructions can be found at: http://docs.platformio.org/en/latest/installation.html

How to configure platformio

Build targets

By default we only have the R2 environment targeted in the platformio.ini file. To target all environments alter the platformio.ini file and look for a line that says:

env_default = R2

Comment out that line to build all targets (C2/R2/R2_Dual). Or target a specific environment.

Marlin 3D Printer Firmware

Additional documentation can be found in [The Marlin Wiki](https://github.com/MarlinFirmware/Marlin/wiki).

Release Candidate -- Marlin 1.1.6 - 10 October 2017

Not for production use – use with caution!

You can download earlier versions of Marlin on the Releases page. (The latest "stable" release of Marlin is 1.0.2-1.)

Future development (Marlin 1.2 and beyond) takes place in the MarlinDev repository.

Recent Changes

  • RCBugFix

    • Throw error if compiling with older versions (<1.60) of Arduino due to serious problems with outdated Arduino versions
    • Please upgrade your IDE at least to Arduino 1.6.0. Thanks.
  • RC6 - 23 Apr 2016

    • Completed support for CoreXY / CoreXZ in planner
    • Changes to positioning behavior
    • Various issues fixed. More details pending.
  • RC5 - 01 Apr 2016

    • Warn if compiling with older versions (<1.50) of Arduino
    • Fix various LCD menu issues
    • Add formal support for MKSv1.3 and Sainsmart (RAMPS variants)
    • Fix bugs in M104, M109, and M190
    • Fix broken M404 command
    • Fix issues with M23 and "Start SD Print"
    • More output for M111
    • Rename FILAMENT_SENSOR to FILAMENT_WIDTH_SENSOR
    • Fix SD card bugs
    • and a lot more
    • see https://github.com/MarlinFirmware/Marlin/releases/tag/1.1.0-RC5 for details
  • RC4 - 24 Mar 2016

    • Many lingering bugs and nagging issues addressed
    • Improvements to LCD menus, CoreXY/CoreXZ, Delta, Bed Leveling, and more…
  • RC3 - 01 Dec 2015

    • A number of language sensitive strings have been revised
    • Formatting of the LCD display has been improved to handle negative coordinates better
    • Various compiler-related issues have been corrected
  • RC2 - 29 Sep 2015

    • File styling reverted
    • LCD update frequency reduced
  • RC1 - 19 Sep 2015

    • Published for testing

Submitting Patches

Proposed patches should be submitted as a Pull Request against the RCBugFix branch.

  • Don't submit new feature proposals. The RCBugFix branch is for fixing bugs in existing features.
  • Do submit questions and concerns. The "naive" question is often the one we forget to ask.
  • Follow the proper coding style. Pull requests with styling errors will be delayed. See our Coding Standards page for more information.
RepRap.org Wiki Page

Credits

The current Marlin dev team consists of:

  • Scott Lahteine [@thinkyhead] - English
  • [@Wurstnase] - Deutsch, English
  • F. Malpartida [@fmalpartida] - English, Spanish
  • Jochen Groppe [@CONSULitAS] - Deutsch, English
  • [@maverikou]
  • Chris Palmer [@nophead]
  • [@paclema]
  • Edward Patel [@epatel] - Swedish, English
  • Erik van der Zalm [@ErikZalm]
  • David Braam [@daid]
  • Bernhard Kubicek [@bkubicek]
  • Roxanne Neufeld [@Roxy-3DPrintBoard] - English

More features have been added by:

  • Alberto Cotronei [@MagoKimbra]
  • Lampmaker,
  • Bradley Feldman,
  • and others...

License

Marlin is published under the GPL license because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork.

While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own.

Flattr this git repo

Marlin 3D Printer Firmware

Marlin 1.1

Marlin 1.1 represents an evolutionary leap over Marlin 1.0.2. It is the result of over two years of effort by several volunteers around the world who have paid meticulous and sometimes obsessive attention to every detail. For this release we focused on code quality, performance, stability, and overall user experience. Several new features have also been added, many of which require no extra hardware.

For complete Marlin documentation click over to the Marlin Homepage <marlinfw.org>, where you will find in-depth articles, how-to videos, and tutorials on every aspect of Marlin, as the site develops. For release notes, see the Releases page.

Stable Release Branch

This Release branch contains the latest tagged version of Marlin (currently 1.1.6 – October 2017).

Previous releases of Marlin include 1.0.2-2 (December 2016) and 1.0.1 (December 2014). Any version of Marlin prior to 1.0.1 (when we started tagging versions) can be collectively referred to as Marlin 1.0.0.

Contributing to Marlin

Click on the Issue Queue and Pull Requests links above at any time to see what we're currently working on.

To submit patches and new features for Marlin 1.1 check out the bugfix-1.1.x branch, add your commits, and submit a Pull Request back to the bugfix-1.1.x branch. Periodically that branch will form the basis for the next minor release.

Note that our "bugfix" branch will always contain the latest patches to the current release version. These patches may not be widely tested. As always, when using "nightly" builds of Marlin, proceed with full caution.

Current Status: In Development

Marlin development has reached an important milestone with its first stable release in over 2 years. During this period we focused on cleaning up the code and making it more modern, consistent, readable, and sensible.

Future Development

Marlin 1.1 is the last "flat" version of Marlin!

Arduino IDE now has support for folder hierarchies, so Marlin 1.2 will have a hierarchical file structure. Marlin's newly reorganized code will be easier to work with and form a stronger starting-point as we get into 32-bit CPU support and the Hardware Access Layer (HAL).

Coverity Scan Build Status Travis Build Status

Marlin Resources

Credits

The current Marlin dev team consists of:

More features have been added by:

License

Marlin is published under the GPL license because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork.

While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own.

Flattr this git repo