Jump to: navigation, search

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.