Thursday, September 11, 2014

Package Based Install

Alexander Rössler has put together a page showing how to create a Machinekit image for the BeagleBone based on Debian Packages.

The current packages still require absolute paths to the PRU code in your configuration files (sadly, a different path than is needed for the previous run-in-place builds).  I hope to have enough time to address that soon by embedding the PRU code directly into the HAL driver. This will also prevent any possible confusion caused by the HAL and PRU code versions not matching (which I can confirm is a nasty issue to track down if you're not looking for it!).

Package installs also make it much easier to update both Machinekit and the kernel, both of which are "difficult" to update on all of my currently available images.

If you feel up to the task, I strongly suggest switching to a package based install.  It should make it much easier to track ongoing progress with both Machinekit and newer kernels.

Saturday, August 9, 2014

Unexpected Help

While I haven't been doing a lot with Machinekit and the BeagleBone lately ("real" work, kids home from school all summer, family vacation, etc.), the beauty of open source is that anyone who wants to can help.  Out of the blue on Friday, I got emails from github with pull requests for two of my projects:

malcom2073 added details for the PMDX-432 board to my pinmux spreadsheet for the beaglebone

jstampfl added the missing cape-univ-hdmi I've been meaning to write to beaglebone-universal-io

A BIG THANKS to both of you for the help!  I'd also like to encourage anyone else thinking about making a change to an open source project (big or small) to go ahead and do it.  It's a great feeling to help out others, and it lets the owners of the project know people are interested and using the code.

Along those lines, even (especially) if you don't need to change anything but there's a project you're using that "just works", send a quick note of appreciation to the mailing list.  Most first posts are from folks having some sort of problem, so it's always refreshing to get thanks from someone who doesn't need anything else.  Knowing your code is being used and helping others is the sort of feedback that keeps developers happily volunteering their time to write and improve open-source code for everyone to use!

Wednesday, August 6, 2014

New Toy!

OK, "toy" might not be the right word (it's really a powerful tool), but it's just so much fun to play with!  :)

UPS delivered a new controller box for my Probotix Fireball Comet CNC router yesterday.  Unlike the PC version that came with the Comet, this one has a BeagleBone inside and will run stand-alone!

The PC configuration for the Comet is a great example of things you can do with HAL.  The Y axis gantry is is controlled by a single step/dir generator using some HAL logic to split the drive pulses into signals for two separate stepper motors with two independent home switches.  But this approach only works with software stepgen, so something else is needed for "outboard" stepgen that is not directly part of HAL (ie: hm2 drivers and the BeagleBone PRU driver).

I have written a gantry HAL component that mimics the behavior of the Probotix HAL file but works with outboard step generation and up to a seven joint gantry axis.  Testing this with a three-joint gantry axis (my linear-delta 3D printer, temporarily re-purposed as a test-bed) was a lot of fun, but I really look forward to getting this working with real hardware and making some chips.  Look for some example configurations using the gantry HAL component in the near future!

NOTE: In addition to working with standard gantry routers (Fireball, Shapeoko, etc), the gantry component will also work well for other multi-motor axis (like the two-motor Z axis found on many Mendel-style 3D printers) as long as each joint (motor) has it's own home switch.

Thursday, June 19, 2014

The Great Midwestern CNC Road Trip

What started as a simple plan to head up to Madison, WI for the first Machinekit meetup has grown into an epic road trip.

First I'll head off to St. Louis, MO to meet with Jon Elson of Pico Systems.  Jon and the Pico Systems folks will be building and selling assembled CRAMPS boards, which will hopefully be available for sale in the next couple weeks.

Then it's off to Peoria, IL and Probotix, makers of the excellent Fireball series of CNC routers (powerd by LinuxCNC).  They also sell a BeagleBone breakout board available, and I look forward to seeing what other projects are being cooked up in the R&D lab!

Chicago is the final stop before Madison, where I'll be attending a special meeting of the CNC build club to discus running Machinekit on a BeagleBone, the CRAMPS cape I designed, and where Machinekit is headed.

I should finally make it to the Tormach facility in Madison sometime Friday, where I look forward to an exciting weekend of discussions with everyone else who can make it.  A preliminary agenda was posted to the Machinekit list.  While the event is mostly informal, there are a few talks planned.  We will try to live-stream the video (or at least record something and post it online later) for those who cannot attend in person.  Monitor the list for updates or changes.

Wednesday, June 18, 2014

Packages (not tied up with strings)

If you don't monitor the Machinekit group (you should), over the weekend John Morris announced the availability of binary packages for Machinekit and it's required dependencies (at least the ones that are not already in the Debian archives).

If you're trying to build a minimal system (particularly helpful on the BealgeBone with it's limited eMMC rootfs), this is welcome news indeed!

I will be updating my build scripts and the resulting images to use the pre-built packages soon, meaning you'll be able to simply "apt-get update" and "apt-get upgrade" to get the latest official Machinekit release.  Until then, feel free to add the pre-built packages to your existing install, the run-in-place development version and the installed packages should work side-by-side and should not interfere with each other.  Instructions can be found at the package repository website.

If you run into any problems, let us know on the Machinekit list.

Thursday, June 5, 2014

CRAMPS Kits Available!

I am pleased to announce that I have a limited number of CRAMPS V2.1 DIY Kits available for sale.  This includes a PCB and all the parts required to build a functioning board.  Assembly details are on the RepRap wiki, and the design files are on github.  Please review the known issues, and be sure that you are comfortable soldering 0603 surface-mount chip components prior to ordering a kit.

I apologize in advance for the somewhat clunky shopping cart, but it is the best open-source solution I could find that dynamically calculates shipping rates based on destination (which is required, since the rates for international package shipments vary dramatically).  Yes, you will have to create yet another web account you will likely never use again, but it keeps me from having to charge everyone some obscene amount like $25 for shipping.

I currently have about 20 kits available, and I do not expect to make any more (it is a LOT of work!), so act quickly if you want one.  Also, I am doing this to help with the adoption of the CRAMPS design, so there is a one-kit-per-person limit.

Wednesday, May 21, 2014

Updated Machinekit Images

After receiving a BeagleBone RevC with 4GB on-board eMMC, I noticed the latest images have grown to the point they are essentially unusable on a 4GB device.

I have updated the Machinekit images to exclude the previously required documentation build dependencies, which saves over 1GB of space on the images!  There is still a lot more room to be recovered once ARM binary packages become available, but for now the space savings means you can comfortably run Machinekit on a 4GB uSD card or the built-in 4GB eMMC on a RevC 'Bone.