[Fab] Bealgebone Black PRU as stepper control

Henner Zeller h.zeller at acm.org
Mon Jan 27 23:13:14 UTC 2014

Some hack in progress someone might be interested in.

Over the holidays I was playing with the Beaglebone Black PRU
('programmable realtime unit') to see if it can be utilized to generate
precisely timed step frequencies for stepper motors. It looked promising,
so I added a G-Code interpreter.

This can control 8 stepmotors in parallel in a controlled move. Up to 1Mhz
step frequency (if you find motors/drivers that can do that :) ), and full
acceleration/deceleration profile for each line-segment generated by the
PRU, so the host-CPU uses less than 1% CPU idling around and parsing G-code.

Fast forward 4 weekends, this now is close to be useful, so I connected the
regular RAMPS driver to my beaglebone:


This can't run the full 3D printer yet: missing is heating control (sensor,
PID and PWM) and optimized planning to not entirely decelerate at each
Nice to work with, as you can just telnet into it and talk G-Code with it.
My goal at this point is to make it fully replace the 3D printer arduino
based hardware and have all software (e.g. OctoPrint, maybe even a slicer)
run on the Beaglebone to have one compact network connected 3D printer
without the trouble of too slow serial lines and with less expensive

work in progress: https://github.com/hzeller/beagleg

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.noisebridge.net/pipermail/fab/attachments/20140127/4d75ba3a/attachment.html>

More information about the Fab mailing list