We maintain a complete Angstrom distribution for the BeagleBone Black that has all the necessary software to use it for 3D-printing. It's a basic Systemd image with Linux kernel 3.14 and the PVR SGX OpenGL ES 2 drivers pre-installed. In addition it has Cogl, Clutter, Mx and Mash for making 2D and 3D apps. On top of that, there is the Redeem G-code daemon and Toggle user interface with Cura for slicing models and Octoprint for controlling the printer via a web interface. It is distributed as a BBB-flasher or you can install the individual packages with opkg.
The latest image is this:
It has the following MD5 sum:
The previous image was:
It has the following MD5 sum:
After you have downloaded the image, make sure the MD5 is correct. On Linux the command is "md5sum"
Once you have the BBB-flasher downloaded to your computer, you can transfer it to a microSD card (not included) in the normal manner. Assuming you are on an Ubunto box (who isn't), do this:
sudo -s xz -dkc BBB-eMMC-flasher-v2014-06-2014.11.28.img.xz | pv -s 3430m > /dev/sdX exit
Make sure you find the right partition to send the data. It's probably not called /dev/sdX, but rather /dev/sdf or something.
Derek Molloy has a great tutorial on how to do this on Windows: http://derekmolloy.ie/write-a-new-image-to-the-beaglebone-black/
Note this will overwrite the contetns of the on board flash. Power down the board, put the microSD card in the slot of your BBB and apply power. You should see that there is activity on all the LEDs at some point. After about five minutes, all the LEDs go solid. This means the process is completed. Power down, remove the card and apply power again.
First time booting
There is a web interface on the image with some status information and a link to Octoprint. Point your web browser to http://thing.local and you should see the status page. From there, you can configure and control your printer. The interface is pretty straight forward with interfaces for looking at and restarting processes on the BBB, choosing and updating Cura configs, updating Redeem configs and updating the software on the board via a Opkg front end.
If you want to use USB for communicating with Redeem, disable the login on the virtual serial port:
systemctl disable serial-getty@ttyGS0.service
Wifi has been tested with the Realtek chipset found in Edimax dongles etc. It is handled with Connman and wpa_supplicant Configure wpa_supplicant:
Edit the line with ExecStart:
ExecStart=/usr/sbin/wpa_supplicant -u -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf
If you have the wifi driver running, you can scan for access points:
iw dev wlan0 scan | grep -i ssid
wpa_passphrase my_ssid my_password
Copy-paste the output to this setup file:
Restart the wpa_supplicant:
systemctl restart wpa_supplicant
Then add a connman config:
It should look like this:
[service_home] Type = wifi Name = my_ssid Passphrase = dac99e0d7301cccd44d94368f399d4dedbee7256e4d409527c4c0cfad1fdcb92
systemctl restart connman
Webcam streaming has been tested with Logitech C270. Most of this is from: https://github.com/foosel/OctoPrint/wiki/Setup-on-BeagleBone-Black-running-%C3%85ngstr%C3%B6m#webcam To enable webcam streaming, strting with the latest image, try this:
opkg update opkg install libjpeg-dev imagemagick mjpg-streamer
The stream should be available through [http://thing.local:8080/?action=stream] To integrate this in Octoprint:
opkg install libav nano /etc/octoprint/config.yaml
Add this to the webcam section:
webcam: stream: http://thing.local:8080/?action=stream snapshot: http://thing.local:8080/?action=snapshot ffmpeg: /usr/bin/ffmpeg
systemctl restart octoprint
Cura and CuraEngine is present in the latest image. Slicing should happen automatically when you upload STL files via octoprint.