Skip to main content

As the BeagleBone approaches one year old a look how it compares with its slightly younger, not-so-distant but arguably more glamorous relative, Raspberry Pi.

When the BeagleBone was announced it caused quite a stir with its combination of a reasonably powerful ARM-based SoC, hacker-friendly nature and low price point. However, it wasn't long before it was eclipsed by the similar but even lower cost Raspberry Pi, which in the UK received much coverage in the mainstream media and quickly went on to become a household name.

Since the Raspberry Pi has become so well known it serves as an excellent benchmark for other embedded platforms, and a closer comparison of the Pi and BeagleBone is useful as it brings to light their respective strengths. What follows is a comparison of just some of the major differences and for comprehensive details consult the official documentation.

Base system

The Raspberry Pi and BeagleBone both use SoCs with an ARM processor clocked at around 700MHz and each have 256MB RAM. However, the AM3359 SoC used by the BeagleBone employs an ARMv7 core whereas the Pi uses an older ARMv6, with the BeagleBone therefore benefiting from a dual-issue superscalar architecture and NEON SIMD extensions. In terms of execution speed the BeagleBone comes in at 1440 DMIPS compared to the Pi's 965 DMIPS.

Both boards include Ethernet and USB, but the BeagleBone's Ethernet MAC is provided by the SoC whereas the Pi provides Ethernet via another chip which hangs off USB. Meaning that the aggregate I/O throughput of the BeagleBone is going to be higher than the Pi.

Other I/O related considerations include that the mini-USB socket on the BeagleBone is connected to a dual port USB hub, which is in turn routed to the SoC USB and an FTDI USB-serial converter that can be used for console access and JTAG debugging. The SoC USB accessed via this port can be configured to either present the SD card as a storage device or provide Ethernet-over-USB. In contrast the Pi's mini-USB is used only to supply power to the board.

Where the Raspberry Pi clearly beats the BeagleBone is in its graphics capabilities, as while the former provides both HDMI and composite video the BeagleBone requires additional hardware to provide DVI-D. In addition to which the Raspberry Pi also provides audio via a 3.5mm jack and includes two USB host ports compared to the BeagleBone's one.

Hardware expansion

The BeagleBone Breadboard Cape (© CircuitCo, GFDL v1.3)

With 65 pins of GPIO the BeagleBone offers more scope for expansion than the Raspberry Pi with its 17 pins, and it uses two 46 pin headers to provide support for stackable expansion boards similar to Arduino shields, albeit named capes so as to avoid confusion. The BeagleBone also provides 7 analogue inputs with a resolution of 12 bits, whereas the Pi has no on-board ADC.

Operating systems

BeagleBone slides served from the default httpd configuration

The Raspberry Pi is supplied without an operating system although it does have an official Linux distribution in the form of the Debian-based Raspbian. The BeagleBone on the other hand ships with a microSD card with Ångström Linux pre-installed and configured with a httpd and development tools.

Alternative Linux distros for the Raspberry Pi include the Debian armel port and ArchLinux, with FreeBSD support possibly on the the horizon. All of these are supported on the BeagleBone hardware, which also has images available for Ubuntu, Gentoo, Fedora and Android.

Software development

The browser-based Cloud9 IDE with an example project loaded

Given that both boards run Linux and there are drivers and libraries for things such as GPIO, I2C and SPI, development can be done using any one of a wide number of programming languages. However, Python is the “educational language” supported by the Raspberry Pi Foundation, whereas the BeagleBone is supplied with the Cloud9 IDE configured and can be programmed in JavaScript via the browser. Note that this is achieved via a httpd and the node.js server-side running on the BeagleBone itself and does not rely on a remote Internet-based service.

Prototyping

The Raspberry Pi is designed as a tool to promote the teaching of computer science in education and the Broadcom SoC used and its documentation is, at the time of writing, only available to high volume customers. In contrast the BeagleBone is better suited to prototyping as the hardware design is provided under a liberal licence, “clones” are encouraged and the AM3359 SoC can be secured in smaller quantities and detailed technical documentation is available online.

Conclusion

Where learning and basic experimentation is the objective the Raspberry Pi and its sizeable community of enthusiasts wins out, and if you want a compact and reasonably powerful embedded Linux platform with video support the Pi is hard to beat on cost.

The BeagleBone may be more expensive than the Raspberry Pi but it still represents excellent value for money and there are uses where it has a clear edge over the Pi. Such as in prototyping hardware and with projects that require more processing power, greater I/O throughput or more GPIO. In addition to which its turnkey development environment may appeal to those with a web development background and experience of JavaScript.

Andrew Back

Top image: BeagleBone ports annotated (© Gerald Coley/BeagleBoard.org, CC BY SA3.0)

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.

Comments