Beaglebone Black 4 Axis CNC Controller

Quick little post showing off my new enclosure for my CNC controller. I am using this on a four cable drawbot that I turned into a really really terrible player piano (more of a player pianee really).

Modules are a Beaglebone Black, a PBX-BB breakout board (which works but I would not recommend, the documentation and support are terrible), I built a custom breakout on protoboard that hooks up four 8825 pololu steppers to the outputs of the PBX-BB (connections are just step direction, enable, and ground so its pretty straight forward).

Screen is a SainSmart 7 Inch TFT Touch Screen which I have not tried to get the touch working yet. Its really cheaply put together and doesn’t come with a frame or anything to hold the guts in place but I literally paid 45 bucks with free shipping off amazon for it so you get what you pay for. I laser cut a frame out of plastic to squeeze the bits together and cut a hole in the enclosure for the screen.

Whole thing is running machine kit which is a custom version of linuxCNC for the beaglebone, uses the BB’s PRU (programable realtime unit) to handle the stepper steps without jitter. I am a fan, but it is painful to get running. The nice part though is they have precompiled images, just flash to an SD boot and you at least have a running dev environment and only have to configure your HAL and INI files.
Link to os:

I like linuxCNC for its stability (my machine at the science centre in Calgary has been running for 9 hours a day 7 days a week for the last 3 years). But its painful to set up, you get to write fun commands like “net emcmot.00.enable => bb_gpio.p8.out-12” which connects the enable signal to pin 12 of port 8 on the beaglebone, which is also known as pin 112 in the HAL bb GPIO section, pin 78 in the PRU GPIO, or 46 in the kernal GPIO. Like I am not kidding, there is literally a spreadsheet for this so you can keep track of which numbering system to use when. beaglebone-black-pinmux/pinmux.ods at hal_pru_generic · cdsteinkuehler/beaglebone-black-pinmux · GitHub

Video of the machine in action:

9 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.