Custom Arduino MCU firmware

I posted about this over on Reddit and it was recommended that I posted here. Here is the reddit link to see some of the discussion that has already happened:

I tried reading the documentation and I couldn’t find a clear answer to what I’m trying to do. Basically, I have the need to control an Arduino with Klipper but I can’t just make it another MCU.

I need to send the Arduino basic information for it to use from Klipper. Let’s say the Arduino needs to know the temperature of the extruder and a start signal for a process. I need Klipper to send the current temperature and start signal to the Arduino via I2C, SPI, or UART.

The idea is to use the Arduino as a custom controller for standalone sub-processes. One recent process I have requires eight thermocouples and four heaters with cascading PID loops. In order to do this I need a custom circuit board with firmware written to handle the specific process.

This is just one example, I’ll actually need to transfer quite a few different variables to and from the Arduino. Some of these will be process variables and others will be custom-defined. Is this possible? Thanks!

There is no ability to do this in Klipper today, however it is possible you could write code to implement it.

If you’ve hooked up the arduino to the host computer then you can write a program that uses Klipper’s API server ( API server - Klipper documentation ) to extract the desired information and send it to the arduino.

If you want to connect the arduino to a micro-controller running Klipper then you would need to implement Klipper code to do what you want - start at: Overview - Klipper documentation .

-Kevin

Thanks for letting m know Mr. O’Conner, I’ll brush up on my python coding. You’ve done an awesome job with Klipper and I’m very excited to see what you come up with in the future!