by Jason Kridner
As many of you might have heard, Raspberry Pi launched their next board, the Raspberry Pi 2. There have been noticeable differences in the primary processor performance from the original Pi to Pi 2. This has cause a lot of people to revisit the question of how the BeagleBone Black compares to Raspberry Pi.
The lineage of the two projects tells part of the story. The original BeagleBoard started with a mobile phone processor and the Pi started with a multimedia chip. The Pi 2 still seems to be very multimedia and GUI centric. The BeagleBone and BeagleBone Black (the Bones), however, started with an industrial control and communications chip, the TI Sitara AM335x. These starting points lean to suitability of each being better for certain types of tasks. The Bones are particularly suited to building small connected electronics projects with key advantages in several areas.
The Bones have better I/O capabilities with 7 channel 200kHz 12-bit ADC, 8 PWMs, 4 UARTs, quadrature encoder hardware and much more. This means you don’t have to buy additional components to connect up many more sensors and actuators. An actuator could be something like an LED string, an LCD, a switch or a motor. For example, motor drive strength can be controlled using a PWM and the large number of PWM channels on the Bones make them better for driving motors, even if you need to add a circuit to give the drivers extra strength. Adding external PWM drivers would cost additional money and might incur overheads to update. If you care mostly about connecting electronics, then the Bones might be your best choice.
The Bones also have better real-time control with two 200MHz, 32-bit RISC programmable real-time units (PRUs) that are optimized for single-cycle latency to I/O pins, enabling peripheral emulation and predictable ultra-low latency hard real time control. This mix of Linux and a microcontroller on a single chip makes the Bones able to handle tasks you simply can’t do with another Linux machine and external microcontroller (MCU). This is primarily due to the shared memory nature of the ARM and PRUs in the Bones. An example is BeagleLogic.net, which uses the PRUs to create a 14-channel 100MHz logic analyzer out of a Bone and is capable of streaming over a GB of samples using the ARM CPU to compress the data ahead of storing it. Another example is LEDscape, which is able to use Python scripts to drive hundreds of thousands of LEDs at costing around 50-to-1 less than what you could drive with a Pi, even with an external MCU. So, not only does adding an external MCU add cost, it just doesn’t enable you to reproduce the capability.
The extensive I/O capabilities of the Bones have resulted in over 100 add-on cape boards to add touch displays, sensors including GPS, various network connections including WiFi and 3G, communication busses like CAN, motor control and power/battery management. These enable you to get a quick start on your hardware design and get to developing your software with a head start. While there are many add-on boards for the Pi, there just isn’t enough I/O to get many interface tasks accomplished.
What will matter the most to many people is the fact that the Pi is still closed source hardware with limited documentation of the design and no ability to customize or manage the supply chain. This is only part of why many people consider the Bone more suited to higher educational and professional use. Quality manufacturing in the US is also frequently seen as a bonus by a developer community with many professional Linux consultants looking to help create real products. Open hardware derivatives like the Ninja Spheramid and BBP (BeagleBone 3D Printer) are just the start of new Bone-related designs popping up this year. This is possible due to the open hardware nature of the Bones and use of the Sitara devices that are available for nearly anyone to buy.
The Bone has been around since 2011 with approximately 20 books available for texts, reference and projects. The board boots from the mainline Linux kernel and has been used as reference in courses from Linux professionals for years. When BeagleBoard launched in 2008, we started with an ARMv7 core and became the platform most developers used to bring their product to the ARM architecture, which is why Ubuntu, Debian, Android and others have been running for years from the mainline developer repositories and have well-established references.
Getting started with electronics projects quickly is pretty well optimized on the Bones and on BeagleBone Black we introduced an on-board eMMC flash (4GB as of rev C) that is pre-programmed with a Debian Linux distribution, out-of-box tutorial, IDE and everything you need to start your development. Part of our motivation to include this was the existence of forgery SD cards. The on-board eMMC has clear specifications on performance and reliability which are a must for doing any serious work. The higher bandwidth interface gives a nice performance boost. Having the flash pre-programmed saves significant time and money by delivering an immediate out-of-box developer experience without needing to visit the store again and download huge disk images.
BeagleBoard.org continues to be the innovator and the open partner with BeagleBoard-X15 already in the hands of beta developers, though it hasn’t yet been officially “announced”. That is a bit of the differences in the way we do things. The device documentation is already public and patches for BeagleBoard-X15 have already been pushed on the Linux mailing lists. When BeagleBoard-X15 does launch, it will have many times the performance and interface possibilities than Pi 2.
The Pi 2 is a pretty cool little affordable desktop computer with a business model that makes it attractive for those who want to use it as-is. For those who want to make cool stuff with electronics that includes an embedded Linux computer, they need to be sure to check out what the Beagles have to offer.