Enhanced Firmware for Original Prusa i3 3D printer
![]() 1) The computational load is spread more evenly along the stepper ISR ticks by moving some of the timer and linear advance calculation from the block initialization into the 1st tick of the steady phase of the trapezoid. 2) Reworked planning of the Linear Advance ISR ticks to fit the time slot allocated for the main stepper ISR tick. This is achieved by grouping the Linear Advance extruder ticks by a power of two to tick the Linear Advance interrupts at a maximum 7kHz. Also some of the extruder ticks are performed just after the XYZ ticks and if the remaining time slot for the Linear Advance ticks is too short, all the Linear Advance steps are ticked inside the main stepper ISR invocation. 3) Added some calls to MSerial.checkRx() if the stepper ISR routine is delayed for too long by the additional LinearAdvance ticks. This implementation differs significantly from the original implementation by @Sebastianv650, as this implementation tries to follow the exact timing of the XYZ axes with the drawback of possibly ticking the extruder faster than it could handle, while the original implementation by @Sebastianv650 ticks the extruder slower with the drawback of possibly spreading the XYZ ticks, thus introducing jerk in the cartesian movement. |
||
---|---|---|
ArduinoAddons | ||
Firmware | ||
hex_files | ||
LICENSE | ||
README.md |
Original Prusa i3 MK2 Firmware
General instructions
Pre-compiled hex output on PRUSA RESEARCH site: http://prusa3d.com/downloads/firmware/
Just download and flash it to the electronics
Build instructions
Step 1
Install arduino
Step 2
Remove Liquid Crystal library from your arduino or rename it
Step 3
Install the arduino addon located in the root of this repo. Don't forget to install correct version!
Step 4
Copy the configuration file matching your printer from variants folder to the the Firmware folder
Step 5
Rename it to "Configuration_prusa.h"
Step 6
Compile the firmware
Step 7
Upload the firmware to board