I think this project is very cool and has nearly countless applications!! We are going to be setting up our own single board, fanless computer using the beaglebone. We will setup a mini SD card so that we can boot Ubuntu onto the beaglebone, we will setup a a lightweight GUI (graphical user interface - a desktop environment vs terminal) and just for kicks we will install the arduino programming environment.
Even though this board is heavy on linux, I included this in the microcontroller section in the hopes of more arduino fans giving this board a whirl..,
I chose ubuntu because there is already an existing image to format your sd card. Also, I have been running ubuntu on my laptop to program arduino, so it seems natural that you would try and match the os from your board and your computer.
I would recommend joining the group "beagleboard" on google groups. The beagleboard is much more complicated than an 8bit microcontroller.
This instructable is basically an editorialized repost from the linux website: http://elinux.org/BeagleBoardUbuntu
If you have any knowledge or interest with linux, or beagleboard, please sign up and contribute to the beaglebone group on instructables. There is a lot to do here folks!! https://www.instructables.com/group/beaglebone/
At the end I have included how to set up a lightweight GUI so that you can SSH in from your laptop and set up a "virtual desktop." I also show how to install and run the arduino IDE so that you can use the beaglebone to program any arduino NOTE: I HAVE NOT CONFIGURED A DEDICATED SCREEN OR A KEYBOARD TO THE BEAGLEBONE. I JUST WANT TO ILLUSTRATE THAT THE PROCESSING POWER OF THIS BOARD IS MUCH CLOSER TO A COMPUTER THAN TO AN ARDUINO.
A good next step would be to figure out the HDMI cape so that you can run the LXDE desktop on any hdmi monitor.
Step 1: Download the Disk Image
If you are already running ubuntu on your computer, these next steps ~should~ be very easy. Get ready to copy and paste!
Make sure you are uploading the most recent release
From your computer terminal:
$ wget http://rcn-ee.net/deb/rootfs/precise/ubuntu-12.04-r5-minimal-armhf-2012-07-29.tar.xz
$ wget http://ynezz.ibawizard.net/beagleboard/precise/ubuntu-12.04-r5-minimal-armhf-2012-07-29.tar.xz
This will download the disc image for your SD card straight to your computer. If you are running something other than Ubuntu, the links following the wget command will dowload the image to your computer also.
To verify that the images have downloaded correctly:
$ md5sum ubuntu-12.04-r5-minimal-armhf-2012-07-29.tar.xz
This should return:
Step 2: Unpack the Image
$ tar xJf ubuntu-12.04-r5-minimal-armhf-2012-07-29.tar.xz
Once the image has unpacked (this will take a while), open the directory containing the image file:
$ cd ubuntu-12.04-r5-minimal-armhf-2012-07-29
Step 3: Prepare Your SD Card
$ sudo ./setup_sdcard.sh --probe -mmc
It will return something like:
Are you sure? I Don't see [/dev/idontknow], here is what I do see...
Disk /dev/sda: 500.1 GB, 500107862016 bytes <- This is your hard drive!
Disk /dev/mmcblk0: 3957 MB, 3957325824 bytes <- This is likely your SD card. Note that it is not the full size of your available memory
/dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0) <- This should point to the device you are using to connect to your SD. This will change depending on what you are using to connect.
Remember the location of this drive!!!
Step 4: Install the Disk Image!
$ sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot bone
//where sdX is the location of your drive. Mine was sdb, on the linux site it shows as sda.
It will ask you if you are 100% sure you have selected the drive. Type (y)es to continue!
Step 5: Login -Serially-
$ screen /dev/ttyUSB1 115200
You may be running off of a different USB port
Another option is to run your board using minicom. I recently set this up and it works just fine. To get minicom on your computer:
$ sudo apt-get install minicom
Once you have installed minicom configure your serial settings:
$ sudo minicom -s
This will launch minicom. You have to sudo if you want to save your setting changes. Enter the correct location of you beaglebone (if usb its : /dev/ttyUSBX) Make sure your baudrate is at 115200. Turn off all flow control.
Once you are done configuring, save your setup as "bbone" Now you only have to:
$ minicom bbone
to establish your serial connection
First login as root with password "root" and then change your root login password!:
Setup a non-root user "username":
$ sudo adduser username
If you want to run chromium web browser from your beaglebone you will need a non root user.
Ubuntu will take you through a user setup. To setup/change the password:
$ sudo passwd username
Step 6: SSH In!
Before logging into your board, you may want to loosen your computers networking standards.
cd into .ssh and make a or edit the file "config" to the following:
# Disable host checking for any "local" machines
This will help while you are still developing your board.
To find out what IP the dhcp has assigned run the following:
$ for ip in $(seq 1 254); do ssh firstname.lastname@example.org.$ip -o ConnectTimeout=5; [ $? -eq 0 ] && echo "xxx.xxx.xxx.$ip UP" || : ; done
Change the X's with the first three numbers of your network ip address (probably: 192.168.1)
Login with your root password
Step 7: Configure Your Board
Or just :
$ wget http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz
Step 8: Install & Run LXDE Desktop
LXDE takes up 215 Mb of space, I am using a 8Gig SD card so this is not much of a problem.
$ sudo apt-get install lxde
This will take a long time to download and upack. But once your done you should be able to run a virtual desktop from your laptop.
It took me like 25 minutes to load and setup. Once you have finished the download
when you ssh in this time:
$ ssh email@example.com -X
you may have to try:
$ xhost -X
$ exec startlxde
to get it working :\
When I run this, a taskbar appears at the bottom of my desktop. I can navigate the bbone from there
In order for me to run chromium from the beagle I need to ssh in as a user other than root.
Step 9: Install Arduino IDE?
$ sudo apt-get install arduino
once you have installed, simply
in your omap terminal to run the IDE.
You've done it! We've gone from programming a microcontroller to programming a microcomputer capable of programming and troubleshooting all those great arduino projects you have lying around (or still in your head). Regardless, its a lot easier than it should have been- thanks for all the support from element14, google groups beagleboard, and seemingly endless linux forums.
i ordered the 4inch lcd touch screen cape, but I will not get it until September. Maybe it would be possible to set up some kind of diagnostics side kick with the beagle bone? Regardless, I will let you know how the screen works :)
Step 10: Reformat Your SD
$ sudo shred -vfz -n 100 /dev/sdX
I do not know how many passes this will take