Table of Contents
Introduction
I have recently purchased a BeagleY-AI and I was playing with it for a while now. Here is my experience with the hardware so far.
Ever since I got Beagle Bone Black ( almost a decade ago), I am big fan of them. Compared to the Raspberry Pis BeagleBone boards are completely open source and remained the most loved among Linux kernel and embedded systems developers. In the recent years lot more variants of BeagleBone boards have came to the market. Like BeagleV variants.
I personally worked on a RISCV variant in the past. But that project never made to mass production!
BeagleY-AI was launched in March 2024. This SBC was designed primarily focusing AI/ML inference on edge use-cases.
Board features
Processing:
- TI's AM67A - Quad-core 64-bit Arm®Cortex®-A53 CPU subsystem at 1.4GHz (https://www.ti.com/product/AM67A)
This many not be the best processor core out in the market compared to A76 cores which can clock at 2.4GHz
- Dual general-purpose C7x DSP with Matrix Multiply Accelerator (MMA) capable of 4 TOPs
Hmmm...This is a very interesting feature! Edge TPUs from google can generate the same kinda performance.
- Arm Cortex-R5 subsystem for low-latency I/O and control
Beagle Bone Blacks had PRU(Programmable Logic Units)
- 3D Graphics Processing Unit with OpenGL ES3.2 and Vulkan 1.2 API support (@50GFLOPS)
- Video and Vision accelerators
Interfaces:
- 4GB LPDDR4
- PCI-Express® Gen3 single lane controller
- Gigabit Ethernet
- microSD card socket
- Bluetooth® 5.4 with Bluetooth Low-Energy (BLE)
- 3 Simultaneous Displays- microHDMI. OLDI (LVDS) with touchscreen support, MIPI-DSI
- 4x USB3 (5Gbps) type-A host ports
- 1x USB2 (480Mbps) type-C device
- 40-pin expansion header
- Fan power and control connector
- 3-pin JST-SH console UART
- 10-pin TAG-CONNECT JTAG header
On a first look the board looked a lot like the new Raspberry Pi 5. Placement of the connectors and interfaces are spot on. Even though they look very similar there are some differences. For example in RPi5 both the MIPI connectors can be configured as CSI or DSI. But in BeagleY-AI only one of them can be configured as DSI/CSI and other remains as a CSI connector. There is only one micro HDMI connector available unlike 2 in RPi5. But I think one is suffice for most of the applications. In fact I never used two HDMIs at the same time on my RPis.
There is an OLDI, LVDS display connector on the back side. I didn't like the placement of the connector. Chances of damaging the connector is quite high in my opinion. But I liked the idea of giving LVDS instead of converting that RGB888 line to another HDMI. RGB888 LCD screens are much cheaper compared to MIPI-DSI or HDMI displays.
Preparing for the first boot:
Power
BeagleY-AI can be powered using 5Volts 3 Amps power supply or using PoE. RPi PoE hats can be used. In my case, I am powering up the board using a USB type c power supply.
The board doesn't have a USB Type C PD chip. Instead, it shorts the CC lines to ground using a 5.1k resistor. This will deliver 3Amps at 5Volts through the USB.
Board has a PMIC TPS65219 ( https://www.ti.com/product/TPS65219 ) - Generating 3v3 , 1.8V for IOs and 1v1 for DDR. VDD Core voltage is generated using high current buck converter TPS62872 ( https://www.ti.com/product/TPS62872 )
Boot source options:
- SD Card (Default)
- Boot from ethernet
- NVMe Drivers ( Uboot has to be loaded though SDCard )
Preparing the SD Card:
Like RPi Imager, Beagle Boards SD cards can prepared using BB-Imager (https://www.beagleboard.org/bb-imager ).
The idea is you don't have to worry about downloading and preparing the SD Card, Everything will be taken care of by the BB-Imager. I used Ubuntu 22.04 for preparing the SD Card. Unfortunately I didn't get the SD Card prepared correctly at the first attempt. Downloading the OS failed multiple times on my system. Then I had to download the OS (Debian XFCE) separately and load it to BB-Imager. Finding the latest OS path was also not as easy as I thought. The first link(https://www.beagleboard.org/distros/beagley-ai-debian-12-5-2024-06-19-xfce) didn't work ( I mean it worked but not as expected, lightDM was not working). So I googled up a bit and got this https://files.beagle.cc/file/beagleboard-public-2021/images/beagley-ai-debian-12.6-xfce-arm64-2024-07-11-12gb.img.xz and it worked.
Before proceeding with the write to flash we can configure the username, password, enabling ssh, WiFi SSID passkey etc.
Note : I have used Sandisk 64GB Exteme microSD Card
OS in the microSD card consists of two partitions, BOOT and rootfs
BOOT contain uboot image and configuration file (extlinux) cmdline.txt device tree blob, kernel image and a bunch of dtb overlays
BOOT PROCESS
There is a two color (RED and GREEN) LED Indicate the status of the booting When uboot booting constant RED color will glow. As soon as the Linux kernel is loaded then GREEN Led will start blinking (heart beat).
I have connected hdmi to a monitor and connected my RPi Pico Debug probe's UART console.
Performance
Thermal
With the debian XFCE OS ( Linux kernel 6.1.83-ti-arm64-r63 ) booting takes around 34 seconds to get to the login screen.
Without the heatsink the device was heating up quite badly. Even when the device is idling temperature measured on the surface of the chip was nearly 58-60 degrees Celsius! Luckily I had a spare Rpi4 heatsink with me.
stress-ng running FFT on all 4 cores, temperature rose up close to 70 degrees. At this point I think the CPU started de-throttling to keep the temperature low.
In my opinion it's always preferred to run the device with the heatsink.
Desktop experience:
Those who have used RPi4 or RPi5 they may find the user experience quite slow and laggy. But the primary usecase of this hardware is not really as a general purpose computing device more focused towards ML/AI inference applications. I will cover that in the coming blogs.
Part 2-3: I will cover bench-marking the co-processors and how to use the peripherals in the coming parts of this blog
Part 4 : A one on one comparison of ML/AI inference performance with RPi4 and 5
References:
- https://www.beagleboard.org/boards/beagley-ai
- https://docs.beagleboard.org/latest/intro/index.html
- https://docs.beagleboard.org/latest/boards/beagley/ai/03-design.html
- https://pinout.beagley.ai/
- https://files.beagle.cc/file/beagleboard-public-2021/images/beagley-ai-debian-12.6-xfce-arm64-2024-07-11-12gb.img.xz