Hello All!

This is just a quick post that I'm going to do on my first impressions of the Beaglebone Black. I just got my hands on one this weekend and (Spoiler Alert!) so far I'm loving it!

Introduction

I have been playing around with various MCUs and learning boards for a while now, and so far I had loved the Raspberry Pi and the Arduino. Both are awesome boards but both serve different purposes.

I first got a Raspberry Pi, which is basically a full fledged computer. I loved this fact because I could decide what programming languages I wanted to use and I could use them for a variety of purposes, from running a print server for my 3D printer to controlling the lights in my room through a relay. It is because of this that I actually own like 6 of them!

However, I realized that for alot of my purposes the Raspberry Pi was just not right. The main 2 reasons being:

  • It was large and power hungry!
  • It did not deal with analog inputs.

I still kept them for my more performance hungry applications(print, web and home automation servers), but I decided to replace them with Arduino's for the more simple applications, mostly the ones that just read data from sensors and fed them somewhere else.

Once I got my hands on the Arduino, I started really liking it for all my analog applications, however the most annoying part was the fact that it did not have any network capabilities, which meant I came up with my own point-to-point network protocol(A post for another time) using some cheap communication modules. While this has been working for me great so far, I am not completely happy with the fact that I had to rely on an insecure network protocol and that I required a bridge to get the data to my server. Now, I know that adding ethernet/wifi is a possibility for an Arduino, but it was(in my opinion) unnecessarily expensive(~$60 for a wifi shield vs <$10 for a wifi dongle for the Pi).

Then while doing some research on embedded systems, I came accross the Beaglebone Black. At $60, I knew it was alot more expensive than the Arduino or the Pi, but I did realize that I would be getting the best of both worlds! So that brings us to today! I have got my hands on one and this post is all about my first impression of it.

First Impressions

Getting up and running with the board was actually quite easy, I used the instructions on their website and all I had to do was download some drivers and before I knew what was happening, I was up and running. I loved the fact that right out of the box, it has a web server running just to show you its capabilities. I was also VERY impressed by the fact that it had a pretty cool IDE on board that I could access straight from my web browser.

To really get down and dirty with the board, I started out with the demo examples. The first thing that struck me here was that they were all in Javascript!! Which, to a web developer like me, was just an amazing treat. I started looking into BoneScript, which is their library for Javascript/Node.JS specifically for the Beaglebone. I also realized that this meant writing code for the beaglebone, atleast for me, would be way faster than the Arduino and would be atleast as fast as writing code for the Pi!

What they have basically done here, is wrapped up the nice familiar functions from the Arduino programming language into Javascript and made it much easier for an average developer to hit the ground running.

The next thing that I realized that this board had alot of GPIO! Which to be fair, is mostly unnecessary for my projects(I have never run out of GPIO on a Pi or on a Arduino nano). But still, it was nice to have, and suddenly the higher costs of the board got justified in my mind. It truly had the best of both the Pi and the Arduino's. To add to that it has a bunch of modes for these expansion pins that allow them to reconfigured depending on needs, it supports upto 65 possible digital IOs, or 8 PWMs and 4 Timers(and many GPIO to spare), it also 7 Analog inputs, up to 4 UARTS, 2 I2C ports and 2 SPI ports! Which in my book is just plain AWESOME! This would make such a good board for some kind of autonomous robot/car etc.

Another really cool thing about the Beaglebone, is that (thanks to TI) it already supports awesome OS's like Android, Ubuntu, Contiki and RTOS right out of the box, which is just amazing for prototyping new hardware for most of us DIY hackers.

Conclusion

While this board has definitely made my day, I also realize that it is probably overkill for most projects, but I definitely think it is the board I will be using for most of my prototyping. It just has the best of both worlds! It is also good when you don't know how many GPIO you will need for a project. At the end of the day, it is a great board that, in my opinion, justifies the cost if you need alot of GPIO or if you want to protype for various projects! For most projects, either a $10 Arduino or a $35 Pi are more than enough. But sometimes, just sometimes, you need both! If we start interfacing them together, all the complexities increase, and the power consumption increases. I would definitely recommend it MORE than the Pi or the Arduino for anyone who wants to get started with hacking electronics, and for people who want a tiny computer that can do just a little bit more than the Pi.