Based on Marlin, see README_Marlin.md.
This repository's RC_Deltaprintr branch combines the most recent release of Marlin with the FSR bed leveling code necessary for a standard Deltaprintr setup.
The new firmware
- incorporates all the fixes and enhancements of the most recent Marlin release,
- includes the LCD speedup patches by AnHardt, which greatly enhance the printer's overall performance and eliminate stuttering and blobbing at high printing speeds (beyond 80 mm/s)
- allows the Deltaprintr to be equipped with a heated bed
- allows for several other modifications, like utilizing JohnSL's FSR board for bed leveling
Important notes
Do not simply use Marlin/Configuration.h
with your printer.
Instead, have a look at the supplied instructions
to find the configuration that best matches your printer's setup.
Should you have modified your Deltaprintr, e.g. installed a different
hotend, print platform, etc., please double check the values in
the Configuration.h
and Configuration_adv.h
files to match your printer's
hardware setup!
For all supplied configuration files that are not explicitely labeled as being for JohnSL's FSR sensor board, make sure to connect the FSR sensors to the T1 input, not to TBED as in the default Deltaprintr setup!
DISCLAIMER
Use this fork of Marlin at your own risk. I take no responsibility whatsoever for any defect of the software and the results thereof. Furthermore, I'm not affiliated with Deltaprintr and this firmware is not officially tested, distributed, or supported by the Deltaprintr stuff.
If you understand and agree to this terms, read on.
##Build/Install instructions
###Generic
- First of all, turn over your Deltaprintr and move the two-pin FSR connector from
TBED
toT1
! - Download and install the most recent (1.6.8) version of the Arduino IDE from https://www.arduino.cc/en/Main/Software
- Clone this repository
git clone git@github.com:tkurbad/Marlin.git
- Change to the
Marlin
directory you just cloned into - Make sure to checkout the correct branch
git checkout RC_Deltaprintr
- According to the setup/modifications of your printer, choose the appropriate
Configuration.h
andConfiguration_adv.h
files from the subdirectoryMarlin/example_configurations/delta/deltaprintr_ks_rg
and copy them to the root of theMarlin
subdirectory, i.e. the directory, where the fileMarlin_main.cpp
resides. Consult the README to find out which example configuration might be the correct one for you - Carefully revise the configuration files you copied in the last step
- Connect your Deltaprintr via USB
- On a Windows PC, you will most probably have to install the Arduino serial port drivers upon first connecting your printer
- Once all drivers are installed, start the Arduino IDE and open the file
Marlin.ino
from theMarlin
subdirectory - From the Tools menu choose Board → Arduino/Genuino Mega or Mega 2560
- In the same menu, choose the correct serial Port (
/dev/ttyUSB*
on Linux,COM*
on Windows) - From the Sketch menu, choose Include library → Manage libraries, then click on Time → Install and U8glib → Install
- From the Sketch menu, choose Verify/Compile The last two lines of the output should look similar to:
Sketch uses 133.698 Bytes (52%) of program storage space. Maximum is 253,952 bytes.
Global variables use 5.510 Bytes (67%) of dynamic memory, leaving 2.682 bytes for local variables. Maximum is 8,192 bytes.
- If everything worked thus far, you can choose Upload from the Sketch menu to upload the firmware to your printer
###Windows
For everything above to work smoothly, you will have to start Arduino with elevated user rights.
To accomplish this, right click on the Arduino icon on your desktop and choose Run as administrator from the context menu.
###Gentoo Linux
Gentoo Linux has a pecularity with the avrdude
binary that prevents the original
one shipped with the Arduino IDE from working properly.
Therefore, you have to follow these additional steps:
- Before unpacking the Arduino IDE, as user
root
installdev-embedded/avrdude
:
mkdir -p /etc/portage/package.use
echo "dev-embedded/avrdude ftdi" >> /etc/portage/package.use/avrdude
emerge -NDuv dev-embedded/avrdude
- Then, after unpacking the Arduino IDE, e.g. to the directory
~/projects/deltaprintr/arduino-1.6.8
, create a symlink to theavrdude
you installed before:
ln -sf /usr/bin/avrdude ~/projects/deltaprintr/arduino-1.6.8/hardware/tools/avr/bin/avrdude
rm -f ~/projects/deltaprintr/arduino-1.6.8/hardware/tools/avr/bin/avrdude_bin
All the other steps remain the same.
##Testing
After uploading the firmware to the Deltaprintr, you should do a few simple tests to ensure some basic functions. Be prepared to pull the plug at any time, should something unexpected happen.
- From the Main LCD menu of your Deltaprintr, choose Prepare → Autohome. The printer should home as usual, hitting the endstop switches on top of the three towers. However, the "going up and down a bit several times" it did after homing with its original firmware should no longer occur.
- Now, from the Prepare menu, choose Level bed. The printer will now do the
short down and upwards moves against the endstop switches it used to during homing with the
original firmware. This procedure, btw., calibrates the FSR sensors for the printer's
inherent vibrations. Afterwards, the printer should do the bed leveling as per G-code
G29
. If it tries to dig into the bed while doing so, pull the plug and double check that you moved the FSR connector to T1. - If everything worked fine, do a small test print as you would have with the original firmware.
- If the print test succeeded, it should be safe to assume that the printer works properly.
Have fun with your improved Deltaprintr!
##Further reading / Link collection