Menu

Home

OSi (Ondrej  Sienczak)

Marlin++

This firmware was derived from Marlin firmware (see http://reprap.org/wiki/Marlin), but hardware support and some code was reduced to make this code little more simple, legible and easy to modify/extend by new kinematics (e.g. such as Simpson GUS, CoreXY, or what ever).

Main aim of this firmware is to separate functional modules such as mechanics, kinematics, gcode processor and so on. I also decided to remake as much firmware parts as possible to C++ to make coding and maintainance more simple. To fullfill this job, there had been some rules defined:

  • Source code will be fully written in C++ according to 2011 standard. This allow to delgates a lots of programming work on compiler.
  • Because I only have Arduino Ramps Mendel based printer with 2004 text display, I decided only this hardware will be supported, because I have no chance to test some different platform.
  • Firmware will be more situated to functional block to untangle spaghetti code. Firmware shall have several separated layers in future. Here are most important:
    • HAL - should be adaptation on hardware. This would allow to port firmware on another HW platform in future
    • Mechanics - this layer is reponsible to handle directly printer mechanics (steppers, arms, ...)
    • Kinematics - this layer is responsible for transformation from cartesian system used by printer G-CODE to mechanics movements (transformation from cartesian to Delta, Scara, Core-XY, Simpson Ghus, ...)
    • Mrln - marlin core of printer. This core is responsible for reading and parsing of G-CODE

Actual version only support (is tested) on following hardware configuration:

  • Arduino MEGA 2560 board
  • Ramps 1.3/1.4
  • 2004 Smart LCD for RepRap

Printer using this firmware is Rebel II (I uses modified version with dual head). There will be some homemade CoreXY (version with scrow on Z axis) in near future. There was also Simpson GUS kinematics made, but development of this kinematics was stopped due to broken mechanics (nice concept, but no time and space in my flat to repare and continue development :-/), however codes are still remaining there as example for creation of any kind of non-linear kinematics.

Build

Disadvantage of C++11 standart is that this is not supported by Arduino. Therefore there are prepared two build scripts, one for Linux and one for Windows.

Ubuntu

  1. Install Arduino IDE. We don't use IDE itself, but this instalation also install avr-gcc as required dependencies:

sudo apt-get install arduino

  1. Go to project root directory (marlinpp-code)

  2. Run build.bash

./build.bash

Windows

Windows compilers are part of sources, therefore you don't need to install them.

  1. Go to project root directory (marlinpp-code)

2) Run build.cmd

build.cmd

Languages

Custom language translation can be used for menu and messages shown on display. There is English used by default, but you can specify your custom language by defining suitable language macro. E.g. to use Czech language support use following:

./build.bash -DLANGUAGE=LANGUAGE_CZ

Currently are available following languages mutations:

  • LANGUAGE_CZ - Czech

Download

See last stable version or other releases.

The wiki uses Markdown syntax.

Project Members:


Related

Wiki: Releases