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
- 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 Nov 2013
|
Written from scratch in C++ with a heavy dose of template metaprogramming.
|
Features
|
- SD card printing (reading of sequential blocks only, no filesystem or partition support).
- Constant-acceleration motion with limited look-ahead planning.
- 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.
- Homing using min- or max-endstops. Can home multiple axes in parallel.
- Heater control (extruder, bed). Thermistor tables need to be generated. Can do PID or on-off control. Interrupt-based implementation; a heater is shut down if the temperature goes beyond the specified safe range.
- Fan control with PWM.
- PWM frequencies for heaters and fans are individually adjustable.
- Extra axes, heaters and fans can be added easily, due to the use of template metaprogramming.
- No direct support for multiple extruders using tool change commands, but it can still work if the g-code manually handles offsets and controls the correct heaters/fans.
- Maximum total step rate 27kHz on AVRs at F_CPU=20MHz (each individual stepper participates in this limit).
- Speed is automatically reduced so that the step rate does not exceed this maximum and overload the MCU.
- 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.
- Other electronics based on AVR (need 4 timers and 8k SRAM)
|
How to download
|
github
|
Documentation & Misc. Notes
|
github
|
further reading