This page is the authoritative list of active firmwares.
For a list of out-of-date firmwares, see List of Abandoned and Deprecated Firmware:
FIRMWARE INFO
|
Details |
Description
|
Name : Sprinter
Author(s) : Kliment, caru, tonok, tesla893
Status : Active as of Feb 2012
|
forked from Klimentkip. Seems to be a popular firmware
|
Features
|
- SD card reader
- stepper extruder
- extruder speed control
- movement speed control
- constant or exponential acceleration
- heated build platforms
|
Compatible Electronics
|
|
How to download
|
Can download like this:
git clone https://github.com/kliment/Sprinter.git
|
Documentation & Misc. Notes
|
Only documentation seems to be over at Sprinter
- Possibly called Carukip too
- Supposedly aka Tesla but I can't find any references in the wiki to that
- thermocouples are experimental
|
FIRMWARE INFO
|
Details |
Description
|
Name : Teacup
Author(s) : Triffid_hunter, Traumflug, jakepoz
Status : Active as of November 2013
|
A featured firmware with emphasis on efficiency, flexibility and clean code design.
|
Features
|
- Has better performance due to
- written in C instead of C++
- only uses integer math
- minimizes long math interruptions
- stepper extruder
- extruder speed control
- movement speed control
- RepRap-style acceleration
- start-stop ramping
- lookahead
- thermocouples
- heated build platforms
- Support for spindles, CNC-milling
- Unlimited number of extruders
- Sub-32K size can squeeze onto a plain old Arduino Uno ATmega328. Can fit on an ATmega168.
- Support for USB-equipped ATmegas
- Several supplemental enhancements are also available, including multi-extruder development, look ahead, and ARM porting.
|
Compatible Electronics
|
|
How to download
|
Can download like this:
git clone https://github.com/Traumflug/Teacup_Firmware.git
|
Documentation & Misc. Notes
|
Documentation and more information is over at github and on the wiki under Teacup Firmware.
- this firmware was ported to ARM Cortex-M3 for the HBox_RepRap_Electronics.
- DC motor extruder control is present but untested
- contains a constant acceleration implementation based on this article
|
FIRMWARE INFO
|
Details |
Description
|
Name : sjfw
Author(s) : ScribbleJ
Status : active as of Aug 8, 2011
|
A featureful modern Reprap firmware.
|
Features
|
- High-speed gcode pipeline. No intra-move delay.
- LCD/Keypad control panel, Hostless printing
- Acceleration
- Volumetric/5D
- SD Card
- FULL RUNTIME CONFIG.
|
Compatible Electronics
|
|
How to download
|
Download from GitHub by running
git clone https://github.com/ScribbleJ/sjfw.git
|
Documentation & Misc. Notes
|
See the sjfw page for more information.
|
FIRMWARE INFO
|
Details |
Description
|
Name : Marlin
Author(s) : Erik van der Zalm:Active as may 2011; Bernhard Kubicek: Active as november 2011
Status : Active as of Mar 2012
|
Development on this firmware appears to be very active. Forked from Sprinter and Grbl.
|
Features
|
- Look ahead (Keep the speed high when possible. High cornering speed)
- High steprate
- Interrupt based temperature protection
- Interrupt based movement with real linear acceleration
- preliminary support for Matthew Roberts advance algorithm For more info see: http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
- Full endstop support
- SD Card support
- SD Card folders (works in pronterface)
- LCD support (ideally 20x4)
- LCD menu system for autonomous SD card printing, controlled by an click-encoder.
- EEPROM storage of e.g. max-velocity, max-acceleration, and similar variables
- many small but handy things originating from bkubicek's fork.
- Arc support
- Temperature oversampling
- Dynamic Temperature setpointing aka "AutoTemp"
- Support for QTMarlin, a very beta GUI for PID-tuning and velocity-acceleration testing.
- Endstop trigger reporting to the host software.
- Updated sdcardlib
- Heater power reporting. Useful for PID monitoring.
|
Compatible Electronics
|
|
How to download
|
You can download tagged versions on github
All branches, most current is Marlin_v1 are on Github
|
Documentation & Misc. Notes
|
The included readme.md Marlin
|
Sailfish
FIRMWARE INFO
|
Details |
Description
|
Name : Sailfish
Author(s) : Jetty: Active as Dec 2011; Dan Newman: Active as February 2012
Status : Active as of October 2012
|
Development on this firmware appears to be very active. Forked from Marlin and Makerbot G4Firmware.
|
Features
|
- Acceleration support with acceleration planner look ahead
- Dual extrusion including "ditto printing" (concurrently print two identical copies of a single item)
- Support for asymmetric advance algorithms; JKN Advance
- Support for yet-another-jerk (YAJ) algorithm
- Support for firmware based deprime (reversal/retraction)
- High step rate (20 KHz)
- Automated Build Platform (ABP) support
- Heated build platform support
- Safety cutoff support (print stops when extruder safety cutoff triggered)
- Interrupt based temperature protection
- Interrupt based movement with real linear acceleration
- PID based temperature control on extruders and heated build platform
- Full endstop support
- SD Card support
- EEPROM storage firmware related parameters
- LCD Interface (16x4, 20x4, 24x4)
- Extruder load/unload
- Preheat
- Continuous jog on hold button
- Lifetime filament counter
- Jog "User View" (X,Y directions orientated to user)
- Build: "Time Left", "Elapsed", "Z Position", "Percent Complete", "Filament Usage"
- Pause during build
- Auto Pause @ Z Position
- Multi colored printing with single extruder
- Page Up / Down in menus / file lists
- Print Another
- Override GCode temperature
- Supports 16x4, 20x4 and 24x4 LCD displays
- Multiple copies
- Copy n of N indicator during Build
- Advance belt button
- Profiles (saves recalibrating when swapping platforms)
- Calibration
- Home Offsets
- Mood Light Support: [1]
- Buzzer Support: [2]
- Homing
- Steppers Enable/Disable
- Endstop testing
- Extruder fan control
|
Compatible Electronics
|
|
How to download
|
See Thingiverse thing 32084
Sources are available at github
[3]
[4]
|
Documentation & Misc. Notes
|
Sailfish documentation.
|
FIRMWARE INFO
|
Details |
Description
|
Name : Makerbot firmware
Author(s) : Who knows
Status : active as of Mar 2012
|
The v2 makerbot firmware was a rewrite of the old Gen3 firmware to be a little more robust. The latest version appears to be v3.2.
|
Features
|
|
Compatible Electronics
|
|
How to download
|
Download from Makerbot's github repo using the commands
git clone https://github.com/makerbot/G3Firmware.git
|
Documentation & Misc. Notes
|
The v3 firmware is where all active development takes place. See the Makerbot wiki for details on how to build and install the code.
|
Grbl
FIRMWARE INFO
|
Details |
Description
|
Name : Grbl
Author(s) : Simen Svale Skogsrud
Status : active up to Feb 2012
|
Grbl is a no-compromise, high performance, low cost alternative to parallel-port-based motion control for CNC milling. Does not control extruders.
|
Features
|
- run on a vanilla Arduino (Duemillanove/Uno) as long as it sports an Atmega 328
- nice simple controller for CNC milling
- written in tidy, modular C
- does not require parallel port
- able to maintain more than 30kHz step rate and delivers a clean, jitter free stream of control pulses.
- full acceleration-management with look ahead planner
|
Compatible Electronics
|
|
How to download
|
Downloadable from github by running:
git clone https://github.com:grbl/grbl.git
|
Documentation & Misc. Notes
|
Documentation is at http://dank.bengler.no/-/page/show/5471_gettinggrbl
From the website:
- We have limited g-code-support by design. Grbl support all the common operations encountered in output from CAM-tools, but leave human g-coders frustrated. No variables, no tool offsets, no functions, no arithmetic and no control structures. Just the basic machine operations. We have yet to find a CAM-generated file that failed to run, though.
- No gui, all interaction is through command line
|
FIRMWARE INFO
|
Details |
Description
|
Name : Repetier
Author(s) : Repetier
Status : v0.40 (Active as Aug 2012)
|
forked from Sprinter.
|
Features
|
- RAMP acceleration support.
- Path planning (look ahead) for higher print speeds. (since version 0.32, 2011/9/24)
- Fast ooze prevention system. (since version 0.35, 2011/10/8)
- Trajectory smoothing for smoother lines. (since version 0.32, 2011/9/24)
- Nozzle pressure control for improved print quality with RAMPS. (since version 0.32, 2011/9/24)
- Fast - 16000 Hz and more stepper frequency is possible with a 16 MHz AVR. (since version 0.32, 2011/9/24)
- Multiple extruder supported (experimental).
- Standard ASCII and improved binary (Repetier protocol) communication.
- Autodetect the command protocol, so it will work with any host software.
- Continuous monitoring of one temperature.
- Important parameters are stored in EEPROM and can easily modified without recompilation of the firmware.
- Stepper control is handled in an interrupt routine, leaving time for filling caches for next move.
- PID control for extruder temperature.
- Interrupt based sending buffer (Arduino library normally waits for the recipient to receive written data)
- Small RAM memory print, resulting in large caches.
- Supports SD-cards.
- mm and inches can be used for G0/G1
- Works with Skeinforge 41, all unknown commands are ignored.
- Dry run : Execute your GCode without using the extruder. This way you can test for non-extruder related failures without actually printing.
- User defined and generic thermistor table( just set r0,t0,beta,r1,r2) in config (since version 0.31).
|
Compatible Electronics
|
|
How to download
|
github code
|
Documentation & Misc. Notes
|
github wiki
|
FIRMWARE INFO
|
Details |
Description
|
Name : aprinter
Author(s) : Ambroz Bizjak
Status : Active as of Feb 2014
|
Written from scratch in C++ with a heavy dose of template metaprogramming.
|
Features
|
- Delta robot support. Additionally, new geometries can be added easily by defining a transform class.
- SD card printing (reading of sequential blocks only, no filesystem or partition support).
- Optionally supports a custom packed g-code format for SD printing. This results in about 50% size reduction and 15% reduction in main loop processing load (on AVR).
- Bed probing using a microswitch (prints results, no correction yet).
- Extra axes, heaters and fans can be added easily. PWM frequencies for heaters and fans are individually adjustable.
- For use with multiple extruders, a g-code post-processor is provided to translate tool commands into motion of individual axes which the firmware understands. If you have a fan on each extruder, the post-processor can control the fans so that only the fan for the current extruder is on.
- Constant-acceleration motion with look-ahead planning. To speed up calculations, the firmware will only calculate a new plan every LookaheadCommitCount commands. Effectively, this allows increasing the lookahead count without an asymptotic increase of processing time, only limited by the available RAM.
- Homing using min- or max-endstops. Can home multiple axes in parallel.
- Heater control (extruder, bed) with PID or simple on-off control. Thermistor tables need to be generated with a Python script.
- Stepper control based on interrupts, with each stepper having its own timer interrupt. Step times are computed directly using the quadratic equation, employing custom assembly routines for sqrt and division.
- Maximum total step rate 27kHz on AVRs at F_CPU=20MHz (each individual stepper participates in this limit).
- Portable design; in particular, Arduino Due (Atmel ARM) is supported in addition to AVR.
- Developed in C++11. Uses custom hardware abstractions and does not need the Arduino library.
|
Compatible Electronics
|
- Melzi (atmega1284p only)
- RAMPS 1.0, 1.1/1.2 or 1.3/1.4 (only RAMPS 1.4 with atmega2560 is tested).
- RAMPS-FD or other setup based on Arduino Due.
- Teensy 3 (based on Freescale MK20DX128 ARM Cortex-M4).
- Other electronics based on AVR (need 4 timers and 8k SRAM).
|
How to download
|
github
|
Documentation & Misc. Notes
|
github
|
FIRMWARE INFO
|
Details |
Description
|
Name : RepRap Firmware
Author(s) : Adrian Bowyer
Status : Active as of Dec 2013
|
RepRap Firmware is intended to be a fully object-oriented highly modular control program for
RepRap self-replicating 3D printers.
|
Features
|
|
Compatible Electronics
|
|
How to download
|
github
|
Documentation & Misc. Notes
|
github
|
FIRMWARE INFO
|
Details |
Description
|
Name : ImpPro3D
Author(s) : MaxPro3D
Status : Active as of Feb 2014
|
Adaptation of Sprinter for a specific electronics named 'ImpPro3D'
|
Features
|
- stepper extruder
- extruder speed control
- movement speed control
- heated build platforms
|
Compatible Electronics
|
|
How to download
|
Can download like this:
git clone https://github.com/MaxPro3D/Firmware_ImpPro3D.git
|
Documentation & Misc. Notes
|
Only documentation seems to be over at ImpPro3D and https://sites.google.com/site/imppro3den/
|
Smoothie
FIRMWARE INFO
|
Details |
Description
|
Name : Smoothie
Author(s) : Arthur Wolf
Status : Active as of Feb 2014
|
firmware for 32-bit ARM NXP LPC1768 Cortex-M3 boards (includes a port of Grbl)
|
Features
|
- stepper extruder
- extruder speed control
- movement speed control
- heated build platforms
- SD card support
|
Compatible Electronics
|
|
How to download
|
Can download like this:
git clone https://github.com/Smoothieware/Smoothieware.git
|
Documentation & Misc. Notes
|
|
further reading