I was wondering if it would be possible to connect an Ender 3 through Serial Port to an Arduino (Uno, Mega, Nano, idc) so that I can fetch stepper values from the printer and use them with the controller. Any advice? I'm open to collaborate in developing protocols that accomplish this task, but have found nothing online.
yes that is definitely possible!
You can find the pinout and f.e. how to flash a bootloader and custom firmware here:
The marlin firmware (almost every printer uses) is open source and you can read the documentation how to interact, read or remote control the Ender.
You can also remote-control the printer by the USB port. Before installing a bootloader, you cannot flash it via USB, but controlling it via serial is possible.
My Beagleprint camera does it like that, even without bootloader or custom firmware.
Hi! Thank you for your reply. I gave the post a read, but sadly I cannot tell if I can then use the Arduino as a serial "listener", so to speak, or retrieve XYZ position directly from the printer through serial if the Arduino sends a query every, say, 10 miliseconds.
There are gcode commands to get the current position, but a 10mS interval might not be possible without interfering with the actual printing. Better option might be to modify Marlin to send binary data instead of ASCII characters, using a secondary serial interface so it does not interfere with the normal control interface.