Thing image
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.
Downloading
The latest image is this:
http://feeds.thing-printer.com/images/BBB-eMMC-flasher-v2014-06-2014.11.28.img.xz
It has the following MD5 sum:
584129d615df04ae573098ec8036f6d0
The previous image was:
http://feeds.thing-printer.com/images/BBB-eMMC-flasher-v2013.06-2014.02.24.img.xz
It has the following MD5 sum:
344c20cdb16a3bf926ef8cfbb1353af0
After you have downloaded the image, make sure the MD5 is correct. On Linux the command is "md5sum"
Installation
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/
Flashing
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.
Quirks
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
Wifi has been tested with the Realtek chipset found in Edimax dongles etc. It is handled with Connman and wpa_supplicant Configure wpa_supplicant:
nano /lib/systemd/system/wpa_supplicant.service
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
Generate Password:
wpa_passphrase my_ssid my_password
Copy-paste the output to this setup file:
nano /etc/wpa_supplicant.conf
Restart the wpa_supplicant:
systemctl restart wpa_supplicant
Then add a connman config:
nano /var/lib/connman/wifi.config
It should look like this:
[service_home] Type = wifi Name = my_ssid Passphrase = dac99e0d7301cccd44d94368f399d4dedbee7256e4d409527c4c0cfad1fdcb92
Restart connman:
systemctl restart connman
Webcam
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
Restart octoprint:
systemctl restart octoprint
Cura slicing
Cura and CuraEngine is present in the latest image. Slicing should happen automatically when you upload STL files via octoprint.