Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 223 lines (160 sloc) 10.709 kb
4258841 @bkubicek format
bkubicek authored
1 WARNING:
2 --------
27f595a @ErikZalm Changed version => RC2
authored
3 THIS IS RELEASE CANDIDATE 2 FOR MARLIN 1.0.0
5113513 @ErikZalm RC 1
authored
4
5 The configuration is now split in two files
6 Configuration.h for the normal settings
7 Configuration_adv.h for the advanced settings
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
8
7f775c1 @ErikZalm Update README.md
authored
9 Gen7T is not supported.
10
4258841 @bkubicek format
bkubicek authored
11 Quick Information
12 ===================
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
13 This RepRap firmware is a mashup between <a href="https://github.com/kliment/Sprinter">Sprinter</a>, <a href="https://github.com/simen/grbl/tree">grbl</a> and many original parts.
14
15 Derived from Sprinter and Grbl by Erik van der Zalm.
16 Sprinters lead developers are Kliment and caru.
85c8a87 @ErikZalm Small changes to README.md
authored
17 Grbls lead developer is Simen Svale Skogsrud. Sonney Jeon (Chamnit) improved some parts of grbl
61e0740 @bkubicek overworked readme
bkubicek authored
18 A fork by bkubicek for the Ultimaker was merged, and further development was aided by him.
19 Some features have been added by:
20 Lampmaker, Bradley Feldman, and others...
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
21
22
23 Features:
4687c56 @bkubicek format
bkubicek authored
24
4258841 @bkubicek format
bkubicek authored
25 * Interrupt based movement with real linear acceleration
26 * High steprate
27 * Look ahead (Keep the speed high when possible. High cornering speed)
28 * Interrupt based temperature protection
29 * preliminary support for Matthew Roberts advance algorithm
85c8a87 @ErikZalm Small changes to README.md
authored
30 For more info see: http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
4258841 @bkubicek format
bkubicek authored
31 * Full endstop support
32 * SD Card support
33 * SD Card folders (works in pronterface)
e792d62 readme
Bernhard authored
34 * SD Card autostart support
4258841 @bkubicek format
bkubicek authored
35 * LCD support (ideally 20x4)
36 * LCD menu system for autonomous SD card printing, controlled by an click-encoder.
37 * EEPROM storage of e.g. max-velocity, max-acceleration, and similar variables
38 * many small but handy things originating from bkubicek's fork.
39 * Arc support
40 * Temperature oversampling
41 * Dynamic Temperature setpointing aka "AutoTemp"
42 * Support for QTMarlin, a very beta GUI for PID-tuning and velocity-acceleration testing. https://github.com/bkubicek/QTMarlin
43 * Endstop trigger reporting to the host software.
44 * Updated sdcardlib
45 * Heater power reporting. Useful for PID monitoring.
ffea800 @ErikZalm Update readme file
authored
46 * PID tuning
ea2c19f @ErikZalm Added CoreXY support (Thanks Ilan Moyer)
authored
47 * CoreXY kinematics (www.corexy.com/theory.html)
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
48
61e0740 @bkubicek overworked readme
bkubicek authored
49 The default baudrate is 250000. This baudrate has less jitter and hence errors than the usual 115200 baud, but is less supported by drivers and host-environments.
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
50
51
61e0740 @bkubicek overworked readme
bkubicek authored
52 Differences and additions to the already good Sprinter firmware:
827cd72 @bkubicek format readme.
bkubicek authored
53 ================================================================
61e0740 @bkubicek overworked readme
bkubicek authored
54
6dba34a @bkubicek even more format.
bkubicek authored
55 *Look-ahead:*
56
61e0740 @bkubicek overworked readme
bkubicek authored
57 Marlin has look-ahead. While sprinter has to break and re-accelerate at each corner,
58 lookahead will only decelerate and accelerate to a velocity,
59 so that the change in vectorial velocity magnitude is less than the xy_jerk_velocity.
60 This is only possible, if some future moves are already processed, hence the name.
61 It leads to less over-deposition at corners, especially at flat angles.
62
6dba34a @bkubicek even more format.
bkubicek authored
63 *Arc support:*
d8e7e2f @bkubicek more readme
bkubicek authored
64
0db97b9 @ErikZalm Update README.md
authored
65 Slic3r can find curves that, although broken into segments, were ment to describe an arc.
61e0740 @bkubicek overworked readme
bkubicek authored
66 Marlin is able to print those arcs. The advantage is the firmware can choose the resolution,
67 and can perform the arc with nearly constant velocity, resulting in a nice finish.
68 Also, less serial communication is needed.
69
6dba34a @bkubicek even more format.
bkubicek authored
70 *Temperature Oversampling:*
71
61e0740 @bkubicek overworked readme
bkubicek authored
72 To reduce noise and make the PID-differential term more useful, 16 ADC conversion results are averaged.
73
6dba34a @bkubicek even more format.
bkubicek authored
74 *AutoTemp:*
75
61e0740 @bkubicek overworked readme
bkubicek authored
76 If your gcode contains a wide spread of extruder velocities, or you realtime change the building speed, the temperature should be changed accordingly.
77 Usually, higher speed requires higher temperature.
78 This can now be performed by the AutoTemp function
79 By calling M109 S<mintemp> T<maxtemp> F<factor> you enter the autotemp mode.
827cd72 @bkubicek format readme.
bkubicek authored
80
61e0740 @bkubicek overworked readme
bkubicek authored
81 You can leave it by calling M109 without any F.
82 If active, the maximal extruder stepper rate of all buffered moves will be calculated, and named "maxerate" [steps/sec].
83 The wanted temperature then will be set to t=tempmin+factor*maxerate, while being limited between tempmin and tempmax.
84 If the target temperature is set manually or by gcode to a value less then tempmin, it will be kept without change.
85 Ideally, your gcode can be completely free of temperature controls, apart from a M109 S T F in the start.gcode, and a M109 S0 in the end.gcode.
86
6dba34a @bkubicek even more format.
bkubicek authored
87 *EEPROM:*
88
61e0740 @bkubicek overworked readme
bkubicek authored
89 If you know your PID values, the acceleration and max-velocities of your unique machine, you can set them, and finally store them in the EEPROM.
90 After each reboot, it will magically load them from EEPROM, independent what your Configuration.h says.
91
6dba34a @bkubicek even more format.
bkubicek authored
92 *LCD Menu:*
93
61e0740 @bkubicek overworked readme
bkubicek authored
94 If your hardware supports it, you can build yourself a LCD-CardReader+Click+encoder combination. It will enable you to realtime tune temperatures,
95 accelerations, velocities, flow rates, select and print files from the SD card, preheat, disable the steppers, and do other fancy stuff.
96 One working hardware is documented here: http://www.thingiverse.com/thing:12663
97 Also, with just a 20x4 or 16x2 display, useful data is shown.
98
6dba34a @bkubicek even more format.
bkubicek authored
99 *SD card folders:*
100
61e0740 @bkubicek overworked readme
bkubicek authored
101 If you have an SD card reader attached to your controller, also folders work now. Listing the files in pronterface will show "/path/subpath/file.g".
102 You can write to file in a subfolder by specifying a similar text using small letters in the path.
103 Also, backup copies of various operating systems are hidden, as well as files not ending with ".g".
104
e792d62 readme
Bernhard authored
105 *SD card folders:*
106
88d2a67 readme corrected
Bernhard authored
107 If you place a file auto[0-9].g into the root of the sd card, it will be automatically executed if you boot the printer. The same file will be executed by selecting "Autostart" from the menu.
e792d62 readme
Bernhard authored
108 First *0 will be performed, than *1 and so on. That way, you can heat up or even print automatically without user interaction.
109
6dba34a @bkubicek even more format.
bkubicek authored
110 *Endstop trigger reporting:*
111
61e0740 @bkubicek overworked readme
bkubicek authored
112 If an endstop is hit while moving towards the endstop, the location at which the firmware thinks that the endstop was triggered is outputed on the serial port.
113 This is useful, because the user gets a warning message.
114 However, also tools like QTMarlin can use this for finding acceptable combinations of velocity+acceleration.
115
6dba34a @bkubicek even more format.
bkubicek authored
116 *Coding paradigm:*
117
61e0740 @bkubicek overworked readme
bkubicek authored
118 Not relevant from a user side, but Marlin was split into thematic junks, and has tried to partially enforced private variables.
119 This is intended to make it clearer, what interacts which what, and leads to a higher level of modularization.
120 We think that this is a useful prestep for porting this firmware to e.g. an ARM platform in the future.
121 A lot of RAM (with enabled LCD ~2200 bytes) was saved by storing char []="some message" in Program memory.
122 In the serial communication, a #define based level of abstraction was enforced, so that it is clear that
123 some transfer is information (usually beginning with "echo:"), an error "error:", or just normal protocol,
124 necessary for backwards compatibility.
125
6dba34a @bkubicek even more format.
bkubicek authored
126 *Interrupt based temperature measurements:*
127
61e0740 @bkubicek overworked readme
bkubicek authored
128 An interrupt is used to manage ADC conversions, and enforce checking for critical temperatures.
129 This leads to less blocking in the heater management routine.
130
6dba34a @bkubicek even more format.
bkubicek authored
131
61e0740 @bkubicek overworked readme
bkubicek authored
132 Non-standard M-Codes, different to an old version of sprinter:
827cd72 @bkubicek format readme.
bkubicek authored
133 ==============================================================
d8e7e2f @bkubicek more readme
bkubicek authored
134 Movement:
135
6dba34a @bkubicek even more format.
bkubicek authored
136 * G2 - CW ARC
137 * G3 - CCW ARC
61e0740 @bkubicek overworked readme
bkubicek authored
138
139 General:
6dba34a @bkubicek even more format.
bkubicek authored
140
d8e7e2f @bkubicek more readme
bkubicek authored
141 * M17 - Enable/Power all stepper motors. Compatibility to ReplicatorG.
142 * M18 - Disable all stepper motors; same as M84.Compatibility to ReplicatorG.
6dba34a @bkubicek even more format.
bkubicek authored
143 * M30 - Print time since last M109 or SD card start to serial
144 * M42 - Change pin status via gcode
145 * M80 - Turn on Power Supply
146 * M81 - Turn off Power Supply
147 * M114 - Output current position to serial port
148 * M119 - Output Endstop status to serial port
149
61e0740 @bkubicek overworked readme
bkubicek authored
150 Movement variables:
6dba34a @bkubicek even more format.
bkubicek authored
151
152 * M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!
153 * M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
154 * M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) im mm/sec^2 also sets minimum segment time in ms (B20000) to prevent buffer underruns and M20 minimum feedrate
957e966 M206: always use homing ("homeing") offsets
Ian Jackson authored
155 * M206 - set home offsets. This sets the X,Y,Z coordinates of the endstops (and is added to the {X,Y,Z}_HOME_POS configuration options (and is also added to the coordinates, if any, provided to G82, as with earlier firmware)
d8e7e2f @bkubicek more readme
bkubicek authored
156 * M220 - set build speed mulitplying S:factor in percent ; aka "realtime tuneing in the gcode". So you can slow down if you have islands in one height-range, and speed up otherwise.
ffea800 @ErikZalm Update readme file
authored
157 * M221 - set the extrude multiplying S:factor in percent
d8e7e2f @bkubicek more readme
bkubicek authored
158 * M400 - Finish all buffered moves.
61e0740 @bkubicek overworked readme
bkubicek authored
159
ffea800 @ErikZalm Update readme file
authored
160 Temperature variables:
161 * M301 - Set PID parameters P I and D
162 * M302 - Allow cold extrudes
163 * M303 - PID relay autotune S<temperature> sets the target temperature. (default target temperature = 150C)
164
61e0740 @bkubicek overworked readme
bkubicek authored
165 Advance:
6dba34a @bkubicek even more format.
bkubicek authored
166
167 * M200 - Set filament diameter for advance
ffea800 @ErikZalm Update readme file
authored
168 * M205 - advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk
61e0740 @bkubicek overworked readme
bkubicek authored
169
170 EEPROM:
5535e51 @bkubicek Yes, thats the beta.
bkubicek authored
171
1080110 @bkubicek futher docu of M500
bkubicek authored
172 * M500 - stores paramters in EEPROM. This parameters are stored: axis_steps_per_unit, max_feedrate, max_acceleration ,acceleration,retract_acceleration,
173 minimumfeedrate,mintravelfeedrate,minsegmenttime, jerk velocities, PID
6dba34a @bkubicek even more format.
bkubicek authored
174 * M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
175 * M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
ffea800 @ErikZalm Update readme file
authored
176 * M503 - print the current settings (from memory not from eeprom)
177
178 MISC:
4687c56 @bkubicek format
bkubicek authored
179
ffea800 @ErikZalm Update readme file
authored
180 * M240 - Trigger a camera to take a photograph
181 * M999 - Restart after being stopped by error
85c8a87 @ErikZalm Small changes to README.md
authored
182
827cd72 @bkubicek format readme.
bkubicek authored
183 Configuring and compilation:
184 ============================
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
185
61e0740 @bkubicek overworked readme
bkubicek authored
186 Install the arduino software IDE/toolset v22
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
187 http://www.arduino.cc/en/Main/Software
188
85c8a87 @ErikZalm Small changes to README.md
authored
189 For gen6 and sanguinololu the Sanguino directory in the Marlin dir needs to be copied to the arduino environment.
190 copy Marlin\sanguino <arduino home>\hardware\Sanguino
191
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
192 Install Ultimaker's RepG 25 build
193 http://software.ultimaker.com
61e0740 @bkubicek overworked readme
bkubicek authored
194 For SD handling and as better substitute (apart from stl manipulation) download
195 the very nice Kliment's printrun/pronterface https://github.com/kliment/Printrun
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
196
197 Copy the Ultimaker Marlin firmware
61e0740 @bkubicek overworked readme
bkubicek authored
198 https://github.com/ErikZalm/Marlin/tree/Marlin_v1
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
199 (Use the download button)
200
201 Start the arduino IDE.
61e0740 @bkubicek overworked readme
bkubicek authored
202 Select Tools -> Board -> Arduino Mega 2560 or your microcontroller
40e8081 @bkubicek changed end of line to windows, which seems to be the majority of dev…
bkubicek authored
203 Select the correct serial port in Tools ->Serial Port
204 Open Marlin.pde
205
206 Click the Verify/Compile button
207
208 Click the Upload button
209 If all goes well the firmware is uploading
210
211 Start Ultimaker's Custom RepG 25
212 Make sure Show Experimental Profiles is enabled in Preferences
213 Select Sprinter as the Driver
214
215 Press the Connect button.
216
217 KNOWN ISSUES: RepG will display: Unknown: marlin x.y.z
218
219 That's ok. Enjoy Silky Smooth Printing.
220
221
222
Something went wrong with that request. Please try again.