Skip to content

Add: Mightyboard rev G and H (Makerbot replicator 2 and 2X and clones) #28089

Merged
thinkyhead merged 47 commits into
MarlinFirmware:bugfix-2.1.xfrom
chepo92:mightyboard-rev-G-H-PR
Mar 16, 2026
Merged

Add: Mightyboard rev G and H (Makerbot replicator 2 and 2X and clones) #28089
thinkyhead merged 47 commits into
MarlinFirmware:bugfix-2.1.xfrom
chepo92:mightyboard-rev-G-H-PR

Conversation

@chepo92
Copy link
Copy Markdown
Contributor

@chepo92 chepo92 commented Oct 2, 2025

Description

Adds the Mightyboard rev G and H, aka Mighty Two or 2X, adding support to Makerbot replicator 2 and 2X and clones printers

Requirements

Requires a Config for these boards provided below

Benefits

adds support to Makerbot replicator 2 and 2X and clones printers

Configurations

MIGHTYBOARD_REVG_[WIP]_Chepo92.zip

Related Issues

Credits

https://github.com/Sgail7/Replicator-Revival-Project

@ellensp
Copy link
Copy Markdown
Contributor

ellensp commented Oct 2, 2025

If it only has 2 endstops for X and Y

// #define X_MIN_PIN                             30  // C7
#define X_MAX_PIN                             30  // C7
// #define Y_MIN_PIN                             31  // C6
#define Y_MAX_PIN                             31  // C6

use

#define X_STOP_PIN                             30  // C7
#define Y_STOP_PIN                             31  // C6

then if your homing to min or max it will use the STOP pin

@ellensp
Copy link
Copy Markdown
Contributor

ellensp commented Oct 2, 2025

The pins.h motherboard order and boards.h motherboard order must match for consistency.

@ellensp
Copy link
Copy Markdown
Contributor

ellensp commented Oct 3, 2025

"Error: Pins files are not formatted correctly. Run "make format-pins" to fix."

Pins files are checked for consistent formatting and trailing spaces, run the make command above to format it as required.

I've done it for you

@ellensp
Copy link
Copy Markdown
Contributor

ellensp commented Oct 3, 2025

now the pins file only has one Z endstop (when I looked last there was a min and a max)
If there is only the one Z endstop use Z_STOP_PIN so marlin can use it for min or max as required

@chepo92
Copy link
Copy Markdown
Contributor Author

chepo92 commented Oct 3, 2025

"Error: Pins files are not formatted correctly. Run "make format-pins" to fix."

Pins files are checked for consistent formatting and trailing spaces, run the make command above to format it as required.

I've done it for you

Thanks for the formating, I was struggling to get it right
How can I run those make comands ?
If I run in the terminal make format-pins in the marlin root i get

File not found *.h
make: Nothing to be done for 'format-pins'.

and if I run it in Marlin\Marlin\src\pins\mega> make format-pins
make: *** No rule to make target 'format-pins'. Stop.

note: I'm using windows 10, should i run it in a docker linux container?

@ellensp
Copy link
Copy Markdown
Contributor

ellensp commented Oct 3, 2025

the Makefile does have linux specific sections and format-pins is one of them, it uses linux command "find"

docker or Windows Subsystem for Linux (WSL) should work.

The Makefile should probably be updated to be windows compatible, at least for format-pins

@ellensp
Copy link
Copy Markdown
Contributor

ellensp commented Oct 4, 2025

I've added a pr add an update the Makefile so that "make format-pins" also works under windows.
See #28094 for details

@chepo92 chepo92 marked this pull request as ready for review November 24, 2025 16:40
@chepo92
Copy link
Copy Markdown
Contributor Author

chepo92 commented Nov 24, 2025

I detected that the Left/right buttons don't work as I expect, they should go back or enter in the menus but what they actually do is up/down, how can that be corrected? As far as I read and understand, I used HAS_ENCODER_ACTION, but I think I need a similar behaviour to have defined the ZONESTAR_LCD: it defines IS_RRW_KEYPAD, but then requires HAS_ADC_BUTTONS but this board HAS_DIGITAL_BUTTONS, should a new combination be added there?

should a more generic define be used? (like HAS_DIRECTIONAL_KEYPAD), and then define different hw cases and behaviour (IS_RRW_KEYPAD, HAS_ADC_BUTTONS, HAS_DIGITAL_BUTTONS, etc)

@thinkyhead
Copy link
Copy Markdown
Member

I went ahead and optimized this a bit in a way that is generally only possible with code that lives within the project. Since the pins will not be changing at runtime we can use fixed pin numbers and FastIO for a savings of 202 bytes in code and 4 bytes of RAM.

@thinkyhead thinkyhead force-pushed the mightyboard-rev-G-H-PR branch from 69ec310 to 583545f Compare March 15, 2026 23:44
thinkyhead added a commit to MarlinFirmware/Configurations that referenced this pull request Mar 15, 2026
@thinkyhead thinkyhead merged commit 76283bf into MarlinFirmware:bugfix-2.1.x Mar 16, 2026
69 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants