The BeagleBoard.org Foundation is hitting the embedded AI scene with their latest edition to the BeagleBone family, the BeagleBone AI. Based around the powerful Texas Instruments Sitara AM5729 processor, the BeagleBone AI also includes 1 GB DD3 RAM, 16 GB eMMC flash on-board, 72 GPIO pins, and runs off of USB 3.0 Type-C. The board is quite beefy and has a lot of flexibility with IoT projects and caters to both machine learning applications and industrial robots. With the TI Sitara AM5729, the BeagleBone AI has some unique features that are different from the standard SBC board. One, in particular, is the use of TI’s programmable real-time units (PRUs).

What’s so great about PRUs? Well, for any application that needs high accuracy and time-critical operations, the PRUs on the BeagleBone AI (it has two dual-core units, for a total of 4 PRU cores) can be used without having a dedicated FPGA or specialized microcontroller board to do so, cutting down the layers and costs of a project that requires low latency. (If you want to learn more about PRUs and examples, there are guides to help you deep-dive into the minutiae.)

With the board marketed for AI applications, we can’t skim through the BeagleBone AI’s specs without mentioning the hardware related to machine learning. The BeagleBone AI comes with 4 Embedded-Vision-Engine (EVE) machine learning cores. These cores are supported by an optimized TI Deep Learning framework (TIDL) with OpenCL API and pre-installed software tools. The TIDL API combined with PRUs is a deadly combo for precise industrial robot applications. The Sitara AM57x SoC line is geared towards making smart factories. I would hardly call the BeagleBone AI a typical SBC.

In terms of user experience, I found the work environment set up for the BeagleBone AI easy. The BeagleBoard Foundation provides a quick start guide to configure the BeagleBone AI and connect your computer to it via USB, Wi-Fi, or Ethernet. Unlike other SBCs I’ve played with, the BeagleBone’s firmware defaults to being headless and preloaded with the Cloud9 IDE, a cloud-based programming environment. Frankly, the Cloud9 IDE made me feel like a grandpa using a computer. I haven’t touched an IDE in years and so working with the interface was initially very jarring. However, after spending some time running examples, I found upsides to using a cloud-based IDE with the BeagleBone AI. For example, writing code directly on the BeagleBoneAI made moving from one computer to another a seamless transition. Being able to access the bash terminal, write code, test code, and flash it to the BeagleBone AI all in one web interface is fantastic. Cloud9 also has the Bonescript Javascript library already included, which allows you to make web applications to control your BeagleBone AI board. I have to admit, Cloud9 is pretty cool and works great with these boards.

The on-boarding experience similarly has a wealth of videosexamplestutorials, and community guides to facilitate an admittedly lengthy learning curve for using their TIDL API. This will not be as simple as the Arduino IDE’s code-and-flash. I found myself nodding off while watching hour-long presentation videos and parsing through the TI promotional content. It was like being transported into a tech convention without all the free merch and food…. AHHHH SAVE ME! Eventually, I became overwhelmed by all the new things I had to learn and juggle to take advantage of the BeagleBone AI’s specs. Despite this, I still believe all the sweet hardware makes it worth getting familiar with the BeagleBone AI. The BeagleBoard community is also friendly and willing to help if you ever get stuck. You can reach out to their forummail listing, or live chat!

 

Notes

Press Kit:

Specs

  • TI AM5729
    • 2 1.5GHZ ARM Cortex-A15
    • 2 C66 DSP supported by OpenCL
    • 4 Cortex-M4
    • 4 PRU for ultra low-latency control and software generated peripherals
    • 4 EVEs supported by the TIDL machine learning library
  • 802.11ac Bluetooth
  • Gigabit Ethernet
  • 5 user LEDS
  • 16GB eMMC
  • lots of PRU I/O pins