BOM and instructions related to using and installing this model to your printer are a bit buried, scroll down a bit if you just want to get to that.
15/09/2023: Check out my BTT U2C v2.1 enclosure for the Ender 3: https://www.printables.com/model/578668-ender-3-btt-u2c-v21-enclosuremount
27/06/2023: Added a 6 mm tall “slim” version - same as the original version, just 6 mm thinner. Adding linear rails to the Y axis reduces the clearance even further, so I had to make it thinner in order for the Y carriage to clear the assembly. The wiring is a bit tight, I would recommend going with the original version unless you absolutely need those extra 6 mm of clearance like I did.
04/06/2023: Completely unrelated to the model, but in the interest of saving you time and a lot of frustration: DON'T use the OS images provided by MKS. I spent days trying to get everything to work properly, and -simply put- they are a disaster.
Instead, download an Arbmian OS image from here:
https://github.com/redrathnure/armbian-mkspi
And follow these instructions to get you up and running:
A note about using the eMMC module:
The module comes pre-flashed with one of the aforementioned images that MKS provides in their Google Drive folder. You can go ahead and use the Pi with the image supplied in the eMMCas is and if after using it for a while and if you see nothing wrong with using it as is, then great! You've just saved yourself a lot of trouble.
For anyone else, I must warn you that if you want to flash any image to the eMMC, you will need a computer that's running Linux, at least in my experience.
Windows will falsely detect the module as a 2 TB removable drive and that will cause any attempt to flash a bootable image with either balena etcher or Rufus (or most other “burn image to create a bootable USB program” programs that I tried in desperation) to the module to fail.
Also, the eMMC module won't work unless your computer has a SD card reader built-in. Using the included micro SD adapter + a micro SD to SD card adapter + a USB SD card reader won't work in my experience. There was also a review or two on Aliexpress claiming the same thing, so I believe it could be more widespread rather than just a skill issue on my part.
Using balena etcher on Linux, the correct size should be detected (approx. 8 GB) and the subsequent flash should be successful. You can then proceed with the rest of the instructions on setting up Klipper.
Connecting to the Pi via Ethernet:
Connecting to the Pi via USB/Serial:
Continuing with the install:
Adding support for the ADXL345 (SPI):
As per Klipper's documentation (https://www.klipper3d.org/Measuring_Resonances.html & https://www.klipper3d.org/RPi_microcontroller.html?h=rpi#rpi-microcontroller), we'll have to run a few commands to install and set up a few things in order to be able to use our ADXL345 accelerometer via the Pi's SPI interface.
sudo apt update
sudo apt install python3-numpy python3-matplotlib libatlas-base-devThis just installs a Python library that we'll be using later on.
~/klippy-env/bin/pip install -v numpyThis will install NumPy in the Klipper enviroment.
cd ~/klipper/
sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
sudo systemctl enable klipper-mcu.serviceThese commands will allow us to use the pins necessary to connect the ADXL345 to the Pi. While you're still at the Klipper directory, you'll also have to run the following command:
make menuconfigOnce that grey window pops up, all you have to do is navigate to “Micro-Controller Architecture” and then select “Linux Process”. Then you can exit the window and save all changes made.
Finally, run the following set of commands:
sudo service klipper stop
make flash
sudo service klipper startAll that's left to do is add the following lines to your printer.cfg file:
[mcu rpi]
serial: /tmp/klipper_host_mcu
[adxl345]
cs_pin: rpi:None
spi_bus: spidev0.2You should then be able to start measuring resonances for your X and Y axis by following the relevant instructions in Klipper's documentation: https://www.klipper3d.org/Measuring_Resonances.html#measuring-the-resonances_1
Setting a custom hostname for your Pi:
sudo apt-get install avahi-daemon25/05/2023: Added some photos to illustrate how I have the main board and the Pi connected via UART + the ADXL345 accelerometer to the Pi, for your reference.
A very simple mount for the MKS Pi designed for my 2018 Ender 3 that has been retrofitted with an SKR Mini E3 v3.
It's essentially a large spacer that goes between the top cover and the rest of the electronics enclosure. Using a few M3 threaded inserts and a couple of M3 bolts, the MKS Pi mounts on the bottom of the top cover, which is then bolted onto the printer same as before.
In my case, the MKS Pi is directly powered from the printer's PSU 24V rail and is then connected via UART to the main board.
Bill of Materials (BOM):
Assembly:
Test that there is no interference between the Y-axis and the enclosure before turning on the printer by moving the Y-axis through its full motion range by hand.
I would also recommend that you clean up your wiring before proceeding with this modification to your printer and that you double-check that there is no interference between your main board and the MCU that you are installing. There shouldn't be any exposed metallic parts (e.g. the housing of the Ethernet or USB ports) touching ANY part of your printer's main board. The design leaves plenty of room between the two boards, but it never hurts to look at things for a second time.
This hasn't been tested with any other main board/MCU combination - in any case, apply some common sense and use at your own risk.
Thermals:
If anything blows up on my printer, I'll be sure add an update :)
Limitations:
.step file also included for anyone interested.
The author marked this model as their own original creation.