Skip to content

Commit c38a9e4

Browse files
committed
Upload of firmware
1 parent 4cd7177 commit c38a9e4

8 files changed

+8794
-2
lines changed

Configuration.h

+3,605
Large diffs are not rendered by default.

Configuration_adv.h

+4,496
Large diffs are not rendered by default.

Precompiled Firmware/firmware.bin

222 KB
Binary file not shown.

README.md

+59-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,59 @@
1-
# Ender3Pro_Firmware
2-
Custom firmware for the Ender 3 Pro with BTT SKR Mini e3 v3.0, BLTouch, and Sprite Extruder Pro
1+
# Custom Ender 3 Pro Firmware using Marlin
2+
Please note this is a custom Marlin firewamre (Bugfix 2.1.x) that I made for my printer with parts listed below.
3+
4+
I have also included a precompiled version of the firmware based on Marlin Bugfix 2.1.X. Your milage may vary, install at your own risk.
5+
6+
I had to make edit to the pins_BTT_SKR_MINI_E3_V3_0.h file in order to get the fans and BLTouch probe working as intended. I will outline all my changes below
7+
8+
## Printer
9+
10+
- Ender 3 Pro
11+
- Big Tree Tech SKR Mini e3 v3.0 Control Board
12+
- Creality Sprite Extruder Pro
13+
- BLTouch
14+
15+
## Congifuration Edits
16+
17+
### Configuration.h
18+
19+
- #define BAUDRATE 250000
20+
- #define CUSTOM_MACHINE_NAME "Ender-3 Pro"
21+
- #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 424.9 }
22+
- #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN (Enable this)
23+
- #define USE_PROBE_FOR_Z_HOMING (Enable this)
24+
- #define Z_MIN_PROBE_PIN PC14 (Enable this and set for pin of SKR Mini e3)
25+
- #define BLTOUCH (Enable this)
26+
- #define NOZZLE_TO_PROBE_OFFSET { -36.5, -40, 0 }
27+
- #define XY_PROBE_FEEDRATE (10000)
28+
- //#define MIN_SOFTWARE_ENDSTOP_Z
29+
- //#define MAX_SOFTWARE_ENDSTOP_Z
30+
- #define AUTO_BED_LEVELING_BILINEAR (Enable this, disable others)
31+
- #define HOMING_FEEDRATE_MM_M { (40*60), (40*60), (8*60) }
32+
- #define GRID_MAX_POINTS_X 3
33+
- #define Z_SAFE_HOMING
34+
35+
36+
### Configuration_adv.h
37+
- #define CONTROLLER_FAN_PIN FAN2_PIN
38+
- #define CONTROLLER_FAN2_PIN FAN1_PIN
39+
- #define PROBE_OFFSET_WIZARD
40+
- #define FILAMENT_CHANGE_UNLOAD_LENGTH 50
41+
- #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 50
42+
- #define ADVANCED_PAUSE_PURGE_LENGTH 10
43+
44+
45+
### pins_BTT_SKR_MINI_E3_V3_0.h
46+
47+
I had to change the Z_STOP_PIN since I don't have a physical Z-Stop anymore. I would run into a weird error where when the printer wanted to home itself X and Y worked, and the Probe on the BLTouch would Extend and Retract a few times before the printer just said `STOPPED`
48+
49+
- #define Z_STOP_PIN PC14 // Z-STOP
50+
51+
52+
## Fan Layout
53+
54+
- Fan under the printer on the SKR Mini - FAN1 (PC7)
55+
- Fan on the Sprite Pro - FAN2 (PB15)
56+
- Parts Cooling Fan - FAN0 (PC6)
57+
58+
![Alt text](image.png)
59+

_Bootscreen.h

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4+
*
5+
* Based on Sprinter and grbl.
6+
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7+
*
8+
* This program is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* (at your option) any later version.
12+
*
13+
* This program is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU General Public License
19+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
/**
25+
* Custom Boot Screen bitmap
26+
*
27+
* Place this file in the root with your configuration files
28+
* and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h.
29+
*
30+
* Use the Marlin Bitmap Converter to make your own:
31+
* https://marlinfw.org/tools/u8glib/converter.html
32+
*/
33+
34+
#define CUSTOM_BOOTSCREEN_TIMEOUT 1000
35+
#define CUSTOM_BOOTSCREEN_BMPWIDTH 81
36+
#define CUSTOM_BOOTSCREEN_INVERTED
37+
38+
const unsigned char custom_start_bmp[] PROGMEM = {
39+
B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
40+
B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,
41+
B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111,
42+
B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111,
43+
B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111,
44+
B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111,
45+
B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111,
46+
B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111,
47+
B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111,
48+
B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111,
49+
B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111,
50+
B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111,
51+
B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111,
52+
B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111,
53+
B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111,
54+
B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111,
55+
B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111,
56+
B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111,
57+
B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111,
58+
B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111,
59+
B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111,
60+
B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111,
61+
B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111,
62+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111,
63+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111,
64+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111,
65+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111,
66+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111,
67+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111,
68+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111,
69+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111,
70+
B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111,
71+
B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111,
72+
B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111,
73+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
74+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
75+
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111,
76+
B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111,
77+
B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111,
78+
B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111,
79+
B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111,
80+
B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111,
81+
B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111,
82+
B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111,
83+
B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111,
84+
B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111,
85+
B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111,
86+
B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111,
87+
B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111,
88+
B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111,
89+
B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111,
90+
B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111,
91+
B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111,
92+
B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111,
93+
B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111,
94+
B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111,
95+
B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111,
96+
B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111
97+
};
98+
99+
// Saves 345 bytes
100+
#define COMPACT_CUSTOM_BOOTSCREEN
101+
const unsigned char custom_start_bmp_rle[293] PROGMEM = {
102+
0x1F, 0x13, 0x0F, 0x47, 0x06, 0x0F, 0x3F, 0x14, 0x0F, 0x40, 0x14, 0x0F, 0x40, 0x23, 0x0F, 0x41,
103+
0x13, 0x1F, 0x37, 0x33, 0x32, 0x1F, 0x2B, 0x13, 0xF0, 0x93, 0x02, 0x0F, 0x18, 0x08, 0x75, 0xF0,
104+
0x03, 0x02, 0x0F, 0x17, 0x14, 0x02, 0x19, 0xF0, 0x23, 0x02, 0x0F, 0x18, 0x22, 0x51, 0xF0, 0xA3,
105+
0x02, 0x0F, 0x18, 0xF1, 0x74, 0x02, 0x0F, 0x1B, 0x87, 0xF0, 0x34, 0x02, 0x1F, 0x29, 0xF0, 0x01,
106+
0x24, 0x02, 0x1F, 0x27, 0xF0, 0x21, 0x24, 0x5F, 0x24, 0xF0, 0x50, 0x46, 0x1F, 0x21, 0x75, 0xF0,
107+
0x23, 0x3F, 0x1B, 0x8D, 0xF0, 0x6F, 0x17, 0x6F, 0x04, 0xF0, 0x6F, 0x2D, 0x10, 0xF0, 0x8F, 0x2E,
108+
0xE4, 0x5F, 0x30, 0xC5, 0x4F, 0x33, 0x96, 0x2F, 0x37, 0x67, 0x1F, 0x39, 0x56, 0x1F, 0x3A, 0x46,
109+
0x1F, 0x3B, 0x3F, 0x45, 0x3F, 0x45, 0x30, 0x0F, 0x3B, 0x06, 0x4F, 0x3B, 0x15, 0x4F, 0x36, 0x05,
110+
0x03, 0x3F, 0x39, 0x22, 0x6F, 0x3D, 0x7F, 0xFD, 0x0F, 0x17, 0xF0, 0x1F, 0x0C, 0x3F, 0x18, 0xF0,
111+
0x0F, 0x0A, 0x5F, 0x19, 0x37, 0x1F, 0x0D, 0x2F, 0x1A, 0x37, 0x1F, 0x0D, 0x2F, 0x19, 0x38, 0x0F,
112+
0x0D, 0x2F, 0x1A, 0x3F, 0x17, 0x2F, 0x19, 0x36, 0x16, 0x11, 0x39, 0x30, 0x27, 0x3F, 0x0E, 0x36,
113+
0x04, 0xB6, 0x95, 0x63, 0x9D, 0x36, 0x14, 0x51, 0x34, 0x23, 0x34, 0x22, 0x31, 0xAD, 0xB6, 0x24,
114+
0x23, 0x25, 0x23, 0x14, 0x33, 0x31, 0x1E, 0xB5, 0x33, 0x23, 0x25, 0x23, 0x24, 0x33, 0x2F, 0x03,
115+
0x36, 0x15, 0x24, 0x23, 0x25, 0x22, 0xB3, 0x2F, 0x04, 0x26, 0x15, 0x33, 0x23, 0x25, 0x23, 0x2C,
116+
0x2F, 0x03, 0x3E, 0x24, 0x22, 0x35, 0x22, 0x2C, 0x2F, 0x04, 0x2F, 0x00, 0x23, 0x32, 0x25, 0x32,
117+
0x2C, 0x2F, 0x03, 0x39, 0x12, 0x24, 0x23, 0x25, 0x23, 0x27, 0x02, 0x2F, 0x04, 0x38, 0x13, 0x23,
118+
0x32, 0x34, 0x32, 0x35, 0x13, 0x2F, 0x03, 0x38, 0x13, 0x24, 0x23, 0x34, 0x23, 0x43, 0x13, 0x2F,
119+
0x04, 0x35, 0x42, 0x33, 0x33, 0x50, 0x61, 0x94, 0x2F, 0x01, 0xF0, 0x11, 0x60, 0x63, 0xA4, 0x63,
120+
0x7F, 0x26, 0x3B, 0x3F, 0x0D
121+
};

_Statusscreen.h

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4+
*
5+
* Based on Sprinter and grbl.
6+
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7+
*
8+
* This program is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* (at your option) any later version.
12+
*
13+
* This program is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU General Public License
19+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
/**
25+
* Custom Status Screen bitmap
26+
*
27+
* Place this file in the root with your configuration files
28+
* and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h.
29+
*
30+
* Use the Marlin Bitmap Converter to make your own:
31+
* https://marlinfw.org/tools/u8glib/converter.html
32+
*/
33+
34+
//
35+
// Status Screen Logo bitmap
36+
//
37+
#define STATUS_LOGO_Y 8
38+
#define STATUS_LOGO_WIDTH 39
39+
40+
const unsigned char status_logo_bmp[] PROGMEM = {
41+
B11111000,B00000001,B10000000,B00000000,B00001100,
42+
B01001000,B00000000,B10000000,B00000000,B00010010,
43+
B01000011,B11000011,B10001100,B11010000,B00000010,
44+
B01110001,B00100100,B10010010,B01100111,B11001100,
45+
B01000001,B00100100,B10011110,B01000000,B00000010,
46+
B01001001,B00100100,B10010000,B01000000,B00010010,
47+
B11111011,B10110011,B11001110,B11100000,B00001100,
48+
B00000000,B00000000,B00000000,B00000000,B00000000,
49+
B00000000,B00000000,B00000000,B00000000,B00000000,
50+
B00000000,B00000011,B10000000,B00000000,B00000000,
51+
B00000000,B00000010,B01000000,B00000000,B00000000,
52+
B00000000,B00000010,B01010110,B01100000,B00000000,
53+
B00000000,B00000011,B10011000,B10010000,B00000000,
54+
B00000000,B00000010,B00010000,B10010000,B00000000,
55+
B00000000,B00000010,B00010000,B10010000,B00000000,
56+
B00000000,B00000010,B00010000,B01100000,B00000000
57+
};
58+
59+
//
60+
// Use default bitmaps
61+
//
62+
#define STATUS_HOTEND_ANIM
63+
#define STATUS_BED_ANIM
64+
#define STATUS_HEATERS_XSPACE 20
65+
#if HOTENDS < 2
66+
#define STATUS_HEATERS_X 48
67+
#define STATUS_BED_X 72
68+
#else
69+
#define STATUS_HEATERS_X 40
70+
#define STATUS_BED_X 80
71+
#endif

image.png

386 KB
Loading

0 commit comments

Comments
 (0)