This page is the authoritative list of active firmwares.
For a list of out-of-date firmwares, see List of Abandoned and Deprecated Firmware:
FiveD
FIRMWARE INFO
|
Details |
Description
|
Name : FiveD
Author(s) : Buzz and others
Status : active as of Sept 28, 2011
|
The granddaddy of all firmwares. It appears to be the original G-code interpreter. Forked from Generation2. The reason it's called FiveD is because it controls 5 dimensions: X, Y, Z, Feedrate, and Extrusion rate.
|
Features
|
- stepper extruder
- extruder speed control
- movement speed control
- RepRap-style acceleration
- thermocouples
- heated build platforms
|
Compatible Electronics
|
|
How to download
|
The firmware is now hosted on Github. To check it out from github, run:
git clone https://github.com/reprap/firmware.git
The firmware is in the FiveD_GCode Directory
|
Documentation & Misc. Notes
|
Documentation is over at Microcontroller firmware installation
Preconfigured sources for Gen7 hardware are on the Gen7_Board_1.2 page.
|
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 March 2012
|
This was a complete rewrite of the FiveD firmware to optimize it for Arduino's wimpy 8-bit CPU. Previously known as "FiveD on Arduino" ( which was confusing it easily with "FiveD" which is different).
|
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 a ATmega168.
|
Compatible Electronics
|
|
How to download
|
Can download like this:
git clone https://github.com/triffid/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 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 : Public Beta 1 of v1.0.0
|
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
|
FIRMWARE INFO
|
Details |
Description
|
Name : Makerbot firmware
Author(s) : Who knows
Status : active as of Nov 9, 2011
|
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 2011
|
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 [email protected]:simen/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:Active as Nov 2011;
Status : v0.40
|
forked from Sprinter.
|
Features
|
- RAMP acceleration support.
- Path planning 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 handeled 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 yout 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
|