1 of 24

State of the Beagle

BeaglePlay, BeagleConnect and beyond!

Jason Kridner <jkridner@beagleboard.org>

Drew Fustini <drew@beagleboard.org>

2 of 24

BeagleBoard.org Foundation is a non-profit organization seeking to improve the state of embedded Linux and Zephyr development.

Learn more about our mission: bbb.io/about

3 of 24

Christine Long�CEO

Robert Nelson

Board Member

DigiKey

Jason Kridner

Board Member

JK Embedded

Mark Yoder

Board Member

Rose-Hulman �Institute of Technology

Drew Fustini

Board Member

BayLibre

Kathy Giori

Board Member

MicroBlocks

BeagleBoard.org Foundation Leadership

4 of 24

What is BeagleBoard.org?

Visit bbb.io/about to learn more

  • Community supported by non-profit BeagleBoard.org Foundation in the United States
  • Focus on embedded, reliability, longevity, control and machine learning, not just cheap computers
  • Approach is open and collaborative with open hardware, detailed documentation and fully open source software
  • Entrepreneurial and open community of domain experts that share our passion and approach

Embedded Open Source Summit 2023 (Prague)

5 of 24

Join the BeagleBoard.org community

6 of 24

Join the BeagleBoard.org community

7 of 24

8 of 24

  • Open source NPU stack on C7x DSP and MMA
  • Program in Python instead of just C
  • Bring TF Lite model into AI-64 using open source tool
  • Edge AI tutorial

9 of 24

BeaglePlay

  • TI Sitara AM625
    • 1.4GHz quad-core Arm Cortex-A53
    • Arm Cortex-M4F
    • PRU Subsystem
    • HDMI, USB 2.0, CSI
    • Gigabit Ethernet
    • 5GHz, 2.4GHz and sub-1GHz wireless
    • Single-pair Ethernet with power-over-data-line
    • PowerVR Rogue AXE-1-16

10 of 24

BeaglePlay

  • 1,000s of available off-the-shelf sensors, actuators, indicators and connectivity options over mikroBUS, Grove, and QWIIC connections
  • Utilize BeagleConnect technology over the sub-1GHz IEEE 802.15.4 wireless network to a BeagleConnect® Freedom up to 1km away.

11 of 24

BeaglePlay

[PATCH V2 0/3] arm64: dts/defconfig/binding: Add support for BeaglePlay

12 of 24

13 of 24

Zephyr sensor + Linux gateway

Simplifying Zephyr Usage Through Linux Host Integration Jason Kridner (EOSS 2023)

Microcontroller�running Zephyr�with sensor attached

Single board computer�running Linux acting as gateway

Wireless network connection

14 of 24

Zephyr sensor + Linux gateway

Simplifying Zephyr Usage Through Linux Host Integration Jason Kridner (EOSS 2023)

  • Linux nodes can be more expensive, but offer greater remote access and redundant connectivity options
    • Terminal shell, rotated journals, virtualization, and more…
    • Large storage, high-level database queries, …
    • Common execution environment as server infrastructure
  • Zephyr nodes are growing in capability, but data will touch Linux system eventually for storage, analysis and presentation

15 of 24

Greybus and Project Ara

  • Greybus comes from Project Ara
  • Project Ara sought to create a modular mobile phone, so you could update only what you want
  • Needed to make embedded busses hot pluggable
  • In mainline kernel, using Unipro

16 of 24

Zephyr sensor + Linux gateway

Simplifying Zephyr Usage Through Linux Host Integration Jason Kridner (EOSS 2023)

17 of 24

BeagleConnect

Freedom

Zephyr �on CC1352

BeaglePlay

Zephyr on CC1352

Linux kernel on AM62

greybus

gb-netlink**

lowpan0

ieee802154g

bcfserial**

wpanusb**

greybus-for-zephyr**

UART

SubG

Linux userspace on AM62

gbridge**

BeagleConnect and Greybus

Simplifying Zephyr Usage Through Linux Host Integration Jason Kridner (EOSS 2023)

18 of 24

BeagleConnect and Greybus

Simplifying Zephyr Usage Through Linux Host Integration Jason Kridner (EOSS 2023)

debian@BeaglePlay:~$ sudo modprobe opt3001

debian@BeaglePlay:~$ i2cdetect -y -r 6

0 1 2 3 4 5 6 7 8 9 a b c d e f

00: -- -- -- -- -- -- -- --

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

40: -- UU -- -- UU -- -- -- -- -- -- -- -- -- -- --

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

70: -- -- -- -- -- -- -- --

debian@BeaglePlay:~$ iio_info

Library version: 0.24 (git tag: v0.24)

Compiled with backends: local xml ip usb

IIO context created with local backend.

Backend version: 0.24 (git tag: v0.24)

Backend description string: Linux BeaglePlay 5.10.168-ti-arm64-r104

IIO context has 2 attributes:

local,kernel: 5.10.168-ti-arm64-r104

uri: local:

IIO context has 3 devices:

19 of 24

Replace GBridge in BeagleConnect

Ayush Singh for Google Summer of Code 2023

Problem: The existing architecture revolves around GBridge. Ran in userspace and interacted with gb-netlink in kernel. Design was brittle and could hang kernel.

20 of 24

Replace GBridge in BeagleConnect

Ayush Singh for Google Summer of Code 2023

Solution

  • Eliminate GBridge and merge its functionality into greybus (linux driver) and cc1352 driver.
  • Allow Greybus Linux driver to directly communicate with cc1352
  • Move SVC and APBridge roles into cc1352

Videos

Software

21 of 24

22 of 24

T-Head TH1520 (quad-core Xuantie C910 processor)

4GB LPDDR4

16GB eMMC

WiFi/Bluetooth

Ethernet

microUSB 3.0

HDMI

mikroBUS

2 x CSI connector

DSI connector

23 of 24

T-Head TH1520 (quad-core Xuantie C910 processor)

4GB LPDDR4

16GB eMMC

WiFi/Bluetooth

Ethernet

microUSB 3.0

HDMI

mikroBUS

2 x CSI connector

DSI connector

24 of 24