New from the fine people who have brought us the Beagle Board, we now have a smaller, lighter, but powerful single board linux computer, Beagle Bone! We like this move to a more compact and integrated SBC. For example, there is onboard Ethernet and USB host, as well as a USB client interface (a FTDI chip for shell access). It even comes preloaded with Angstrom Linux on the 4 GB microSD card!

The Beagle Bone is a great step up from microcontrollers (such as AVR, PIC, ARM Cortex M3, 8051, Propeller, etc) to microcomputers. Unlike a microcontroller, where the FLASH, EEPROM, RAM, etc is all in one chip, a microcomputer has them separated out, like a classic computer such as a desktop or laptop machine. The Beagle Bone has a main processor core running at 700MHz, a chunk of 256M DDR RAM, and permanent storage onto a microSD card. This makes for a powerful machine, that has no problems running Linux, a webserver, Python, FTP clients, SSH, etc.

The Bone also has great accessories built in, such as onboard Ethernet with 10/100M connectivity, mini USB port with TTL serial converter, JTAG debugger for advanced hacking, USB A host port for connecting a hub/WiFi/etc, power management IC that keeps the board safe from a misplugged adapter, and tons of 0.1" spaced breakouts

One of the powerful abilities of the Bone is that it has I2C, SPI, and GPIO at a hobbyist-friendly 3.3V level (instead of the more difficult to interface 1.8V) while also running complex applications such as a webserver. This allows for more complex projects that would tax an Arduino.

This section will detail how to install drivers for the USB/Serial connection (and the other USB devices) from the Bone onto your Windows computer. We'll try to have more documentation on using the Bone with a Mac & Linux at some point but since so many people use Windows and its tougher to install the drives on Win than other OS's we'll start here!

For this tutorial you will need:

Pick these parts up at the Adafruit shop!

Download & Install

First, we'll install the Windows driver package. Download this link to BONE_DRV.exe and double click it.

When prompted/warned about the software, click Continue Anyways - you'll need to do it 3 times - once for each driver.


Start by opening up your Bone packaging, and finding the MiniB USB cable
Plug the miniB side into the Bone, and the A side into your Windows computer. You'll see a popup saying the computer found a USB serial converter.
And then an install popup. Click Install the software automatically and Next.
Click Continue Anyway when it warns you.
You should finish successfully.
Next you'll go through the same process for the Disk Drive and Beaglebone devices.

Follow the same instructions, installing Automatically and clicking Continue Anyways.

Finally, you will have the new USB serial port. Go to the Device Manager on your computer to find the name of the COM port. In my case its COM17.

That's it, you've installed the drivers! Next up we'll connect via serial and log in.

This mini tutorial will show you how to connect to the Bone via the serial connection to determine the IP address, test the network connection and DNS. You'll need to know the COM serial port address, see the Drivers tutorial on how to determine the COM and install drivers.

For this tutorial you will need:

Pick these parts up at the Adafruit shop!

Terminal Software

To connect via the USB cable, you'll need a terminal program. Built into Windows is Hyperterm. You can google around to find another good terminal program.

Connect to the Bone's COM port at 115200 baud, 8 bit, No parity, 1 stop bit, no flow control.

Hit return a few times, to show the login screen.
Log in with the user name root and no password.
That's it you're logged in!


Now we can try out the Ethernet connection. Plug a standard straight-through cable from the Bone to your Ethernet router.

Our favorite tool is dmesg - this will tell you all the system messages, such as what hardware was found. Type dmesg and hit return at the [email protected]: ~# prompt.

As you can see the last part of boot up is to bring the ethernet connection eth0 up.

Ethernet Test

You can verify the ethernet connection by typing in ifconfig -a

You can see under inet addr: the internet address of the Bone - it uses DHCP to automatically get an IP address and this is what the router gave us back. If you don't see anything, try rebooting the system by typing in reboot and hitting return. Make sure your Ethernet cable is well connected to both the Bone and the router.

Now you can test the outgoing connection. Type in ping and hit return.

If it works, you'll see the above. You can type Control-C to cancel.

Next you can test the DNS system, by pinging , which should also succeed.

This tutorial may not work on beaglebone black or the latest versions of Angstrom (kernel 3.8+) due to changes in the OS. We're working on a new/updated tutorial, but we don't have an ETA - we'll post it as soon as we can! Thank you for your patience.
Now that you have your Bone up and running, and Ethernet works, wouldn't it be nice to get rid of that Ethernet cable? Yeah, let's go WiFi! This tutorial is specifically for the verified WiFi adapter for Beagle Bone adapter in the Adafruit shop. It will not work with other WiFi adapters, as they all have different chipsets!

For this tutorial you will need:

Pick these parts up at the Adafruit shop!

Power and WiFi

The BeagleBone has the neat ability to power itself just through the mini USB port. However, this can cause some problems because the USB port cannot supply enough power for BOTH the Bone and a WiFi adapter.
An external power supply is required to use WiFi, due to the power requirements. Flaky behavior, crashes, etc will result if you do not plug in a 5V 2000mA adapter! If you're still having problems, try an external powered USB hub!

Driver Install

You'll need to have Internet connectivity using Ethernet , and also be logged into the terminal to install the WiFi
adpater's driver, so make sure to complete those tutorials first!

While logged in with Internet working, run opkg update

Then run mkdir /home/root/tmp to make a new temp directory then run opkg -t /home/root/tmp upgrade

then type in opkg list 'linux-firmware-rt*' and hit return.

Finally type in opkg install linux-firmware-rtl8192cu and press return. Plug in the WiFi dongle, then type in reboot and return to reboot the machine.

Now that its rebooted, check dmesg - you should see the following

And if you type in ifconfig wlan0 there should be a link, it wont be connected yet so there's a lot of 0's and no inet addr
Now we can set up the connection manager to automatically manage the wifi. Edit /var/lib/connman/settings (I use vi but nano is also installed) and change WiFi from false to true, save it.
Create a file /var/lib/connman/wifi.config with your settings as shown below, starting with the [service_home] line and with a return after the Passphrase line, of course this should match your home network, not the adafruit one!

Restart connman to get it to accept the new settings:

[email protected]:~# systemctl restart connman.service

After less than 30 seconds or so, you should be connected:

[email protected]:~# ifconfig wlan0

There should now be an inet addr You can then test pinging an IP address and a domain name.
Finally, if you want more detailed information about your link you can opkg install wireless-tools to get the iwconfig command, which will give you tons of details.


If you get an error device descriptor read/64, error -71, reboot and stop the boot process with the space bar. Then add the following boot option with the follow at the U-Boot prompt

setenv bootargs irqpoll RETURN


This guide was first published on Jul 29, 2012. It was last updated on Jul 29, 2012.