Klipper on ODROID-N2/C4

Running Klipper full software stack on ODROID-N2/C4

Similar projects worth following
This project is to run Klipper firmware stack on ODROID-N2/C4 natively with other software such as OctoPrint or Mainsail/Fluidd without addition montion control board, but controls steppers, cooling fans and tools using the GPIO pins on ODROID-N2/C4. Due to lack of GPIO pins avable on the board, the feasible features would be limited compare to commercial motion control boards but the goal of this project is to see the possiblity to build an "ALL-IN-ONE" system using ARM64 SBC.

I've been using CR-10 about two years and had replaced the controller board 3 times. The latest board with my CR-10 is SKR 1.3 and it runs with OctoPrint on ODROID-N2 instead of RPi, this is quite enough set up for my purpose since I do not run many plugins and Klipper works gratefully well. Sometimes the bottle-neck issue is sometime discovered but it was not serious and virtual SD card features was not necessary for my set up.

Regardless my usage of my 3D printer, I wondered if ODROID-N2 can operate 3D printer directly without additional montion control board and also found that the Klipper can be compiled its "mcu" firmware for Linux system. So I started to dig into the Klipper code to run on Debian and had changed a bit of code to debug and control GPIO and ADC to run a stepper motor...and it runs.

Initially I've tested this with RAMPS 1.6+ with TMC 2130 and TMC 2209, they perfectly work with my another printer End-3 Pro. For this, One bread board has to be in between ODROID-N2 and RAMPS 1.6 in order to connect the signals.

Then later due to the size and its complexity to manage the boards, I've decided to design a PCB that can be mounted to ODROID-N2 directly as well as ODROID-C4. Probably ODROID-N2 with six cores would be a overkill, but trying this SBC first since my goal is to run all necessary softwares on it. Maybe running web server on the same machine could cause a failure or affects the print I will see...

So board is look like when attached to ODROID-N2 and ODROID-C4.

I've not successfully printed with the boards yet since a couple FET I've ordered are not delivered yet. The first print using RAMPS 1.6+ on top of ODROID-N2 was not bad. This is printed with the stock Ender 3 Pro (nothing customized) at 50mm/s with 0.4 nozzle and 0.2 layer. Even it could run faster as much as 100mm/s but quailty was not like this.

This is the video that prints the Benchy.

So...this is my weekend project at home after the progress would be slow but it would be fun. :)

  • Ender-3 has ODROID-C4

    Dongjin Kim03/17/2021 at 16:22 0 comments

    Finally, ODROID-C4 and 3D Printer Shiled board are installed to the bottom of the Ender-3 and finished wiring...

  • Klipper OS image for ODROID-C4

    Dongjin Kim02/17/2021 at 10:43 0 comments

    After struggling to install the software modules to run Mainsail with Klipper on ODROID-C4, I've realize that it's not that easy while Raspberry Pi provide already the ready-to-run image. So I've build the image that also provide Klipper/Moonraker/Mainsail as well as KlipperScreen by default so one can flash the image to SD or eMMC and configure the printer configuration in /etc/klippy_config/printer.cfg which is mandatory whatever OS or mainboard is selected to run. Also Klipper MCU firmware must be installed to a control board, but not necessary to build it by oneself since firmwares for popular boards are already installed in /usr/share/klipper/firmwares.

    So this is how it works with the image.

  • Klipper driven ODROID-C4

    Dongjin Kim01/28/2021 at 08:24 0 comments

    I've finally soldered a couple of components that were missing and attached the control board to ODROID-C4. 4 steppers and BLTouch are running and the print quality is not that bad.

    Sliced by Cura at 50mm/s and printed at x300 feeding rate.

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates