Friday, May 10, 2013

Arduino Uno vs BeagleBone vs Raspberry Pi | Bits & Pieces from the Embedded Design World

Arduino Uno vs BeagleBone vs Raspberry Pi | Bits & Pieces from the Embedded Design World
We like to build stuff here at Digital Diner. There is always some sort of project going on. These days, most of our projects include some sort of digital component – a microprocessor. If you haven’t gotten bitten by the Maker bug yet, we strongly encourage it. It can be incredibly rewarding. If you have even a minimal understanding of programming, there are websites, platforms and tools to help you develop your skills to the point where you actually create a hardware device with buttons, knobs and servos – a real physical world gadget. Software is fun, but when you can make your project physical it is even better.
There are so many great platforms for creating digitally enabled devices that its gotten hard to figure out which one to use. For example, we are currently building a hydroponic garden project and had to choose a controller to run the pumps, read the sensors etc. We were surprised at the number of choices that were available to us. It can be a little confusing for the beginner. To help, we’ve taken three of the popular models and compared them so that you can choose the right tool for your next project. Spoiler: we recommend all three.
The three models (all of which we use here at Digital Diner) are the Arduino, Raspberry Pi and BeagleBone. We chose these three because they are all readily available, affordable, about the same size (just larger than 2″ x 3″) and can all be used for creating wonderful digital gadgets. Before we get to the comparison, here is a brief introduction to each one.
Arduino with Atmel
Arduino with Atmel
The Arduino Uno is a staple for the maker community.  Arduinos come in various sizes and flavors, but we chose the Arduino Uno as an example of the prototypical Arduino.  It has an easy to use development environment, an avid user base and is designed to be easy to interface all sorts of hardware to.
Rasberry-Pi
Rasberry-Pi
The Raspberry Pi is the newcomer to the game.  It isn’t really an embedded computer.  It is actually a very inexpensive full-on desktop computer.  It is barebones, but at $35 for a real computer, its worthy of note, and it is a great platform for lots of Maker projects.
BeagleBone
BeagleBone
The BeagleBone is the perhaps the least known of these platforms, but an incredibly capable board worthy of consideration for many projects.  It is a powerful Linux computer that fits inside an Altoid’s mint container.
underside of Rasberry-Pi
underside of Rasberry-Pi
Raspberry Pi
The underside of the Raspberry Pi.
All three boards features that make them valuable to the hobbyist.  Below is a chart I put together outlining the features of the three for comparison.  If you aren’t familiar with what all these mean, that is fine.  However, there are a few differences that make each of these gadgets shine in their own types of applications.
Comparing the Three Platforms
Comparing the Three Platforms
Comparing the three platforms.
First, the Arduino and Raspberry Pi and very inexpensive at under $40. The BeagleBone comes in at nearly the cost of three Arduino Unos. Also worthy of note is that the clock speed on the Arduino is about 40 times slower than the other two and it has 128,000 (!) times less RAM. Already, you can see the differences starting to come out. The Arduino and Raspberry Pi are inexpensive and the Raspberry Pi and BeagleBone are much more powerful. Seems like the Raspberry Pi is looking really good at this point, however, it’s never that simple. First, its price isn’t quite as good as it seems because to run the Raspberry Pi you need to supply your own SD Card which will run you another $5-10 in cost.
Also, despite the clock speed similarities, in our tests the BeagleBone ran about twice as fast as the Raspberry Pi. And perhaps most counterintuitive, the Arduino was right in the mix as far as performance goes as well, at least for a beginner. The reason for this is that the Raspberry Pi and BeagleBone both run the Linux operating system. This fancy software makes these systems into tiny computers which are capable of running multiple programs at the same time and being programmed in many different languages. The Arduino is very simple in design. It can run one program at a time and it programmed in low level C++.
An interesting feature of the BeagleBone and the Raspberry Pi is that they run off of a flash memory card (SD Card in the case of Raspberry Pi and MicroSD Card in the case of BeagleBone). What this means is that you can give these boards a brain transplant just by swapping the memory card. You can have multiple configurations and setups on different cards and when you swap cards, you’ll be right where you left off with that particular project. Since both of these boards are fairly sophisticated, it even means that you can easily change operating systems just by creating different cards to swap in.
Choosing a Platform

No comments:

Post a Comment