Skip to main content

BeagleBoard

BeagleBoard

BeagleBoard has many open-source offerings and they all work with the DUELink ecosystem.

BeagleBoard Family of Products

Any of the Coding Language options can be use on these boards. Depending on the boards, there might be an easier way to connect DUELink modules.


BeaglePlay

This board has a built in JST connector with I2C signals, I2C5 to be exact! Their Qwicc Example is a good starting point on how to access the I2C bus, which is where you can tether DUELink modules.

BeagleBoard


BeagleY-AI

This board has a Raspberry PI compatible footprint/pinout. We recommend using DUELink DuePI, which adds a display, a buzzer, a terminal block, and Downlink socket.

BeagleBonePlay with DUEPI

DuePI uses UART for communication. Here is an example to show the system's IP address on the display.

import sys
import serial
import time
import socket

from DUELink.DUELinkController import DUELinkController

def get_ip_address():
try:
# Get all IP addresses associated with the hostname, filtering out 127.0.0.1
ips = [ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")]
if ips:
return ips[0] # Returns the first non-loopback IP address found
else:
# If no non-loopback IP is found, try connecting to an external server to determine the IP used
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80)) # Connect to Google's DNS server (doesn't send data, just sets up connection)
ip = s.getsockname()[0]
s.close()
return ip
except socket.error:
return None


myip = get_ip_address()

# DUELink connection
availablePort = DUELinkController.GetConnectionPort()
duelink = DUELinkController("/dev/ttyAMA0") # uart port define

# DUELink graphics
# Show IP address on screen
duelink.Graphics.Clear(1)
duelink.Graphics.Text("--DUELink--", 0, 33,5)
duelink.Graphics.Text("My IP:" + myip, 0, 1,20)
duelink.Graphics.Show()

# Beep once a second
while True:
duelink.Sound.Beep(14,1000,100)
time.sleep(1)

Other Beagles!

You can use the Breakout module to wire UART Interface or I2C Interfacefrom any BeagleBoard.

BeagleBone Black Breakout UART

When using I2C, pull-up resistors are required. The DUELink PullUp module is available if needed.

BeagleBone Black Breakout I2C

You are now ready to control DUELink modules using one of the Coding Language options.