Beagleboard hackaday

The BeagleBone has long been a favorite for real-time I/O, and now with the release of the PocketBone — the tiny key fob-sized BeagleBone — there are ever increasing uses for this tiny little programmable real-time Linux module. The Bela Mini, just released, is the latest add-on cape to take advantage of the processing power of the micro-sized PocketBone.

The Bela Mini is a shrinkification of the original Bela, a cape add-on for the BeagleBone. The original breaks out eight analog inputs and eight analog outputs, both sixteen-bits deep. With the addition of powered speaker outputs, the Bela turns the BeagleBone into the perfect tiny audio-Linux-thing, with a special emphasis on Pure Data and other audio wizardry.

There have been many attempts to add real-time audio to microcontrollers and Linux boards, but few examples have lived up to the hype.


Most of the time, this comes down to the choice of microcontroller or module; an ATmega-based Arduino doesn’t have real analog outputs and instead relies on PWMing a digital signal. A Raspberry Pi-based Pure Data box does not have a real-time I/O. This is where the choice of the PocketBone shows its strength. The PocketBone uses the same chip as the BeagleBone, and with that comes the Programmable Real-Time Units (PRUs). This enables the Bela to interface with signals with a dedicated controller in real-time. It’s exactly what you want for audio applications. Posted in ARM, Musical Hacks Tagged beagleboard, Bela, Bela Mini, PocketBeagle

[Ken Shirriff] is no stranger to the pages of Hackaday. His blog posts are always interesting, and the recent one talking about the PocketBeagle is no exception. If you are old enough to remember the days when a Unix workstation set you back tens of thousands of dollars, you won’t be able to help yourself marveling at a Linux computer with 45 I/O pins, 8 analog inputs, 512M of RAM, and a 1 GHz clock, that fits in your pocket and costs $25. What’s more the board’s CPU has two 200 MHz auxiliary CPUs onboard to handle I/O without having to worry about Linux overhead.

These last parts are significant, and although the Beagles have had this feature for years ([Ken] talked about it earlier), the access and communication methods for using these slave processors has become easier. [Ken] shows a small snippet of C code that outputs a 40 MHz square wave no matter what the Linux OS is doing. In this way you can use Linux for the parts of your application that are not that critical, and use the slave processors to handle real time processing.

Over the last year or so, the BeagleBoard community has seen some incredible pieces of hardware. The BeagleBone on a Chip — the Octavo OSD335x — is a complete computing system with DDR3, tons of GPIOs, Gigabit Ethernet, and those all-important PRUs stuffed into a single piece of epoxy studded with solder balls. This chip made it into tiny DIY PocketBones and now the official PocketBeagle is in stock in massive quantities at the usual electronic component distributors.

For this week’s Hack Chat, we’re talking about the BeagleBoard, BeagleBone, PocketBeagle, and PocketBone. [Jason Kridner], the co-founder of BeagleBoard and beagle wrangler, will be on hand to answer all your questions about the relevance of the Beagle platform today, the direction BeagleBoard is going, and the inner workings of what is probably the best way to blink LEDs in a Linux environment.

Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This Hack Chat will be going down noon, Pacific time on Friday, October 13th. Wondering why the Brits were the first to settle on a single time zone when the US had a more extensive rail network and the longitude so time zones made sense? Here’s a time zone converter! Use that to ponder the mysteries of the universe.

If you’ve done a lot of embedded systems work, you probably already know C and C++. If so, it is pretty easy to grab up a C compiler and write a command-line application that does what you want. The problem is that today’s users have varying degrees of fear about the command line ranging from discomfort to sheer terror. On a mobile device, they probably don’t even know how to get to a command line. I’ve been waiting for years for the WIMP (Windows/Icon/Mouse/Pointer) fad to fade away, but even I have to admit that it is probably here for the foreseeable future.

You might think Qt isn’t free. There was a time that it was free for open source projects, but not for commercial projects. However, recent licensing changes (as of version 4.5) have made it more like using gcc. You can elect to use the LGPL which means it is easy to use the Qt shared libraries with closed software. You might also think that a lot of strange constructs that “extend” C++ in unusual ways. The truth is, it does, but with QtCreator, you probably won’t need to know anything about that since the tool will set up most, if not all, of that for you. Background

There are many classes available, and the online documentation is quite good. Depending on which version of Qt you are using, you’ll need to find the right page (or ask QtCreator to find it for you). However, just to whet your appetite, here’s the Qt5 reference page. From there you can find classes for GUI widgets, strings, network sockets, database queries, and even serial ports.

The QSerialPortInfo object provides an array of serial port objects. The ui->comport is a combo box and the addItem method lets me put a display string and a data item in for each selection. In this case, the display is the portName of the port and the extra data is just the index in the array (as a variant, which could be different types of data, not just a number). When you select a port, the index lets the program look up the port to, for example, open it.

Officially, the latest hardware revision we’ve seen from BeagleBoard is the BeagleBone Black, a small board that’s perfect for when you want to interface hardware to a Linux software environment. This last summer, the BeagleBone Green was introduced, and while it’s a newer hardware release, it’s really just a cost-reduced version of the BB Black. Over the entire BeagleBoard family, it’s time for an upgrade.

The new BeagleBoard features a dual-core ARM Cortex A15 running at 1.5GHz. There is 2GB of DDR3L RAM on board, and 4GB of EMMC Flash. Outputs include three USB 3.0 hosts, two Gigabit Ethernet controllers, one eSATA connector, LCD output, two PCIe connectors, and an HDMI connector capable of outputting 1920×1080 at 60 FPS. The entire board is open hardware, with documentation for nearly every device on the board available now. The one exception is the PowerVR SGX544 GPU which has a closed driver, but the FSF has proposed a project to create an open driver for this graphics engine so that could change in the future.

The expected price of the BeagleBoard X15 varies from source to source, but all the numbers fall somewhere in the range of $200 to $240 USD, with more recent estimates falling toward the high end. This board is not meant to be a replacement for the much more popular Beagle Bone. While the development and relationship between the ~Board and ~Bone are very much related, the BeagleBone has always and will always be a barebone Linux board, albeit with a few interesting features. The BeagleBoard, on the other hand, includes the kitchen sink. While the BeagleBoard X15 hardware is complete, so far there are less than one hundred boards on the planet. These are going directly to the people responsible for making everything work, afterwards orders from Digikey and Mouser will be filled. General availability should be around November, and certainly by Christmas.

While it’s pricier than the BeagleBone, the Raspberry Pi, or dozens of other ARM Linux boards out there, The BeagleBone has a lot of horsepower and plenty of I/Os. It’s an impressive piece of hardware that out-competes just about everything else available. We can’t wait to see it in the wild, but more importantly we can’t wait to see what people can do with it.