# BeagleBone

## Overview

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&nbsp;GB&nbsp;microSD card!

![](https://cdn-learn.adafruit.com/assets/assets/000/000/273/medium800/beaglebonetop_LRG.jpeg?1396761683)

The Beagle Bone is a great step up from&nbsp; **microcontrollers** &nbsp;(such as AVR, PIC, ARM Cortex M3, 8051, Propeller, etc) to&nbsp; **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,&nbsp;FTP&nbsp;clients,&nbsp;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.

# BeagleBone

## Installing Drivers

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&nbsp;OS's we'll start here!

For this tutorial you will need:

- **[Beagle Bone](http://www.adafruit.com/products/513)**

Pick these parts up at the Adafruit shop!

## Download & Install

First, we'll install the Windows driver package.[&nbsp;Download this link to BONE\_DRV.exe](http://beagleboard.org/static/beaglebone/latest/Drivers/Windows/BONE_DRV.exe)&nbsp;and double click it.  
  
When prompted/warned about the software, click&nbsp; **Continue Anyways** &nbsp;- you'll need to do it 3 times - once for each driver.
![](https://cdn-learn.adafruit.com/assets/assets/000/000/279/medium800/beaglebone_bone1.png?1396761749)

![](https://cdn-learn.adafruit.com/assets/assets/000/000/281/medium800/beaglebone_bone2.png?1396761782)

## Connect!
Start by opening up your Bone packaging, and finding the MiniB USB cable  
![](https://cdn-learn.adafruit.com/assets/assets/000/000/282/medium800/beagleboneexrtas.jpeg?1396761787)

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.![](https://cdn-learn.adafruit.com/assets/assets/000/000/284/medium800/beaglebone_found-xds100v2.png?1396761809)

And then an install popup. Click&nbsp; **Install the software automatically** &nbsp;and&nbsp; **Next.** ![](https://cdn-learn.adafruit.com/assets/assets/000/000/286/medium800/beaglebone_install-xds100v.png?1396761836)

Click&nbsp; **Continue Anyway** &nbsp;when it warns you.![](https://cdn-learn.adafruit.com/assets/assets/000/000/287/medium800/beaglebone_xds-continue.png?1396761852)

You should finish successfully.![](https://cdn-learn.adafruit.com/assets/assets/000/000/289/medium800/beaglebone_xds100v1.png?1396761877)

Next you'll go through the same process for the Disk Drive and Beaglebone devices.![](https://cdn-learn.adafruit.com/assets/assets/000/000/290/medium800/beaglebone_found-disk-drive.png?1396761895)

![](https://cdn-learn.adafruit.com/assets/assets/000/000/292/medium800/beaglebone_found-new-hardware-bone.png?1396761921)

![](https://cdn-learn.adafruit.com/assets/assets/000/000/293/medium800/beaglebone_usbserialport-popup.png?1396761935)

Follow the same instructions, installing&nbsp; **Automatically** &nbsp;and clicking&nbsp; **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&nbsp; **COM17.**

![](https://cdn-learn.adafruit.com/assets/assets/000/000/295/medium800/beaglebone_device-manager.png?1396761967)

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

## Ethernet

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&nbsp;DNS. You'll need to know the COM serial port address, see the&nbsp;[Drivers](http://www.ladyada.net///drivers.html)&nbsp;tutorial on how to determine the COM and install drivers.

For this tutorial you will need:

- **[Beagle Bone](http://www.adafruit.com/products/513)**
- **[Ethernet Cable](http://www.adafruit.com/products/730)**

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.

![](https://cdn-learn.adafruit.com/assets/assets/000/000/300/medium800/beaglebone_com17.gif?1447975312)

![](https://cdn-learn.adafruit.com/assets/assets/000/000/303/medium800/beaglebone_hyperterm.gif?1447975331)

![](https://cdn-learn.adafruit.com/assets/assets/000/000/304/medium800/beaglebone_prop.gif?1447975342)

Hit return a few times, to show the login screen.![](https://cdn-learn.adafruit.com/assets/assets/000/000/305/medium800/beaglebone_angstrom-login.gif?1447975352)

Log in with the user name&nbsp; **root&nbsp;** and no password.![](https://cdn-learn.adafruit.com/assets/assets/000/000/307/medium800/beaglebone_rootlogin.gif?1447975373)

That's it you're logged in!## dmesg
  
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&nbsp; **dmesg** &nbsp;- this will tell you all the system messages, such as what hardware was found. Type&nbsp; **dmesg** &nbsp;and hit return at the&nbsp; **root@beaglebone: ~#** &nbsp;prompt.

![](https://cdn-learn.adafruit.com/assets/assets/000/000/309/medium800/beaglebone_dmesg1.gif?1447975395)

![](https://cdn-learn.adafruit.com/assets/assets/000/000/311/medium800/beaglebone_dmesg2.gif?1447975416)

As you can see the last part of boot up is to bring the ethernet connection&nbsp; **eth0** &nbsp;up.## Ethernet Test
  
You can verify the ethernet connection by typing in&nbsp; **ifconfig -a**  
![](https://cdn-learn.adafruit.com/assets/assets/000/000/313/medium800/beaglebone_ifconfig--a.gif?1447975439)

You can see under&nbsp; **inet addr:** &nbsp;the internet address of the Bone - it uses&nbsp;DHCP&nbsp;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&nbsp; **reboot** &nbsp;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&nbsp; **ping 18.70.0.160** &nbsp;and hit return.

![](https://cdn-learn.adafruit.com/assets/assets/000/000/314/medium800/beaglebone_ping.gif?1447975452)

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

Next you can test the&nbsp;DNS&nbsp;system, by pinging&nbsp;[www.google.com](http://www.google.com/)&nbsp;, which should also succeed.

![](https://cdn-learn.adafruit.com/assets/assets/000/000/315/medium800/beaglebone_pingdns.gif?1447975466)

# BeagleBone

## WiFi

Info: 

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&nbsp;**[WiFi adapter for Beagle Bone](http://www.adafruit.com/products/814)&nbsp;**adapter in the Adafruit shop. It will not work with other WiFi adapters, as they all have different chipsets!![](https://cdn-learn.adafruit.com/assets/assets/000/000/120/medium800/beaglebone_wifiplug.jpg?1396760591)

For this tutorial you will need:

- **[Beagle Bone](http://www.adafruit.com/products/513)**
- **[WiFi adapter](http://www.adafruit.com/products/814)**
- **[5V 2000mA Power Adapter](http://www.adafruit.com/products/276)**

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.  
Info: 

## Driver Install
You'll need to have [Internet connectivity using Ethernet](http://learn.adafruit.com/beaglebone) , 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**

  
![](https://cdn-learn.adafruit.com/assets/assets/000/000/121/medium800/beaglebone_opkg-update.gif?1447974714)

then type in&nbsp; **opkg list 'linux-firmware-rt** \*' and hit return.

![](https://cdn-learn.adafruit.com/assets/assets/000/000/122/medium800/beaglebone_list-pkg.gif?1447974725)

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

Now that its rebooted, check&nbsp; **dmesg** &nbsp;- you should see the following

![](https://cdn-learn.adafruit.com/assets/assets/000/000/123/medium800/beaglebone_postreboot.gif?1447974735)

And if you type in&nbsp; **ifconfig wlan0** &nbsp;there should be a link, it wont be connected yet so there's a lot of 0's and no&nbsp; **inet addr** ![](https://cdn-learn.adafruit.com/assets/assets/000/000/124/medium800/beaglebone_ifconfigwlan0.gif?1447974745)

Now we can set up the connection manager to automatically manage the wifi. Edit&nbsp; **/var/lib/connman/settings&nbsp;** (I use vi but nano is also installed) and change WiFi from false to true, save it.![](https://cdn-learn.adafruit.com/assets/assets/000/000/125/medium800/beaglebone_viconnman.gif?1447974755)

Create a file **&nbsp;/var/lib/connman/wifi.config** &nbsp;with your settings as shown below, starting with the&nbsp;**[service\_home]**&nbsp;line and with a return after the **&nbsp;Passphrase&nbsp;** line, of course this should match your home network, not the adafruit one!

![](https://cdn-learn.adafruit.com/assets/assets/000/000/126/medium800/beaglebone_wificonfig.gif?1447974766)

Restart connman to get it to accept the new settings:

**root@beaglebone:~# systemctl restart connman.service**

![](https://cdn-learn.adafruit.com/assets/assets/000/000/127/medium800/beaglebone_resetartconnman.gif?1447974777)

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

**root@beaglebone:~# ifconfig wlan0**

![](https://cdn-learn.adafruit.com/assets/assets/000/000/128/medium800/beaglebone_wlan0up.gif?1447974788)

There should now be an&nbsp; **inet addr&nbsp;** You can then test pinging an IP address and a domain name.![](https://cdn-learn.adafruit.com/assets/assets/000/000/129/medium800/beaglebone_wlanping.gif?1447974799)

![](https://cdn-learn.adafruit.com/assets/assets/000/000/130/medium800/beaglebone_wlandns.gif?1447974809)

Finally, if you want more detailed information about your link you can&nbsp; **opkg install wireless-tools** &nbsp;to get the&nbsp; **iwconfig** &nbsp;command, which will give you tons of details.![](https://cdn-learn.adafruit.com/assets/assets/000/000/131/medium800/beaglebone_installwirelesstools.gif?1447974820)

![](https://cdn-learn.adafruit.com/assets/assets/000/000/132/medium800/beaglebone_iwconfig.gif?1447974829)

## Troubleshooting

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  
  
boot RETURN
# BeagleBone

## Buy a BeagleBone

# BeagleBone

## Adafruit Forums

# BeagleBone

## Downloads

- [Protoboard EagleCAD files on GitHub](https://github.com/adafruit/Adafruit-BeagleBone-ProtoBoard)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library)


## Featured Products

### Adafruit Beagle Bone Black Starter Pack

[Adafruit Beagle Bone Black Starter Pack](https://www.adafruit.com/product/703)
If you've heard about the Beagle Bone Black and you want to hit the ground running, this starter pack is for you. We've picked out everything you need to start out, with essential parts and accessories to save on a bundle.  
  
Includes:

- <a...></a...>

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/703)
[Related Guides to the Product](https://learn.adafruit.com/products/703/guides)
### Miniature WiFi (802.11b/g/n) Module: For Raspberry Pi and more

[Miniature WiFi (802.11b/g/n) Module: For Raspberry Pi and more](https://www.adafruit.com/product/814)
Make your Internet of Things device cable-free by adding WiFi. Take advantage of the Raspberry Pi and Beagle Bone's USB port to add a low cost, but high-reliability wireless link. We tried half a dozen modules to find one that works well with the Pi and Bone without the need of recompiling...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/814)
[Related Guides to the Product](https://learn.adafruit.com/products/814/guides)
### Ethernet Cable - 10 ft long

[Ethernet Cable - 10 ft long](https://www.adafruit.com/product/730)
We have so many Internet-connected goodies in the shop, we figured it's time to carry a cable so you can easily connect them up! This cable is 10 feet long, black and has all 8 wires installed. Perfect for use with the [BeagleBone](http://www.adafruit.com/products/513), <a...></a...>

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/730)
[Related Guides to the Product](https://learn.adafruit.com/products/730/guides)
### 5V 2A (2000mA) switching power supply - UL Listed

[5V 2A (2000mA) switching power supply - UL Listed](https://www.adafruit.com/product/276)
This is an FCC/CE certified and UL listed power supply. Need a lot of 5V power? This switching supply gives a clean regulated 5V output at up to 2000mA. 110 or 240 input, so it works in any country. The plugs are "US 2-prong" style so you may need a plug adapter, but you can pick one...

In Stock
[Buy Now](https://www.adafruit.com/product/276)
[Related Guides to the Product](https://learn.adafruit.com/products/276/guides)

## Related Guides

- [Adafruit WebIDE](https://learn.adafruit.com/webide.md)
- [DHT Humidity Sensing on Raspberry Pi or Beaglebone Black with GDocs Logging](https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging.md)
- [MCP9808 Temperature Sensor Python Library](https://learn.adafruit.com/mcp9808-temperature-sensor-python-library.md)
- [BNO055 Absolute Orientation Sensor with Raspberry Pi & BeagleBone Black](https://learn.adafruit.com/bno055-absolute-orientation-sensor-with-raspberry-pi-and-beaglebone-black.md)
- [LED Backpack Displays on Raspberry Pi and BeagleBone Black](https://learn.adafruit.com/led-backpack-displays-on-raspberry-pi-and-beaglebone-black.md)
- [Bone Box](https://learn.adafruit.com/bone-box.md)
- [Embedded Linux Board Comparison](https://learn.adafruit.com/embedded-linux-board-comparison.md)
- [Measuring Light with a BeagleBone Black](https://learn.adafruit.com/measuring-light-with-a-beaglebone-black.md)
- [SSH to BeagleBone Black over USB](https://learn.adafruit.com/ssh-to-beaglebone-black-over-usb.md)
- [Trellis Python Library](https://learn.adafruit.com/trellis-python-library.md)
- [Adding a Real Time Clock to BeagleBone Black](https://learn.adafruit.com/adding-a-real-time-clock-to-beaglebone-black.md)
- [LedGames - a BeagleBone Black 64x64 LED Game](https://learn.adafruit.com/ledgames-beaglebone-black-64x64-led-game.md)
- [FONA Tethering to Raspberry Pi or BeagleBone Black](https://learn.adafruit.com/fona-tethering-to-raspberry-pi-or-beaglebone-black.md)
- [User-space SPI TFT Python Library - ILI9341](https://learn.adafruit.com/user-space-spi-tft-python-library-ili9341-2-8.md)
- [Connecting a Push Button to BeagleBone Black](https://learn.adafruit.com/connecting-a-push-button-to-beaglebone-black.md)
