Turning The Beaglebone On A Chip Into A 3D Printer Controller

It’s understood that 3D printers and CNC machines need to control motors, but there are a few other niceties that are always good to have. It would be great if the controller board ran Linux, had support for a nice display, and had some sort of networking. The usual way of going about this is either driving a CNC machine from a desktop, or by adding a Raspberry Pi to a 3D printer.

The best solution to this problem is to just drive everything from a BeagleBone. This will give you Linux, and with a few motor drivers you can have access to the fancy PRUs in the BeagleBone giving you fast precise control. For the last few years, the Replicape has been the board you need to plug a BeagleBone into a few motors. Now, there’s a better, cheaper solution. At the Midwest RepRap Festival this weekend, [Elias Bakken] has unveiled the Revolve, a single board that combines Octavo Systems’ OSD3358 ‘BeagleBone On A Chip’ with silent TMC2130 motor drivers from Trinamic. It’s an all-in-one 3D printer controller board that runs Linux.

The specs for the Revolve are more or less exactly what you would expect for a BeagleBone with a 3D printer controller. The main chip is the Octavo Systems OSB3358, there are six TMC2130 stepper drivers from Trinamic connected directly to the PRUs, 4 GB of eMMC, 4 USB host ports, 10/100 Ethernet, 1080p HDMI out, and enough headers for all the weird and wonderful 3D printers out there. The software is based on Redeem, a daemon that simply turns G-code into spinning motors and switching MOSFETs.

The price hasn’t been set, but [Elias] expects it to be somewhere north of $100, and a bit south of $150. That’s not bad for a board that effectively does everything from online printer monitoring to real-time motion control. There’s no date for the release of this board, but as with most things involving 3D printer, the best place to check for updates is Google+.

50 thoughts on “Turning The Beaglebone On A Chip Into A 3D Printer Controller

        1. I typically consider “bloat” to be a software trait, not a hardware trait. Hardware can be left unused (and be “overkill”), but I think this has a lot of potential.

          I normally don’t go for “built-in” computers on individual devices, but in this case the device is meant to run for hours on end and I don’t want to “need” a full-size (or other) computer running the whole time, so the *nix ability is nice. And I see a lot of potential here, easily worthy of this “technical forum”! In fact, lets expand on this a bit (after the examples paragraph comes the point)

          So sure, for the average printer who wants to just spit out some prints, other solutions are better, especially if being mass-produced. But if I want to screw around with interesting new ideas? This would be the board for me. Mixing four different filaments (say, R, G, B, W) into a common melt tank before pumping them out through the nozzle? Never been done (to my knowledge), but that requires 4-5 motors right off the bat in addition to whatever weirdness I’m doing with the actual nozzle positioning, and I expect that the BB would be an excellent platform for that. Want your printer to ring a bell when it’s done? Here ya go. Want to make a technical demonstrator for small children curious about 3D printing, or investors unsure if your fancy new algorithm can cut the metaphorical mustard? Here you go, drive a decently-sized screen with some simple graphics showing movements in real time while they watch you build a model with x new and interesting property in meatspace, live. Want buttery-smooth acceleration and absurd timing control because you decided that you want to alter the arrangement of electric/magnetic-field-sensitive components within the melt as you print it?

          I look at this and I don’t see bloat, I see possibility. Sure, if a big manufacturer takes it up they’ll probably just use the capabilities to show ads on the attached display while the print is running. But someone who loves and contributes to this site? They’ll probably have something really interesting and really cool to try which needs a few more channels and really tight timing control to make it work, or they’ll just enjoy the rapid iteration that comes with a standardized setup and a lot of capability – like any dev board. And they’ll be able to wire stepper motors without blowing controller boards (or be happy to accept the risk) because they’ve got an integrated and replicable controller board.

          But man, if I had the free time? Kick off a print from my laptop to whatever unholy monstrosity I’ve cobbled together, suspend the laptop (no sense in wasting energy!) and go make breakfast. Come back and see if it’s broken. Iterate, repeat, then spend some time playing with my directionally-magnetized print (or whatever I’ve come up with). This is way more fun than the basic capabilities-shrink-wrapped-about-the-requirements solution, and the standardization (read: upgradeability, modifiability) makes me very happy.

          I would brag about this if I made a board like this.

        2. Bloated maybe, but the Octavo SoM is a cool choice for this because of its PRUs which the article says are running the stepper drivers. They’re onboard ~200Mhz realtime cores which are designed for these precise timing applications, so it’s not really that different from hooking a computer up to an ARM Cortex-M-based controller board like I think you see on the Monoprice Mini Delta.

          I think it’s elegant.

    1. You have 6 problems that can not easily be replaced with crazy high risk of total failure that demand to stop your machine for unacceptable amount of time to.be replaced. This is even not acceptable for hobbyist and/or home devices.

      1. True, but if you don’t have a lot of experience… you can kill stepper drivers, accidents which can kill them happen to people who know the issues.

        I’ve seen it often enough (and done it sometimes.) My latest (that surprisingly didn’t, as it usually does, but I replaced it anyway) was a cord on a not-yet complete telescope controller, which got wrapped around where I didn’t expect it to, and pulled lose. Prior to that it has probably been years since I killed one.

    2. Those are not meant to be replaced …
      The only missing part ( maybe it’s on the board and there no mention of it ) would be the adjustable current feedback for the drivers like they do on the rambo board

      1. That feature is built into the driver chips used on this board. It’s the same drivers as the RAMBo Einsy. I didn’t see anything that says this feature is turned on in the firmware though, but even if it isn’t, it’s hopefully just a matter of time before that’s programmed in.

    3. If your concern is future proofing the board, then that is legitimate. It’s impossible to know if there will be a new driver that can be a slot-in replacement in the near future. If that happens, we can make an updated version that is a drop-in replacement of the whole board. 6 stepper drivers will likely run you some $60, so then we are already half way to an entirely new board.
      However, if you are more concerned with the drivers burning out, that is less of a problem. There have been very few, if any returns of Replicape due to burnt out drivers. The Trinamic drivers are very well protected (over current, over temperature, pre-over-temp alarm, open loop detection etc). I’ll talk to Seeed about what we can do with returns on burnt out steppers. I’ve been very liberal about return on Replicape, but that might not scale so well with higher volumes and lower margins.

      1. So a couple questions:
        Why are the TMC2130s mounted on the top of the board, instead of the bottom with a via’d heat sink pad?
        24V support?
        On the inductive sensor input, does supply >=6V to the sensor?
        What’s the rating for the “4 high power heater outputs”?

    1. Duet is the most powerful 3dp platform and firmware available right now. It’s also one of the more expensive boards but I think it’s well worth it if you can swing it.

      This Revolve looks pretty good but it might be a year before you see it.

  1. Don’t run motors without proper isolation from digital systems. Also don’t integrate the cpu and the power stage on the same board, if something fails in the power stage (ex short circuit, over driver etc.) it’s hard to repair.

      1. The Pocket is great, but it’s I/O-constrained. You certainly could (and should!) make a motion-control cape for it, but I don’t think you have enough pins to do everything the board in the article does.

  2. I’d be interested in this as an upgrade for the controller in my Wanhao i3, but I have a couple of BBBs and a pile of driver modules so it seems kind of a waste. Does anyone know of a cape that’s supported by Redeem that’s under three figures and takes pluggable stepper drivers?

    1. I looked at the Acorn controller and totally drooled over the hardware specs, but I couldn’t find the schematic, pinout, or software details. Is it only available with the Centroid software? Is there a LinuxCNC HAL setup for it?

  3. I wanna know if the Stepper Drivers are controlled by the PRU’s?? That there is where this thing will really kick ass. That being said, the criticisms I have read so far are somewhat justified. The stepper drivers need to be socketed somehow, there needs to be better isolation between CPU and drivers, power supply, etc…

      1. TFA? Don’t need to be rude about it, I simply missed it while scanning the article. That being said, given that they are connected to the PRU’s then this board is going to have some SERIOUS power CNC feature wise, acceleration control is the first big one that comes to mind.

    1. Sockets only add failure points and do not provide any isolation – which is not necessary anyway in a properly designed board. And proper drivers – like the Trinamics – have internal protection.

  4. I really like these board ideas. Replicate is a great idea but I know it has it’s issues. Well, this looks eerily similar to the BBP 1S. Looking forward to owning this board and use it as well, not like the BBP 1S sitting in my closet (it’s developer terminated further development and shutdown it’s site, however limited github resources are available)

    1. I thought the BBP was a good bit of hardware, but there was a bit of a communications gap with the guy that developed it and folks in the United States. We struggled to get a well-supported set of firmware/software for the board, despite the similarities to Replicape, mostly due to this communication gap. Eventually, the BBP should have some reasonable firmware/software, but the community around it never solidified. Some key differences with Revolve over BBP:
      * Elias and Replicape community have worked on firmware/software for years to clean up the experience and already has critical mass
      * Revolve already has a good lead on inclusion in production 3D printers to help iron out any quirks
      * this will be an official BeagleBoard Compatible board with BeagleBoard.org image support to try to keep things in-line with support the BeagleBoard.org community expects
      * based on the OSD3358 SIP which makes for much easier to have viable community modifications/forks

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.