# Anycubic Kossel Plus
Set-up guide and related things for the Anycubic Kossel Linear Plus 3D Printer.
## Getting started
### Build Marlin
* [Marlin Repository ](https://github.com/MarlinFirmware/Marlin )
* [Instructions for Anycubic Kossel ](https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x/config/examples/delta/Anycubic/Kossel )
```bash
git clone https://github.com/MarlinFirmware/Marlin.git -b bugfix-2.0.x
cd Marlin
cp config/examples/delta/Anycubic/Kossel/Configuration.h Marlin/
cp config/examples/delta/Anycubic/Kossel/Configuration_adv.h Marlin/
```
Adjust the `Marlin/Configuration.h` for your model:
#define ANYCUBIC_KOSSEL_PLUS
#define ANYCUBIC_PROBE_VERSION 2
#define ANYCUBIC_KOSSEL_ENABLE_BED 1
optional:
( #if ANYCUBIC_PROBE_VERSION == 2
#define NOZZLE_TO_PROBE_OFFSET { 0, 0, -15.10 }
)
```bash
virtualenv -p python --no-site-packages .
source bin/activate
pip install -U platformio
pio run
pio run --target upload
```
### Set up the 3d printer
* `Configuration > Advanced Settings > Initialize EEPROM`
* `Configuration > Delta Calibration > Set Delta Height` ( G33 P1 )
* `Configuration > Delta Configuration > Probe Z-offset` ( Set manually to 15.10 )
* `Configuration > Delta Calibration > Set Delta Height` ( G33 P1 )
* connect the Z-Probe and start `Configuration > Delta Calibration > Auto Calibration`
* `Configuration > Delta Calibration > Store Settings`
* `Motion > Bed Leveling > Level bed` followed by `Store Settings`
use `Configuration > Advanced Settings > Probe Z Offset` to correct the difference and execute the calibration again
### optional: tune PID
#### Nozzle
(DEFAULT_Kp 22.36 DEFAULT_Ki 1.63 DEFAULT_Kd 76.48)
* run the following G-Code (e.g. in Proterface) with the nozzle cold: 'M106 S255' & 'M303 E0 C10 S200'
* store measured values: 'M301 P17.96 I1.44 D55.90'
#### Bed
(DEFAULT_bedKp 374.03 DEFAULT_bedKi 72.47 DEFAULT_bedKd 482.59)
* run 'M303 E-1 C8 S60'
* store measured values: 'M304 P254.09 I44.31 D971.39'
#### store values in eeprom:
'M500'
### Configure Cura
[Cura Profiles ](https://www.thingiverse.com/thing:2367365 )
Download the profiles and put the json-Files into: `$HOME/.local/share/cura/4.4/definitions/`
## Cura settings
#### Shell
* alternate_extra_perimeter = True
#### Infill
* infill_sparse_density = 10
* infill_pattern = gyroid
* zig_zaggify_infill = True
#### Material
* material_print_temperature = 204
* material_bed_temperature = 30
* material_bed_temperature_layer_0 = 55
* retraction_amount = 5
* retraction_speed = 65
#### Speed
* speed_print = 60
* speed_layer_0 = 20
* speed_equalize_flow_enabled = True
* speed_z_hop = 60
#### Travel
* retraction_combing = infill
* retraction_combing_max_distance = 20
* retraction_hop = 0.2
* retraction_hop_enabled = True
* retraction_hop_only_when_collides = True
#### Cooling
* cool_fan_speed = 60
* cool_fan_speed_0 = 20
* cool_lift_head = True
#### Support
* support_z_distance = 0.2
* support_angle = 50
#### Build Plate Adhesion
* adhesion_type = skirt
* skirt_line_count = 2
* skirt_brim_minimal_length = 250
#### Experimental
* coasting_enable = True
* bridge_settings_enabled = True
### To test
* line_width = 0.38 (for 0.15 else: 0.4)
* optimize wall printing order = True
* infill_enable_travel_optimization = True
* use adaptive layers
* print thin walls
## Snippets
### Firmware backup
avrdude -p m2560 -c avrispmkII -P /dev/ttyUSB0 -b 115200 -D -U flash:r:factory_kossel.hex:i
avrdude -p m2560 -c avrispmkII -P /dev/ttyUSB0 -b 115200 -D -U eeprom:r:factory_kossel_eeprom.hex:i
### Litophanes:
[3dp.rocks Image to Litophane Converter ](http://3dp.rocks/lithophane/ )
### TPU
Generally not enjoyable with bowden-type extruders. Buy another printer.
Print and mount the [extruder mod ](https://www.thingiverse.com/thing:2672773 ), otherwise the filament will jam between the extruder gear and the Ptfe-tube.
Print slowly, not too small layer height, reduce retraction distance as it won't work anyways. Avoid models that require many travel moves.
### Plotting
use Inkscape and the included [Gcodetools ](https://github.com/cnc-club/gcodetools ).
A 3d-printable pen holder (to use with rubber-bands) is attached in the `addons/` folder.
#### Prepare Image
* Make sure to have everything on a single layer
* At the top bar leave units at px but treat them as mm!
* scale object to desired size
* `Path -> Object to Path`
* `Path -> Combine`
* `Path -> Union`
* `View -> Display mode -> Outline` to preview
* if there are too many nodes: `Path -> Simplify`
#### Gcodetools
* `Extensions -> Gcodetools -> Tools library...` select `default` tool
* Diameter: 1.0
* Feed: 2400
* Penetration feed: 2400
* Passing feed: 3600
* Depth step: 1.0
* `Extensions -> Gcodetools -> Orientation points`
* 2-points mode
* Z surface: 0.0
* Z depth: -1.0
* move to center of object (0,0 is center of print-bed) and a bit to the right, as the pen is mounted right from the effector (45mm)
* select object
* `Extensions -> Gcodetools -> Path to Gcode
* Offset along Z axis: 11.0
* Z safe height for G00 move over blank: 3.0
* Units: mm
#### Print
* home printer
* print
#### Experimental Cura settings:
* Layer Height: 10 mm
* Initial Layer Height: 10 mm
* Wall Line Count: 1
* Top/Bottom Thickness: 10 mm
* Print Thin Walls: True
* Infill Density: 0 %
* Default Printing Temperature: 0 °C
* Build Plate Temperature: 0 °C
* Enable Retraction: True
* Retraction Minimum Travel: 2 mm
* Combing Mode: off
* Z Hop When Retracted: True
* Z Hop Height: 2 mm
* Enable Print Cooling: False
* Generate Support: False
* Build Plate Adhesion Type: none
* Slicing Tolerance: Inclusive
* Maximum Resolution: 0.2 mm
### LEDs (WS2812)
print [rails ](https://www.thingiverse.com/thing:3076641 )
and connect the led-strip to the trigorilla board at D11, +5V and GND
In the Marlin/Configuration.h uncomment:
#define NEOPIXEL_LED
#define NEOPIXEL_PIN 11
#define NEOPIXEL_PIXELS 5
## Original Anycubic Links
* https://github.com/ANYCUBIC-3D/ANYCUBIC_Kossel_Source_Code