BeagleBone in your pocket demo

I’m traveling to Costa Rica to give a keynote talk and would like to do a quick BeagleBone demo. The purpose of this post is to learn how quickly I could put such a demo together. Here’s the idea:

I want to pull the Beagle, in it’s tin, out of my pocket, attach a USB wifi adapter and plug it into a battery. Once it’s running I want to invite the audience to connect to it.

I see the SD card that comes with it already has a web server running on it. What’s left is getting the right wifi adapter and battery attachment.

  1. What USB wifi adapters work with the BeagleBone?
  2. How do I attach a battery?


From a battery perspective it will need to provide 5V. So, that means you would need to boost a battery (1.2V.1.5V.3.7V) to 5V. I am not sure it is realistic to fit all this in a tin and have it run for any amount of time, especially with a WIFI dongle connected to the USB port. I think AAA may be as high as you can go size wise, not sure that AA would fit. You may be able to flip a cape and have the batteries hang down, but it would be very tight. But, it might be possible.

The WIFI would need to extend out from the tin to work.


Let’s keep it simple for now and keep the battery on the outside. So a AA 4-pack would work with a simple regulator. Maybe later I could get a flat cellphone battery and make it fit inside.

  1. What regulator do you suggest?

Belkin Micro WiFi USB adapter works with BBrd.

You may find luck using battery powered mobile charger, though but I haven’t use them.
For example,

The one Aadeesh mentioned is good. It takes the batteries to 5V and if you keep it outside, that would be clean or you could dismantle and possibly put it inside.


Mark! We too are interested in Costa Rica and plan to be there soon to open a factory. We are very familiar with the ‘Bone’ will helpp you with the USB and battery problem if we can. So standby! Please stay in touch over time.

I would rather suggest a flat Li-Po cell with a step-up converter. The
battery could be similar to this:
1600mAh should provide enough power to run the board for an hour or
more. You can also take advantage of the built-in battery charger.
For the converter, TI's webench suggests using LM3478, LM3488 or
LM3481. Add a micro wifi adapter and with clever design you may be
able to squeeze the entire setup in the can.


Sparkfun will sell you both the battery and the step-up converter:

If you use the expansion head P6 you can connect a battery to the
TPS65217 system PMIC which will provide power to the rest of the
board. No need for a steup converter for the 5V port.

A Li-Po batter with a temp sense is required though

Datasheet about the system PMIC, FYI

You cannot hook a battery to the P6 header. It will not work. Please read the System Reference Manual.

When the battery drops to 3.6V the TPS65217B will no longer be able to supply 3.3V to the system because the LDOs will no longer be able to regulate the voltage to 3.3V from a 3.7V level as the battery starts to discharge. Plus, in this case the WIFI dongle is USB and it needs 5V, not 3.7V max the battery can supply…


Looked at the SRM. Odd that they put in that the LDOs drop out at
400mV when the spec says 200mV. Wonder where the inconsistency is
coming from.

600mA@5V max? May be not enough for the board and a USB device. To be
on the safe side, the power supply should be able to provide 1.5-2A of


I am they. I double checked this and it is 200mv on the latest datasheet. I will look at making a correction after I think about it. However, I tend not to go strictly by the book and provide a little margin to allow for the noise margin and you also have to factor in the series resistor as well.

I will stand by my statement that it will not work as the USB definitely will not work at 3.3V. the application in question was using a USB dongle for WIFI…


Seeedstudio sells 1A boards:
It should provide enough current for the board and wifi adapter, but
won't fit in the can.


Thanks to all for your suggestions. I bought:

  1. Duracell Powerhouse USB charger. It’s 3.7V/2000 mAh. It powered my -xM, with all 4 USB ports in use, for 50 minutes. That’s more than enough for what I need to do.
  2. Belkin N150 Micro USB adapter. It took some work (my student helped me), but we got it working on the -xM.

My next challenge is getting the Belkin working on the Bone. The Bone is running v3.1 of the kernel and I’m not setup for 3.1.

Is there anyone out there willing and able to compile the Belkin driver for me? The drivers are here [1] and I can tell you what I did.


[1] ftp://WebUser:Lc9FuH5r@[1]

It's already included in the default kernel config for both 3.1 and 3.2

So it it. That’s for the tip. Just knowing it was there I figured out where to find it.

There must be something else not set up right. I’m getting the following error:

beagle$ ifup wlan0
Could not read interface wlan0 flags: No such device
Failed to initialize driver interface
ifconfig: SIOCGIFFLAGS: No such device

beagle$ cat /proc/modules
sit 7345 0 - Live 0xbf902000
tunnel4 2363 1 sit, Live 0xbf8fe000
rtl8192cu 87373 1 - Loading 0xbf8e6000
rtl8192c_common 52774 1 rtl8192cu, Live 0xbf8d2000
rtlwifi 56729 1 rtl8192cu, Live 0xbf8bd000
mac80211 140379 3 rtl8192cu,rtl8192c_common,rtlwifi, Live 0xbf88a000
cfg80211 120716 2 rtlwifi,mac80211, Live 0xbf85d000
rfkill 14301 1 cfg80211, Live 0xbf854000
g_mass_storage 24072 0 - Live 0xbf848000
ipv6 209417 17 sit, Live 0xbf800000

Looks like it’s not loading.

beagle$ ifconfig
eth0 Link encap:Ethernet HWaddr D4:94:A1:32:7F:72
inet addr: Bcast: Mask:
inet6 addr: fe80::d694:a1ff:fe32:7f72/64 Scope:Link
RX packets:551 errors:0 dropped:66 overruns:0 frame:0
TX packets:267 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:95663 (93.4 KiB) TX bytes:39332 (38.4 KiB)

lo Link encap:Local Loopback
inet addr: Mask:
inet6 addr: ::1/128 Scope:Host
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:807 (807.0 B) TX bytes:807 (807.0 B)

tun6to4 Link encap:IPv6-in-IPv4
inet6 addr: :: Scope:Compat
inet6 addr: 2002:8970:29f8::1/64 Scope:Global
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Doesn’t show up.

beagle$ cat /etc/network/interfaces

/etc/network/interfaces – configuration file for ifup(8), ifdown(8)

The loopback interface

auto lo
iface lo inet loopback

Wireless interfaces

#iface wlan0 inet dhcp

wireless_mode managed

wireless_essid any

wpa-driver wext

wpa-conf /etc/wpa_supplicant.conf

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant.conf
wpa-driver wext

iface atml0 inet dhcp

Wired or wireless interfaces

auto eth0
iface eth0 inet dhcp
iface eth1 inet dhcp

Ethernet/RNDIS gadget (g_ether)

… or on host side, usbnet and random hwaddr

iface usb0 inet static

Bluetooth networking

iface bnep0 inet dhcp

beagle$ tail -30 /etc/wpa_supplicant.conf

Wildcard match for SSID (plaintext APs only). This example select any

open AP regardless of its SSID.



#Home Network

#School Network
phase1=“peapver=0 peaplabel=0”

/etc/network/interfaces and /etc/wpa_supplicant.conf are the same as on my -xM, and they work on the -xM.

Any ideas what’s not working here?

Could it be related to:



It is also easier to start with the simple case of no encryption and
get that working and then work on making it secure.