aboutsummaryrefslogtreecommitdiffstats
path: root/docs/Installation.md
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2016-05-25 11:37:40 -0400
committerKevin O'Connor <kevin@koconnor.net>2016-05-25 11:37:40 -0400
commitf582a36e4df16d5709943f7df17a900c8bcc12ab (patch)
tree628d927c4f3e19e54618f7f47c7a44af66bf0c2f /docs/Installation.md
parent37a91e9c10648208de002c75df304e23ca89e256 (diff)
downloadkutter-f582a36e4df16d5709943f7df17a900c8bcc12ab.tar.gz
kutter-f582a36e4df16d5709943f7df17a900c8bcc12ab.tar.xz
kutter-f582a36e4df16d5709943f7df17a900c8bcc12ab.zip
Initial commit of source code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'docs/Installation.md')
-rw-r--r--docs/Installation.md118
1 files changed, 118 insertions, 0 deletions
diff --git a/docs/Installation.md b/docs/Installation.md
new file mode 100644
index 00000000..aae13511
--- /dev/null
+++ b/docs/Installation.md
@@ -0,0 +1,118 @@
+Klipper is currently in an experimental state. These instructions
+assume the software will run on a Raspberry Pi computer in conjunction
+with OctoPrint. Klipper supports only Atmel ATmega based
+micro-controllers at this time.
+
+It is recommended that a Raspberry Pi 2 or Raspberry Pi 3 computer be
+used as the host. The software will run on a first generation
+Raspberry Pi, but the combined load of OctoPrint, Klipper, and a web
+cam (if applicable) can overwhelm its CPU leading to print stalls.
+
+Prepping an OS image
+====================
+
+Start by installing [OctoPi](https://github.com/guysoft/OctoPi) on the
+Raspberry Pi computer. Use version 0.13.0 or later - see the
+[octopi releases](https://github.com/guysoft/OctoPi/releases) for
+release information. One should verify that OctoPi boots, that the
+OctoPrint web server works, and that one can ssh to the octopi server
+(ssh pi@octopi -- password is "raspberry") before continuing.
+
+After installing OctoPi, ssh into the target machine and run the
+following commands:
+
+```
+sudo apt-get update
+sudo apt-get install avrdude gcc-avr binutils-avr avr-libc libncurses-dev
+```
+
+The host software (Klippy) requires a one-time setup - run as the
+regular "pi" user:
+
+```
+virtualenv ~/klippy-env
+~/klippy-env/bin/pip install cffi==1.6.0 pyserial==2.7
+```
+
+Building Klipper
+================
+
+To obtain Klipper, run the following command on the target machine:
+
+```
+git clone https://github.com/KevinOConnor/klipper
+cd klipper/
+```
+
+To compile the micro-controller code, start by configuring it:
+
+```
+make menuconfig
+```
+
+Select the appropriate micro-controller and serial baud rate. Once
+configured, run:
+
+```
+make
+```
+
+Ignore any warnings you may see about "misspelled signal handler" (it
+is due to a bug fixed in gcc v4.8.3).
+
+Installing Klipper on a micro-controller
+----------------------------------------
+
+The avrdude package can be used to install the micro-controller code
+on an AVR ATmega chip. The exact syntax of the avrdude command is
+different for each micro-controller. The following is an example
+command for atmega2560 chips:
+
+```
+example-only$ avrdude -C/etc/avrdude.conf -v -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/home/pi/klipper/out/klipper.elf.hex:i
+```
+
+Setting up the printer configuration
+====================================
+
+It is necessary to configure the printer. This is done by modifying a
+configuration file that resides on the host. Start by copying an
+example configuration and editing it. For example:
+
+```
+cp ~/klipper/config/example.cfg ~/printer.cfg
+nano printer.cfg
+```
+
+Make sure to look at and update each setting that is appropriate for
+the hardware.
+
+Configuring OctoPrint to use Klippy
+===================================
+
+The OctoPrint web server needs to be configured to communicate with
+the Klippy host software. Using a web-browser, login to the OctoPrint
+web page, and navigate to the Settings tab. Then configure the
+following items:
+
+Under "Serial Connection" in "Additional serial ports" add
+"/tmp/printer". Then click "Save".
+
+Enter the Settings tab again and under "Serial Connection" change the
+"Serial Port" setting to "/tmp/printer".
+
+Under the "Features" tab, unselect "Enable SD support". Then click
+"Save".
+
+Running the host software
+=========================
+
+The host software is executed by running the following as the regular
+"pi" user:
+
+```
+~/klippy-env/bin/python ~/klipper/klippy/klippy.py ~/printer.cfg -l /tmp/klippy.log < /dev/null > /tmp/klippy-errors.log 2>&1 &
+```
+
+Once Klippy is running, use a web-browser and navigate to the
+OctoPrint web site. Click on "Connect" under the "Connection" tab.