BeagleBone Blog

This page contains my blog postings on the BeagleBone platform. Please pay careful attention to the date of the posting, as older posts are less relevant to recent developments on the BeagleBone platform.

Setting a Network Proxy on the Beaglebone Black

I have just posted on how to configure your network to use a static IP address at this post: Set the IP address statically on the Beaglebone Black. One issue that is related is the case where you now wish to use a proxy with your device. This is common within universities and other organisations and the limits on what you can do are determined by your network administrator.

Anyway, to get you started, you need to use connman to change your proxy settings. As in the previous post, within the /usr/lib/connman/test directory there are a set of scripts to help you with this task. The one you are looking for is set-proxy

However to use it you first need to know your service name, so within /usr/lib/connman/test type ./get-services and you will get something like:

My service name is ethernet_c8a030ab323a_cable, which is of course easy to remember. So we use this with the […]

Set Static IP Address on the Beaglebone Black


The BBB is configured by default to use the dynamic host configuration protocol (DHCP) for the allocation of its wired and wireless IP address. Network routers typically run a DHCP server that allocates a pool of addresses to devices attached to the network. While DHCP works well for most devices on a local network, it can cause difficulties if you wish to make the BBB visible outside a home firewall via port forwarding. This is because DHCP devices may receive a different IP address each time they boot (depending on the router’s lease time).

The following description details the steps required to set your IP address to be static under Debian and Angstrom.

Static IP Address under Debian
To set the IP address to be static under Debian is quite straightforward. You can simply alter the /etc/network/interfaces configuration file to manually specify the address (e.g., in this case), […]

Writing a new Image to the Beaglebone Black

 Although the BBB is supplied with a Linux distribution already on its eMMC, one of the first steps you may carry out is updating your BBB to have the latest Linux distribution.
The website has very clear instructions on writing a new system image to the BBB, so this section only details observations and additional steps that may be useful in achieving a successful upgrade.

Downloading a Flasher Image
The latest BeagleBone Black Debian distribution images are available from There are two versions to choose from: a version that runs directly from the micro-SD Card; or a version that writes to the BBB’s on-board eMMC, called a “flasher” image. The advantage of the eMMC version is that once it is written to the eMMC (which takes about 5–25 minutes) the BBB will boot in about 10 seconds from then on, and the micro-SD card slot will remain available for […]

Beaglebone Images, Video and OpenCV

Please note: this was an early post – the content of this post was turned into a video that is available on this page: Beaglebone: Video Capture and Image Processing  on Embedded Linux using OpenCV
Getting started

Start by plugging in the camera with the power down and then booting, praying that the device is picked up. lsusb is a utility for displaying information about USB buses in the system and the devices connected to them.  lsusb should show:


When you cd /dev and do an ls you should see video0 at the bottom:

If so, you are ready to go:
Video4Linux or V4L is a video capture application programming interface for Linux, supporting many USB webcams, TV tuners, and other devices. Video4Linux is closely integrated with the Linux kernel. To list the devices:

To list the formats available:

Get the driver detail:

We can list the controls available:

Get all of the information available for the camera:

We can then set an […]

Changing the Beaglebone CPU Frequency

Check the CPU Frequency
 The BBB has various governors that can be used to profile the performance/power usage ratio. For example, if you were to build a battery powered BBB application that required low processing requirements, you could reduce the clock frequency to conserve power. You can find out information about the current state of the BBB by typing cpufreq-info:

You can see at the bottom that the current CPU frequency is 300MHz.

If these tools are not installed on your BBB, you can install the cpufrequtils package.

However, the profile is on-demand, so if the CPU frequency is currently 300MHz and the average CPU usage between governor samplings is above the threshold (called the ‘up_threshold’) then the CPU frequency will be automatically increased. The ‘up_threshold’ can actually be adjusted using sysfs as follows:

Here is an example OpenCV application running, where I am achieving 4.15 frames per second. During the execution of this program the CPU […]