Skip to content

Commit 354ba91

Browse files
committed
Monoprice MP i3 Mini Build
This is a rebranded Wanhao Duplicator i3 Mini, NOT the Monoprice Maker Select Mini V1 & V2/Malyan M200 rebrands.
1 parent 0c72dc3 commit 354ba91

File tree

7 files changed

+233
-217
lines changed

7 files changed

+233
-217
lines changed

.github/FUNDING.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
github: [thinkyhead]
2-
patreon: thinkyhead
3-
custom: ["https://www.thinkyhead.com/donate-to-marlin"]
1+
github: [thisiskeithb]
2+
ko_fi: thisiskeithb
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#
2+
# test-monoprice-mp-i3-mini-build.yml
3+
# Do test build to catch compile errors
4+
#
5+
6+
name: Monoprice MP i3 Mini CI
7+
8+
on:
9+
pull_request:
10+
paths-ignore:
11+
- config/**
12+
- data/**
13+
- docs/**
14+
- '**/*.md'
15+
push:
16+
paths-ignore:
17+
- config/**
18+
- data/**
19+
- docs/**
20+
- '**/*.md'
21+
22+
jobs:
23+
test_builds:
24+
name: Test Build
25+
if: github.repository == 'thisiskeithb/Marlin'
26+
27+
runs-on: ubuntu-22.04
28+
29+
steps:
30+
- name: Check out the PR
31+
uses: actions/checkout@v4
32+
33+
- name: Select Python 3.x
34+
uses: actions/setup-python@v5
35+
with:
36+
python-version: '3.9'
37+
architecture: 'x64'
38+
39+
- name: Install PlatformIO
40+
run: |
41+
pip install -U platformio
42+
pio upgrade --dev
43+
pio pkg update --global
44+
45+
- name: Build Marlin
46+
run: pio run

Marlin/Configuration.h

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@
6161
// @section info
6262

6363
// Author info of this build printed to the host during boot and M115
64-
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Original author or contributor.
64+
#define STRING_CONFIG_H_AUTHOR "(thisiskeithb, Wanhao i3 Mini)" // Original author or contributor.
6565
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
6666

6767
// @section machine
6868

6969
// Choose the name from boards.h that matches your setup
7070
#ifndef MOTHERBOARD
71-
#define MOTHERBOARD BOARD_RAMPS_14_EFB
71+
#define MOTHERBOARD BOARD_WANHAO_ONEPLUS
7272
#endif
7373

7474
// @section serial
@@ -128,7 +128,7 @@
128128
//#define BLUETOOTH
129129

130130
// Name displayed in the LCD "Ready" message and Info menu
131-
//#define CUSTOM_MACHINE_NAME "3D Printer"
131+
#define CUSTOM_MACHINE_NAME "i3 Mini"
132132
//#define CONFIGURABLE_MACHINE_NAME // Add G-code M550 to set/report the machine name
133133

134134
// Printer's unique ID, used by some programs to differentiate between machines.
@@ -567,15 +567,15 @@
567567
* 998 : Dummy Table that ALWAYS reads 25°C or the temperature defined below.
568568
* 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below.
569569
*/
570-
#define TEMP_SENSOR_0 1
570+
#define TEMP_SENSOR_0 5
571571
#define TEMP_SENSOR_1 0
572572
#define TEMP_SENSOR_2 0
573573
#define TEMP_SENSOR_3 0
574574
#define TEMP_SENSOR_4 0
575575
#define TEMP_SENSOR_5 0
576576
#define TEMP_SENSOR_6 0
577577
#define TEMP_SENSOR_7 0
578-
#define TEMP_SENSOR_BED 1
578+
#define TEMP_SENSOR_BED 11
579579
#define TEMP_SENSOR_PROBE 0
580580
#define TEMP_SENSOR_CHAMBER 0
581581
#define TEMP_SENSOR_COOLER 0
@@ -655,15 +655,15 @@
655655
// Above this temperature the heater will be switched off.
656656
// This can protect components from overheating, but NOT from shorts and failures.
657657
// (Use MINTEMP for thermistor short/failure protection.)
658-
#define HEATER_0_MAXTEMP 275
658+
#define HEATER_0_MAXTEMP 305 // E3D V6 with all-metal heatbreak
659659
#define HEATER_1_MAXTEMP 275
660660
#define HEATER_2_MAXTEMP 275
661661
#define HEATER_3_MAXTEMP 275
662662
#define HEATER_4_MAXTEMP 275
663663
#define HEATER_5_MAXTEMP 275
664664
#define HEATER_6_MAXTEMP 275
665665
#define HEATER_7_MAXTEMP 275
666-
#define BED_MAXTEMP 150
666+
#define BED_MAXTEMP 130
667667
#define CHAMBER_MAXTEMP 60
668668

669669
/**
@@ -902,8 +902,8 @@
902902
#define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
903903
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
904904

905-
//#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash)
906-
//#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash)
905+
#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash)
906+
#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash)
907907
#endif
908908

909909
// @section safety
@@ -1228,10 +1228,10 @@
12281228
* Set to the state (HIGH or LOW) that applies to each endstop.
12291229
*/
12301230
#define X_MIN_ENDSTOP_HIT_STATE HIGH
1231-
#define X_MAX_ENDSTOP_HIT_STATE HIGH
1232-
#define Y_MIN_ENDSTOP_HIT_STATE HIGH
1231+
#define X_MAX_ENDSTOP_HIT_STATE LOW
1232+
#define Y_MIN_ENDSTOP_HIT_STATE LOW
12331233
#define Y_MAX_ENDSTOP_HIT_STATE HIGH
1234-
#define Z_MIN_ENDSTOP_HIT_STATE HIGH
1234+
#define Z_MIN_ENDSTOP_HIT_STATE LOW
12351235
#define Z_MAX_ENDSTOP_HIT_STATE HIGH
12361236
#define I_MIN_ENDSTOP_HIT_STATE HIGH
12371237
#define I_MAX_ENDSTOP_HIT_STATE HIGH
@@ -1245,7 +1245,7 @@
12451245
#define V_MAX_ENDSTOP_HIT_STATE HIGH
12461246
#define W_MIN_ENDSTOP_HIT_STATE HIGH
12471247
#define W_MAX_ENDSTOP_HIT_STATE HIGH
1248-
#define Z_MIN_PROBE_ENDSTOP_HIT_STATE HIGH
1248+
#define Z_MIN_PROBE_ENDSTOP_HIT_STATE LOW
12491249

12501250
// Enable this feature if all enabled endstop pins are interrupt-capable.
12511251
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
@@ -1293,7 +1293,7 @@
12931293
* Override with M92 (when enabled below)
12941294
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
12951295
*/
1296-
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 }
1296+
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 94 }
12971297

12981298
/**
12991299
* Enable support for M92. Disable to save at least ~530 bytes of flash.
@@ -1305,7 +1305,7 @@
13051305
* Override with M203
13061306
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
13071307
*/
1308-
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
1308+
#define DEFAULT_MAX_FEEDRATE { 400, 400, 15, 50 }
13091309

13101310
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
13111311
#if ENABLED(LIMITED_MAX_FR_EDITING)
@@ -1318,7 +1318,7 @@
13181318
* Override with M201
13191319
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
13201320
*/
1321-
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
1321+
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 3000 }
13221322

13231323
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
13241324
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
@@ -1333,9 +1333,9 @@
13331333
* M204 R Retract Acceleration
13341334
* M204 T Travel Acceleration
13351335
*/
1336-
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
1337-
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
1338-
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
1336+
#define DEFAULT_ACCELERATION 800 // X, Y, Z and E acceleration for printing moves
1337+
#define DEFAULT_RETRACT_ACCELERATION 800 // E acceleration for retracts
1338+
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
13391339

13401340
/**
13411341
* Default Jerk limits (mm/s)
@@ -1374,7 +1374,7 @@
13741374
* https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
13751375
*/
13761376
#if DISABLED(CLASSIC_JERK)
1377-
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
1377+
#define JUNCTION_DEVIATION_MM 0.05 // (mm) Distance from real junction edge
13781378
#define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle
13791379
// for small segments (< 1mm) with large junction angles (> 135°).
13801380
#endif
@@ -1387,7 +1387,7 @@
13871387
*
13881388
* See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained
13891389
*/
1390-
//#define S_CURVE_ACCELERATION
1390+
#define S_CURVE_ACCELERATION
13911391

13921392
//===========================================================================
13931393
//============================= Z Probe Options =============================
@@ -1824,8 +1824,8 @@
18241824
// @section motion
18251825

18261826
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
1827-
#define INVERT_X_DIR false
1828-
#define INVERT_Y_DIR true
1827+
#define INVERT_X_DIR true
1828+
#define INVERT_Y_DIR false
18291829
#define INVERT_Z_DIR false
18301830
//#define INVERT_I_DIR false
18311831
//#define INVERT_J_DIR false
@@ -1868,7 +1868,7 @@
18681868

18691869
// Direction of endstops when homing; 1=MAX, -1=MIN
18701870
// :[-1,1]
1871-
#define X_HOME_DIR -1
1871+
#define X_HOME_DIR 1
18721872
#define Y_HOME_DIR -1
18731873
#define Z_HOME_DIR -1
18741874
//#define I_HOME_DIR -1
@@ -1896,16 +1896,16 @@
18961896
// @section geometry
18971897

18981898
// The size of the printable area
1899-
#define X_BED_SIZE 200
1900-
#define Y_BED_SIZE 200
1899+
#define X_BED_SIZE 125
1900+
#define Y_BED_SIZE 140
19011901

19021902
// Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions.
19031903
#define X_MIN_POS 0
19041904
#define Y_MIN_POS 0
19051905
#define Z_MIN_POS 0
19061906
#define X_MAX_POS X_BED_SIZE
19071907
#define Y_MAX_POS Y_BED_SIZE
1908-
#define Z_MAX_POS 200
1908+
#define Z_MAX_POS 100
19091909
//#define I_MIN_POS 0
19101910
//#define I_MAX_POS 50
19111911
//#define J_MIN_POS 0
@@ -1957,7 +1957,7 @@
19571957
#endif
19581958

19591959
#if ANY(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
1960-
//#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
1960+
#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
19611961
#endif
19621962

19631963
/**
@@ -2120,7 +2120,7 @@
21202120
//#define AUTO_BED_LEVELING_LINEAR
21212121
//#define AUTO_BED_LEVELING_BILINEAR
21222122
//#define AUTO_BED_LEVELING_UBL
2123-
//#define MESH_BED_LEVELING
2123+
#define MESH_BED_LEVELING
21242124

21252125
/**
21262126
* Commands to execute at the start of G29 probing,
@@ -2287,16 +2287,16 @@
22872287
* Add a bed leveling sub-menu for ABL or MBL.
22882288
* Include a guided procedure if manual probing is enabled.
22892289
*/
2290-
//#define LCD_BED_LEVELING
2290+
#define LCD_BED_LEVELING
22912291

22922292
#if ENABLED(LCD_BED_LEVELING)
22932293
#define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis.
22942294
#define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment
2295-
//#define MESH_EDIT_MENU // Add a menu to edit mesh points
2295+
#define MESH_EDIT_MENU // Add a menu to edit mesh points
22962296
#endif
22972297

22982298
// Add a menu item to move between bed corners for manual bed adjustment
2299-
//#define LCD_BED_TRAMMING
2299+
#define LCD_BED_TRAMMING
23002300

23012301
#if ENABLED(LCD_BED_TRAMMING)
23022302
#define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
@@ -2444,13 +2444,13 @@
24442444
* M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes)
24452445
* M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.)
24462446
*/
2447-
//#define EEPROM_SETTINGS // Persistent storage with M500 and M501
2447+
#define EEPROM_SETTINGS // Persistent storage with M500 and M501
24482448
//#define DISABLE_M503 // Saves ~2700 bytes of flash. Disable for release!
24492449
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save flash.
24502450
#define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
24512451
#if ENABLED(EEPROM_SETTINGS)
2452-
//#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
2453-
//#define EEPROM_INIT_NOW // Init EEPROM on first boot after a new build.
2452+
#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
2453+
#define EEPROM_INIT_NOW // Init EEPROM on first boot after a new build.
24542454
#endif
24552455

24562456
// @section host
@@ -2488,9 +2488,9 @@
24882488
#define PREHEAT_1_TEMP_CHAMBER 35
24892489
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
24902490

2491-
#define PREHEAT_2_LABEL "ABS"
2491+
#define PREHEAT_2_LABEL "PETG"
24922492
#define PREHEAT_2_TEMP_HOTEND 240
2493-
#define PREHEAT_2_TEMP_BED 110
2493+
#define PREHEAT_2_TEMP_BED 80
24942494
#define PREHEAT_2_TEMP_CHAMBER 35
24952495
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
24962496

@@ -2507,11 +2507,11 @@
25072507
* P1 Raise the nozzle always to Z-park height.
25082508
* P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
25092509
*/
2510-
//#define NOZZLE_PARK_FEATURE
2510+
#define NOZZLE_PARK_FEATURE
25112511

25122512
#if ENABLED(NOZZLE_PARK_FEATURE)
25132513
// Specify a park position as { X, Y, Z_raise }
2514-
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
2514+
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MIN_POS + 10), 20 }
25152515
#define NOZZLE_PARK_MOVE 0 // Park motion: 0 = XY Move, 1 = X Only, 2 = Y Only, 3 = X before Y, 4 = Y before X
25162516
#define NOZZLE_PARK_Z_RAISE_MIN 2 // (mm) Always raise Z by at least this distance
25172517
#define NOZZLE_PARK_XY_FEEDRATE 100 // (mm/s) X and Y axes feedrate (also used for delta Z axis)
@@ -2643,7 +2643,7 @@
26432643
*
26442644
* View the current statistics with M78.
26452645
*/
2646-
//#define PRINTCOUNTER
2646+
#define PRINTCOUNTER
26472647
#if ENABLED(PRINTCOUNTER)
26482648
#define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print. A value of 0 will save stats at end of print.
26492649
#endif
@@ -2689,7 +2689,7 @@
26892689
* SD Card support is disabled by default. If your controller has an SD slot,
26902690
* you must uncomment the following option or it won't work.
26912691
*/
2692-
//#define SDSUPPORT
2692+
#define SDSUPPORT
26932693

26942694
/**
26952695
* SD CARD: ENABLE CRC
@@ -2760,13 +2760,13 @@
27602760
// This option overrides the default number of encoder pulses needed to
27612761
// produce one step. Should be increased for high-resolution encoders.
27622762
//
2763-
//#define ENCODER_PULSES_PER_STEP 4
2763+
#define ENCODER_PULSES_PER_STEP 4
27642764

27652765
//
27662766
// Use this option to override the number of step signals required to
27672767
// move between next/prev menu items.
27682768
//
2769-
//#define ENCODER_STEPS_PER_MENU_ITEM 1
2769+
#define ENCODER_STEPS_PER_MENU_ITEM 1
27702770

27712771
/**
27722772
* Encoder Direction Options
@@ -2816,16 +2816,16 @@
28162816
//
28172817
// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu.
28182818
//
2819-
//#define INDIVIDUAL_AXIS_HOMING_MENU
2820-
//#define INDIVIDUAL_AXIS_HOMING_SUBMENU
2819+
#define INDIVIDUAL_AXIS_HOMING_MENU
2820+
#define INDIVIDUAL_AXIS_HOMING_SUBMENU
28212821

28222822
//
28232823
// SPEAKER/BUZZER
28242824
//
28252825
// If you have a speaker that can produce tones, enable it here.
28262826
// By default Marlin assumes you have a buzzer with a fixed frequency.
28272827
//
2828-
//#define SPEAKER
2828+
#define SPEAKER
28292829

28302830
//
28312831
// The duration and frequency for the UI feedback sound.
@@ -3051,7 +3051,7 @@
30513051
// MakerLab Mini Panel with graphic
30523052
// controller and SD support - https://reprap.org/wiki/Mini_panel
30533053
//
3054-
//#define MINIPANEL
3054+
#define MINIPANEL
30553055

30563056
//
30573057
// MaKr3d Makr-Panel with graphic controller and SD support.
@@ -3562,7 +3562,7 @@
35623562
* which is not as annoying as with the hardware PWM. On the other hand, if this frequency
35633563
* is too low, you should also increment SOFT_PWM_SCALE.
35643564
*/
3565-
//#define FAN_SOFT_PWM
3565+
#define FAN_SOFT_PWM
35663566

35673567
/**
35683568
* Incrementing this by 1 will double the software PWM frequency, affecting heaters, and

0 commit comments

Comments
 (0)