Original URL: http://www.theregister.co.uk/2013/06/11/review_beagleboard_beaglebone_black/

Review: Beagleboard Beaglebone Black

Pi-eyed killer - or should we give Pis a chance?

By Tony Smith

Posted in Hardware, 11th June 2013 08:33 GMT

It's nice to see that the broader community of Arduino, Raspberry Pi and Beagleboard Beaglebone users is a friendly and seemingly mature one.

Each of these board computers has its own adherents, but few of them seem to feel the need to engage in the kind of hair-pulling and name-calling that defined the Windows versus Mac spat of the 1990s and the Android-iOS face-offs we're seeing today.

Beagleboard Beaglebone Black

Black adder: all you need to run the new Beaglebone is a free USB port on your computer

That said, it's hard not to start trying to stir things up a bit - and we tech journalists are certainly guilty of egging on more confrontational users - by lining these boards up against each other. Especially since, at first glance, Beagleboard's latest offering, the Beaglebone Black, seems to be out to get one over the trendy Raspberry Pi.

Comparing the two isn't entirely invidious: many folk who might have been considering the Pi for use as a very tiny desktop computer or media server, may now be thinking the Black, with its more powerful processor, might not be a better bet. Likewise, if you're seeking a compact board around which to construct a hardware project, you might well want to see which of these boards might best meet your needs.

This kind of hardware hackery is where the Black, like its predecessor, comes from. The Pi has found an audience among the "maker" community too, though its origins lie in education. Equally, it's entirely possibly that people looking to learn to code - or to encourage their kids to do so - may also be eyeing the Black and wondering whether they should pick it over the Pi.

Beagleboard Beaglebone Black

Board members: Raspberry Pi (left) and Beaglebone Black

Personally, that's where my interest in the Black lies - though I'll consider its other roles in this review too. I bought a Pi because I wanted a platform I could use to get closer to the computer components that modern operating systems and designs hide behind hardware abstraction layers: a world of UARTs and I^2C buses, and of assembly language coding, but also of breadboards, LEDs, resistors and other simple electronics.

Oh, and I'm trying to get my nipper to learn Python too.

When I bought my Pi, I was aware of the original Beaglebone, but the buzz over here was really surrounding the Pi, and that's why I went for the home-grown option. But should I switch allegiance to the new Beaglebone?

The Black, then, is a tiny board based around a Texas Instruments Sitara AM335x system-on-a-chip, itself derived from ARM's Cortex A8 architecture. Its single processor core can clock to 1GHz, it has a PowerVR SGX 530 graphics core, plus all the memory, display and connectivity IO control you'd expect from a modern system-on-a-chip. Beagleboard has hooked the AM3359 up to 512MB of low-power DDR3L memory clocked at 400MHz, a USB 2.0 port for peripherals, a 10/100Mbps Ethernet jack for networking and a (spring-loaded) Micro SD slot for storage. You can hook up a TV or monitor using HDMI.

Beagleboard Beaglebone Black

The Black has many, many IO pins, in two arrays of female ports top and bottom in this picture

For the hardware hackers there are no fewer than 92 expansion pins, exposed through the two banks 46-pin female connectors on either side of the board, with six further serial pins for debugging. A point to note is that the construction of the Black's expansion makes it easy for extra circuit boards to clip securely into both of IO slots, whether they use all or the pins or not. Beagleboard calls these add-ons "capes" and there are a fair few on the market already that add to the Black's features. That's true of the Pi too, but the Beagleboard solution is more elegant and better suited to assembling stacks of boards.

The Black is more powerful and more capable than its predecessor, but it's less well connected than the Pi, particularly the Model B. The Black has only one USB port for peripherals, which is disappointing since there's room on the board for a double-decker two-port block of the kind the Pi offers. These are no taller than the Ethernet port. Two USB ports is the bare minimum, particularly if, like me, you want to hook up a keyboard and mouse without having to resort to a powered USB hub, though that's an essential add-on if you want also wireless networking and Bluetooth on your Pi.

The Black has a number of power feeds. The most obvious one is a cylinder DC jack, which initially annoyed me because I don't have any compatible AC adaptors kicking around. Why, I cried, doesn't it use a micro USB slot like the Pi does? I have plenty of USB transformers and micro USB cables. In fact, the Black does, sort of: its second power port is a mini USB port and if you don't have a suitable cable already, no matter: the Black comes with one. And if mini USB and cylinder ports weren't sufficient, there's an unsoldered four-pin header on the board for battery power connections.

Beagleboard Beaglebone Black

A second USB host port would have been nice

I did need to buy a micro HDMI cable in order to hook the Black up to my TV. I was going to buy a simple adaptor for a regular HDMI cable, but it's a good job I didn't: the USB and HDMI ports on the Black are so close I wouldn't have been able to get plugs into both. Meanwhile, the Pi has a full HDMI connector which is spot-on for modern TV connections, but if you have an older telly it also has composite-video output and, for good measure, a 3.5mm analogue headphone jack. These the Black lacks. Incidentally, the Pi uses full-size SD cards for storage, but that's neither better nor worse than the Black's Micro SD.

IO, oh aye

The Pi has fewer general-purpose IO pins, but it has a number of extra connectors on the board that can be soldered to, and it also has a couple of ribbon-type connectors, one of which is used for the now-available Pi camera module.

Beagleboard Beaglebone Black

Wired networking comes as standard. The mini USB port is for power and headless operation

Clearly, then, the Pi has some advantages over the Black, but the Beaglebone is not without its merits. For a start, its operating system, an embedded Linux distro called Angstrom, is pre-loaded on the device in 2GB of flash fitted onto the board, a feature the Pi lacks. Hook the Black's mini USB port into a Mac, Linux or Windows machine for power, and it'll boot up, ready for access in a few seconds.

A small, 75MB part of the eMMC storage mounts on your desktop. Inside, you'll find some HTML page files that help you set up your machine to fully communicate with the Black using the USB link as a network proxy, if your OS doesn't support this already.

Once you've done the setup, you have interactive access to the pages served by the Black's own web server, which take you through updating the software, give you the opportunity to use the bundled web-based IDE, Cloud 9, and give you a brief run through Bonescript, a library of Beaglebone control functions you can use in JavaScript, the primary coding language for the Beaglebone family.

Beagleboard Beaglebone Black

The Black can take Micro SD storage, but with 2GB of on-board Flash, a card isn't essential

The upshot is that you can run the Black headlessly (sans monitor in other words) to operate, prepare and install software, all out of the box - which, as I say, also contains the mini USB cable you'll need. In fact, board and cable are the only things in the box other than a quick-start card.

Now, a Pi user - heck, this Pi user - will tell you you can run a Raspberry Pi headlessly, too. However, not in a way that's as easy and as elegant as hooking computer and board together over a single cable - which, since it provides power, means you need literally nothing else attached to the Black. I'm sitting here, writing this review, and the Black's LEDs are flashing away on voltage delivered by the spare USB port on my office Mac's extended keyboard. Because of the on-board eMMC, I don't even need a storage card.

I had the Black delivered at work, but I didn't have to wait until I got home before I could begin using it. I just hooked it up to my computer. If I'd been using a wireless keyboard, I'd have used one of the main unit's USB ports instead.

Beagleboard Beaglebone Black

The Black's chips include a TI ARM SoC and 2GB of eMMC

Anyone who's used the old Beaglebone will be used to this because it lacked any kind of TV output - it had less memory and no hardwired flash storage either, by the way - but as someone new to the platform, I found it a revelation.

This approach is particularly handy for folk using the Black as the basis for a broader hardware project as it saves them from having to hook up the board to its own monitor, keyboard and mouse before dropping it into the gadget they're making. Connected to a TV, the Black boots straight into the Gnome desktop, so you'll need mouse and keyboard, and so a USB hub - or keyboard with integrated hub - is a requirement.

I mentioned that JavaScript is the main development language for the Black. Coders who prefer Python - and beginners - may want to check out Matt Richardson's mrBBIO, a Python module written to provide access to the BeagleBone's IO pins. It's easy to transfer the module to a headless Black using the scp command.

Beagleboard Beaglebone Black

Cramped connectors: HDMI and USB plugs barely fit alongside each other

Alas, once on the Black, myBBIO and similar modules, such as Alexander Hiam's Arduino-oriented pyBBIO, break due to changes board developer Beagleboard has made to the Black's operating system. Specifically, the Black ships with Linux kernel 3.8 and supports the Device Tree system to simplify considerably the interaction between the operating system kernel and hardware - but the interfacing software above all that needs to know about the device tree and where data is located, and that's where incompatibilities have crept in.

Beagleboard co-founder Jason Kridner explains the rationale behind the move in a post over at LinuxGizmos.

Fast forward

Adopting the device tree approach should make it much easier to support new hardware on the Black, which is why Beagleboard decided to adopt it with 3.8. But the immediate cost is incompatibility with some existing capes, with software modules like those I've already mentioned, and with many of the user-community guides and tutorials newcomers rely on to get them up to speed with programming their boards.

Cloud9 IDE

Headless coding using the Cloud8 web IDE

It's possible to downgrade Angstrom - or use an alternative distro, of course; more on this below - to regain previous Beaglebones' kernel 3.2 and, with it, compatibility with existing modules and add-ons, but kernel 3.8 and the device tree are the future for the Black and its successors.

The Black's AM335x processor incorporates a sub-processor supporting ARM's NEON SIMD (Single Instruction, Multiple Dispatch) engine. With the right software, this can be used to accelerate video coding. By contrast, the Pi's ARM-compatible Broadcom BCM2835 SoC has on-board H.264 encoding and decoding hardware with 1080p support out of the box, which will be of more use than NEON to general users and to media-centre builders in particular. Its HDMI port also supports 1920 x 1080, whereas the Black's will only reach 1280 x 1024. HDMI is the Black's only audio output too.

The AM335x is set to clock higher than the Pi's chip can go - 1GHz compared to 700MHz - but it's possible to manually clock the Pi up. It's worth remembering though that if you've tried the Pi and found it a tad tardy, that's most likely because you've been running its GUI which is handled entirely by the CPU not the integrated GPU.

Beagleboard Beaglebone Black

HDMI output is limited to 1280 x 1024

The Pi Foundation - the British charity that designed the $35 board - is working on a fix: porting the Wayland graphics engine to the BCM2835 will make use of the chip's GPU and, if a tech preview is anything to go by, will make the Pi desktop much more responsive. It won't be ready for public consumption until later this year, but it means you may not need to replace your Pi if its current desktop slowness is getting you down. I'll be honest: this has been bugging me, and it's one of the reasons why I was so keen to try the Black. The Black's desktop animates more smoothly, but performance is overall quite Pi-like.

You'll probably want to try the Black if Android is your thing. There's a working version of Jelly Bean available for the Black, provided by Texas Instruments in support of its Sitara SoCs. On the Pi, Android is languishing in dire need of an official Broadcom port which should include the hardware acceleration absent from the various barely useable ports based on CyanogenMod ROMs.

The other mainstream OS choice is Linux, which is well supported by various ARM-compatible distros for both boards, plus there some other compatible OSes, too: QNX on the Black, for instance, and RISC OS on the Pi.

Beagleboard Beaglebone Black

A separate USB hub is essential

It's barely worth talking about price when the Black and the Pi are as cheap as they are. Just looking at one UK seller, RS Components, the Black is £31.65, the Pi Model B £31.20. If you plan to hook either up to a TV or monitor and use it as a desktop computer, the cost of adding the extras is much the same. You'll certainly need a USB hub for the Black, but the Pi requires an SD card, something the Black can do without thanks to its on-board eMMC.

The Reg Verdict

As two variations on the same theme, the differences between Pi and Black are subtle. Your specific needs will guide you to one or the other, but generalists can adopt either - or both. The Black is clearly the more suitable device for hardware projects, the Pi the choice for low-cost educational computing.

That said, the two are largely interchangeable. Both are equally inexpensive, and have large, active user communities providing support and software for beginners and experienced users alike.

It may take Beaglebone buffs some time to catch up with the deep changes made to the Black's core software architecture, but catch up they will. Unfortunately, in the meantime, the Black will thus be less suitable for novices than the Beaglebone once was. ®