Customized MPCNC Controller

While there’s a large number of 3D-printable enclosures for the MPCNC (and Rambo boards specifically), I wanted to build something a little more durable and portable than simply a printed enclosure. I also opted to use a 37-pin D-Sub style connector to allow the controller to move between different machines in the future. The STLs for this project are available on Thingiverse if you’d like to build your own.


The base of the enclosure is a 4-11/16” square, welded electrical box. Note that you need a 4-11/16”, not a standard 4” or your Rambo 1.4 board won’t fit. I’m a box similar to this one, which despite being listed for purchase by the case only, can be bought individually at any Home Depot store.

Rambo 1.4 Modifications

The Rambo 1.4 board comes with a 90° terminal block for the board’s power connectors. Unfortunately that makes the board just slightly too wide for the electrical box. To mitigate this, I de-soldered the existing 90° terminal block, and replaced it with a vertical one allowing the power connector to plug directly into the top of the board. Obviously, it goes without saying that this is a risky modification and if you brick your board attempting to do this I’m not responsible. Another option here would be to simply wire directly to the board, bypassing the terminal block connector altogether. If I were to do this again, I’d perhaps follow that path to avoid clearance issues between the terminal block connector and the ribbon cables for the LCD.

Printed Parts

Rambo Bracket

Due to the raised ground lug inside the box, the board needs to be mounted far enough away from the back of the box to avoid contacting the ground lug. This is achieved primarily with a 3D printed spacer that mounts on 3 of the 4 mounting points of the Rambo board. This spacer contains cavities for nuts to facilitate mounting the bracket to the back of the box, as well as the Rambo to the front of the bracket.


A total of seven 3D printed spacers are used for the Rambo board sub-assembly. Four of these are placed between the 3D printed Rambo bracket and the back of the electrical box, while the other three are used to slightly elevate the Rambo 1.4 board off of the 3D printed bracket.

Additionally, eight 3D printed spacers are used for the LCD sub-assembly. Four of these are placed between the two PCBs of the LCD screen itself (to prevent bending and shorting of the PCB during assembly), and another four are used to space the LCD away from the front cover to provide clearance for the LCD screen’s buzzer and manage the height that the rotary encoder protrudes from the front of the controller box.


The most time-consuming task of this whole project was wiring the D-Sub connector and testing that wiring. I’m using a 37 position D-Sub connector on the back of the box to facilitate the connection to the MPCNC. To simplify things on the control box side, I opted for a connector with ribbon cable termination. This eliminates the need for any soldering in the wiring harness of the control box. Of the 37 positions, 36 are used. All end stops and motor outputs are mapped to the connector to provide flexibility both now and in the future. Something like this DB-37 breakout board makes the process of testing this wiring harness so much easier. You certainly don’t want to wire the whole thing, then find out you have polarity reversed on one of your steppers. The other end of the ribbon cable is terminated to 3-pin and 4-pin Dupont-style crimp connectors to plug into the end stop and stepper ports of the Rambo. 3-pin connectors are used for the 2-pin end stops to ensure the correct pins are used.

Front & Back Panels

The front and back panels are machined (by the MPCNC) out of 1/8” black acrylic. The back panel contains a cutout for the 37-pin D-Sub connector, and a barrel jack connector for power. The front panel contains a cutout for the LCD screen (and rotary encoder), as well as an SD Card extender.