{"id":281,"date":"2022-10-14T14:05:34","date_gmt":"2022-10-14T12:05:34","guid":{"rendered":"http:\/\/cln.io\/blog\/?p=281"},"modified":"2022-11-30T22:05:03","modified_gmt":"2022-11-30T20:05:03","slug":"flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails","status":"publish","type":"post","link":"https:\/\/cln.io\/blog\/flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails\/","title":{"rendered":"Flashing a Creality 3 S1 pro with Klipper and use it with MainSails"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I&#8217;ve recently acquired a Creality 3 S1 pro, with the intention of flashing it with Klipper<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If this is the first time flashing a printer with klipper read me:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your attached display\/controls probably won&#8217;t work (you will have to attach a (touch) display to your Pi and look at <a href=\"https:\/\/github.com\/jordanruthe\/KlipperScreen\" target=\"_blank\" rel=\"noreferrer noopener\">KlipperScreen<\/a><\/li>\n\n\n\n<li>Some Creality printers have odd SoC\/CPU&#8217;s shipped, verify yours!<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">these are my notes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On this page<\/p>\n\n\n\n<nav aria-label=\"Table of Contents\" class=\"wp-block-table-of-contents\"><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails\/#abstract-of-steps-to-take\">Abstract of steps to take<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails\/#things-to-get\">Things to get<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails\/#getting-started-with-the-raspberry\">Getting started with the raspberry <\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails\/#setting-up-mainsail\">Setting up mainsail<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails\/#let-s-get-our-printer-flashed-with-klipper\">Let&#8217;s get our printer flashed with Klipper!<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails\/#flashing-the-printer\">Flashing the printer<\/a><\/li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/cln.io\/blog\/flashing-a-creality-3-s1-pro-with-klipper-and-use-it-with-mainsails\/#preparing-mainsail-to-communicate-with-the-printer\">Preparing mainsail to communicate with the printer<\/a><\/li><\/ol><\/nav>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abstract-of-steps-to-take\">Abstract of steps to take<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Flash raspberry with <a href=\"https:\/\/docs.mainsail.xyz\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mainsails<\/a><\/li>\n\n\n\n<li>Use Mainsails to compile the firmware<\/li>\n\n\n\n<li>Flash firmware to the printer<\/li>\n\n\n\n<li>Setup a printer.cfg config<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"things-to-get\">Things to get<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Get a Creality 3 S1 pro<\/li>\n\n\n\n<li>Get a raspberry pi. <\/li>\n\n\n\n<li>Get a micro SD card. (for the raspberry)<\/li>\n\n\n\n<li>Get a USB A to USB C cable (to connect to the raspberry to the printer)<\/li>\n\n\n\n<li>an SD card (to flash the printer) [should come with the Creality]<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"getting-started-with-the-raspberry\">Getting started with the raspberry <\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"420\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-2.png\" alt=\"\" class=\"wp-image-929\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-2.png 680w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-2-300x185.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption class=\"wp-element-caption\">fire up <a href=\"https:\/\/www.raspberrypi.com\/software\/\" target=\"_blank\" rel=\"noreferrer noopener\">Raspberry Pi imager<\/a><\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"420\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-3.png\" alt=\"\" class=\"wp-image-930\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-3.png 680w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-3-300x185.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption class=\"wp-element-caption\">Pick &#8220;Other specific-purpose OS&#8221;<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"420\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-4.png\" alt=\"\" class=\"wp-image-931\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-4.png 680w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-4-300x185.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption class=\"wp-element-caption\">Pick &#8220;3D printing&#8221;<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"420\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-5.png\" alt=\"\" class=\"wp-image-932\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-5.png 680w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-5-300x185.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption class=\"wp-element-caption\">Pick &#8220;Mainsail OS&#8221;<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"420\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-6.png\" alt=\"\" class=\"wp-image-933\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-6.png 680w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-6-300x185.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption class=\"wp-element-caption\">Pick the most recent version if there is a choice<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"420\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-7.png\" alt=\"\" class=\"wp-image-935\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-7.png 680w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-7-300x185.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption class=\"wp-element-caption\">Pick your storage.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Head over to advanced options, we want to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set a hostname<\/li>\n\n\n\n<li>Setup WiFi<\/li>\n\n\n\n<li>Setup SSH <\/li>\n\n\n\n<li>Set a password<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/mainsail-crew\/MainsailOS\/issues\/136\" target=\"_blank\" rel=\"noreferrer noopener\">Don&#8217;t change the username, MainSail needs &#8220;pi&#8221; as the username<\/a><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"420\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-11.png\" alt=\"\" class=\"wp-image-943\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-11.png 680w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-11-300x185.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"494\" height=\"938\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-10.png\" alt=\"\" class=\"wp-image-942\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-10.png 494w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-10-158x300.png 158w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"420\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-12.png\" alt=\"\" class=\"wp-image-945\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-12.png 680w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-12-300x185.png 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption class=\"wp-element-caption\">And flash the SD card!<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Put the SD card in the Pi, and let it boot\/set up.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"setting-up-mainsail\">Setting up mainsail<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Browse to http:\/\/mainsail.local\/<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"550\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-13.png\" alt=\"\" class=\"wp-image-950\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-13.png 751w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-13-300x220.png 300w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><figcaption class=\"wp-element-caption\">make sure to get mainsail fully updated under &#8220;Machine &gt; Update Manager&#8221;<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"let-s-get-our-printer-flashed-with-klipper\">Let&#8217;s get our printer flashed with Klipper!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">before mainsail can communicate with the 3D printer we need to flash Klipper firmware onto the machine (communication happens with a USB-A to USB-c cable on an S1 Pro)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SSH into the host with &#8220;pi&#8221; and the password you picked whilst flashing (default: raspberry)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-14.png\" alt=\"\" class=\"wp-image-955\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-14.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-14-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-14-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-15.png\" alt=\"\" class=\"wp-image-957\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-15.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-15-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-15-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">cd to the &#8220;klipper&#8221; directory<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-16.png\" alt=\"\" class=\"wp-image-958\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-16.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-16-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-16-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-17.png\" alt=\"\" class=\"wp-image-960\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-17.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-17-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-17-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">execute &#8220;make menuconfig&#8221; from \/home\/pi\/klipper<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">this will launch the interactive GUI to config\/compile the firmware<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">protip: <a href=\"https:\/\/github.com\/Klipper3d\/klipper\/blob\/master\/config\/\" target=\"_blank\" rel=\"noreferrer noopener\">check the config of your printer over at github, usually the comments up top give the config we need<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">the S1 (pro) config shows us this ( <a href=\"https:\/\/raw.githubusercontent.com\/Klipper3d\/klipper\/master\/config\/printer-creality-ender3-s1-2021.cfg\" target=\"_blank\" rel=\"noreferrer noopener\">source file<\/a> )<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># This file contains pin mappings for the stock 2021 Creality Ender 3\n# S1 &amp; S1 Pro. To use this config, check the STM32 Chip on the\n# Mainboard, during \"make menuconfig\" select accordingly either the\n# STM32F103 with \"28KiB bootloader\" or the STM32F401 with\n# \"64KiB bootloader\" and serial (on USART1 PA10\/PA9) for both.\n\n# For a direct serial connection, in \"make menuconfig\" select\n# \"Enable extra low-level configuration options\" and  Serial\n# (on USART2 PA3\/PA2), which is on the 10 pin IDC cable used\n# for the LCD module as follows: 3: Tx, 4: Rx, 9: GND, 10: VCC\n\n# Flash this firmware by copying \"out\/klipper.bin\" to a SD card and\n# turning on the printer with the card inserted. The filename\n# must be changed to \"firmware.bin\"\n\n# With STM32F401, you might need to put \"firmware.bin\" in a\n# folder on the SD card called \"STM32F4_UPDATE\" in order to flash.\n\n# See docs\/Config_Reference.md for a description of parameters.<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-18.png\" alt=\"\" class=\"wp-image-962\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-18.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-18-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-18-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Lets select the correct micro-controller first [2nd option], in case of the S1 Pro you pick STM32<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-19.png\" alt=\"\" class=\"wp-image-964\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-19.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-19-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-19-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">I opened my printer to make sure I have the ARM7 STM32F401 <\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-20.png\" alt=\"\" class=\"wp-image-965\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-20.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-20-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-20-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"> Make sure to switch the bootloader to 64KiB <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-21.png\" alt=\"\" class=\"wp-image-966\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-21.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-21-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-21-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Set up the communication interface (<a href=\"https:\/\/github.com\/Klipper3d\/klipper\/blob\/master\/config\/printer-creality-ender3-s1-2021.cfg\" target=\"_blank\" rel=\"noreferrer noopener\">going off comments in our config file<\/a>)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-35.png\" alt=\"\" class=\"wp-image-998\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-35.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-35-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-35-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"> <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-36.png\" alt=\"\" class=\"wp-image-999\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-36.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-36-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-36-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-37.png\" alt=\"\" class=\"wp-image-1001\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-37.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-37-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-37-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">hit Q and Y so save<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-25.png\" alt=\"\" class=\"wp-image-970\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-25.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-25-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-25-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">now run the &#8220;make&#8221; command<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">it will take a small while<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-26.png\" alt=\"\" class=\"wp-image-972\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-26.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-26-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-26-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"436\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-27.png\" alt=\"\" class=\"wp-image-974\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-27.png 977w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-27-300x134.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-27-768x343.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">let&#8217;s copy the firmware to a directory we can access from the mainsail webserver<\/figcaption><\/figure>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bat\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cp out\/klipper.bin \/home\/pi\/klipper_config\/klipper.bin<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"735\" height=\"646\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-28.png\" alt=\"\" class=\"wp-image-977\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-28.png 735w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-28-300x264.png 300w\" sizes=\"auto, (max-width: 735px) 100vw, 735px\" \/><figcaption class=\"wp-element-caption\">Locate our firmware and right click it, and download it.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">on our SD card make a new folder named &#8220;STM32F4_UPDATE&#8221; and place your klipper.bin in there, make sure to date the file, as the printer can be picky about how the file is named.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"433\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-29.png\" alt=\"\" class=\"wp-image-979\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-29.png 756w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-29-300x172.png 300w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"flashing-the-printer\">Flashing the printer<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Turn the printer off<\/li>\n\n\n\n<li>Insert the SD card with our klipper firmware into the printer<\/li>\n\n\n\n<li>connect a USB-c cable to the USB port of the Raspberry Pi.<\/li>\n\n\n\n<li>turn the printer on, give it some time to flash<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"preparing-mainsail-to-communicate-with-the-printer\">Preparing mainsail to communicate with the printer<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"927\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-30.png\" alt=\"\" class=\"wp-image-983\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-30.png 1020w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-30-300x273.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-30-768x698.png 768w\" sizes=\"auto, (max-width: 1020px) 100vw, 1020px\" \/><figcaption class=\"wp-element-caption\">head over to &#8220;Machine&#8221; and go to the &#8220;config_examples&#8221; directory set the amount of files shown to all<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">check if your printer has an example config,  copy the contents<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"569\" height=\"157\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-31.png\" alt=\"\" class=\"wp-image-986\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-31.png 569w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-31-300x83.png 300w\" sizes=\"auto, (max-width: 569px) 100vw, 569px\" \/><figcaption class=\"wp-element-caption\">click show file, and copy the contents<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"794\" height=\"694\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-33.png\" alt=\"\" class=\"wp-image-989\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-33.png 794w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-33-300x262.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-33-768x671.png 768w\" sizes=\"auto, (max-width: 794px) 100vw, 794px\" \/><figcaption class=\"wp-element-caption\">switch directory to config again, and create a new file named printer.cfg, paste the contents here<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"182\" height=\"72\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-34.png\" alt=\"\" class=\"wp-image-992\"\/><figcaption class=\"wp-element-caption\">hit save and restart<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">If the flash went well, and the printer is connected over USB cable, it should come online in mainsail<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"592\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-38-1024x592.png\" alt=\"\" class=\"wp-image-1003\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-38-1024x592.png 1024w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-38-300x173.png 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-38-768x444.png 768w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/image-38.png 1225w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/minku-kang-aCniNTiIFd8-unsplash-1024x682.jpg\" alt=\"\" class=\"wp-image-1006\" srcset=\"https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/minku-kang-aCniNTiIFd8-unsplash-1024x682.jpg 1024w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/minku-kang-aCniNTiIFd8-unsplash-300x200.jpg 300w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/minku-kang-aCniNTiIFd8-unsplash-768x511.jpg 768w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/minku-kang-aCniNTiIFd8-unsplash-1536x1023.jpg 1536w, https:\/\/cln.io\/blog\/wp-content\/uploads\/2022\/10\/minku-kang-aCniNTiIFd8-unsplash-2048x1364.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Photo by <a href=\"https:\/\/unsplash.com\/@minkus?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\" target=\"_blank\" rel=\"noreferrer noopener\">Minku Kang<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/3d-print?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\" target=\"_blank\" rel=\"noreferrer noopener\">Unsplash<\/a><\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve recently acquired a Creality 3 S1 pro, with the intention of flashing it with Klipper If this is the first time flashing a printer with klipper read me: these are my notes. On this [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1007,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,20],"tags":[],"class_list":["post-281","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-3dprinting","category-dyi"],"_links":{"self":[{"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/posts\/281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/comments?post=281"}],"version-history":[{"count":44,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/posts\/281\/revisions"}],"predecessor-version":[{"id":1168,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/posts\/281\/revisions\/1168"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/media\/1007"}],"wp:attachment":[{"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/media?parent=281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/categories?post=281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cln.io\/blog\/wp-json\/wp\/v2\/tags?post=281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}