6
$\begingroup$

I want to hook up an Arduino to my Creality printer running Marlin firmware, such that I can have a few physical buttons mounted on the machine that will execute commands such as preheat, home, disable steppers, and so on, so that I don't have to navigate through the clunky LCD screen.

Ideally it would work in addition to the normal LCD and serial functionality, so it would not impede me from using Ultimaker Cura to print via USB, etc.

What is the best way to do this?

$\endgroup$
2
  • $\begingroup$ How many pins are still free on your Arduino Uno) $\endgroup$
    – Trish
    Commented Dec 21, 2018 at 15:36
  • $\begingroup$ All of them.... $\endgroup$
    – cds333
    Commented Dec 24, 2018 at 16:20

2 Answers 2

4
$\begingroup$

One option would be to have your printer controlled by an Octoprint server. You would then use the Octoprint Api plugin to use your arduino to send commands to octoprint - and from there, your printer. Octoprint has a fairly fully-featured rest api that allows you to send arbitrary GCODE to your printer (see here). You would then hook up your buttons to some code that sends the gcode commands to the printer when pressed. It's certainly not as simple as installing a plugin - you'll have to write some interface code, but it looks like those APIs should be able to do what you want, without interfering with the standard controls at all.

$\endgroup$
2
  • $\begingroup$ Thanks, I will definitely look into that ................................................................................................................................................... Would there be any way to do it without a raspberry pi? Like using the Arduino to send serial commands the same way we do with the serial console in the Arduino IDE? $\endgroup$
    – cds333
    Commented Dec 24, 2018 at 16:22
  • $\begingroup$ Yeah after looking into that I would not want to use octoprint. There are still way too many bugs. $\endgroup$
    – cds333
    Commented May 26, 2019 at 17:05
0
$\begingroup$

There's already Arduino inside the printer (to be precise: the printer board with spare pins). Im sure its possible to hook up a switch then change firmware to send G-codes; 1 pin per series of commands?

$\endgroup$
2
  • 1
    $\begingroup$ Are you sure, or are you asking? $\endgroup$
    – Davo
    Commented Jun 23, 2020 at 19:47
  • $\begingroup$ Where would you add the code? In which file(s)? $\endgroup$
    – Greenonline
    Commented Sep 5, 2021 at 17:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .