EduArt Sensor Ring Library 3.0.1
Loading...
Searching...
No Matches
Hardware

1 EduArt Sensor Boards

The table below shows the current versions of the EduArt sensor boards that can be used with the EduArt Sensor Ring library.

Sensor Board Type

Description

Edu Headlight

  • Headlight of the Raspberry Pi based EduBot
  • ST VL53L8CX 8 × 8 Time-of-Flight sensor
  • Optional Heimann HTPA32x32d thermal sensor
  • 11 Addressable RGB Leds
  • CAN FD Interface
  • Input voltage range 6 V - 65 V DC

Edu Taillight

  • Taillight of the Raspberry Pi based EduBot
  • ST VL53L8CX 8 × 8 Time-of-Flight sensor
  • 2 Addressable RGB Leds
  • CAN FD Interface
  • Input voltage range 6 V - 65 V DC

Edu Sidepanel

  • General purpose sensor board
  • ST VL53L8CX 8 × 8 Time-of-Flight sensor
  • 2 Addressable RGB Leds
  • 38 × 28 mm
  • CAN FD Interface
  • Input voltage range 6 V - 65 V DC

Edu Minipanel

  • General purpose sensor board
  • ST VL53L8CX 8 × 8 Time-of-Flight sensor
  • 28 × 24 mm
  • CAN FD Interface
  • Input voltage range 6 V - 65 V DC

2 Main Components of the Sensor Boards

2.1 ST VL53L8CX Time of Flight sensor

All of the Edu Sensor Boards come with a ST VL53L8CX is a 3D multi zone Time of Flight sensor that returns a grid of 8 × 8 individual 3D distance values per measurement. The measurements from all Time-of-Flight sensors in the EduArt Sensor Ring are combined in a single large point cloud whose resolution solely depends on the number of connected Time-of-Flight sensors. [Product Website]

The key features of the sensor according to the manufacturers datasheet are:

  • Ranging up to 400 cm
  • Measurements with 8 × 8 resolution at 15 Hz
  • Square Field-of-View with 65° diagonal opening angle (45° vertical and horizontal)
  • Accuracy of ±8% or better in most cases (refer to datasheet)

The ST VL53L8CXTime-of-Flight sensor

Visualization of a VL53L8CX measurement

2.2 Heimann HTPA32x32d Thermophile Array

The Edu Headlight sensors boards can be delivered with an optional Heimann HTPA32x32d is an all-in-one integrated thermal imaging sensor. It returns a thermal image with temperature values for each pixel. In addition the Sensor Ring library converts the temperature image into a false color image for better visualization. [Product Website]

The key features of the sensor according to the manufacturers datasheet are:

  • 32 × 32 pixel resolution
  • Measures temperatures between -20°C and >1000°C
  • Available with different optics
  • Developed for person detection

The Heimann HTPA32x32d Thermophile Arrays with different optics

Visualization of a HTPA32x32d measurement

2.3 Individually Addressable RGB LEDs

Some Sensor Boards come with individually addressable RGB LEDs. The LEDs can either be set to predefined color animations or can be set individually through the library. [Product Website]


Individually addressable RGB LEDs

3 Supported Communication Interfaces

3.1 SocketCAN Linux

The Sensor Ring library implements the Linux specific SocketCAN interface to communicate with the sensors. The SocketCAN interface can be used on most Linux machines by using a CAN FD USB adapter with Linux Kernel support or through a SPI to CAN FD adapter for embedded computers like a Raspberry Pi.

To use the SocketCAN interface type you need to connect a compatible CAN adapter to your computer and start the interface.

sudo ip link set can0 up type can bitrate 1000000 dbitrate 5000000 fd on

⚠️ The EduArt sensors have a fixed baud rates of 1 Mbps nominal and 5 Mbps for the data. Make sure your interface matches these rates.

Use the ifconfig or ip addr command to verify that the CAN interfaces are up and running. In this example we have the CAN interface can0 up and running.

$ ifconfig
can0: flags=193<UP,RUNNING,NOARP> mtu 72
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 170

3.1.1 EduArt Raspberry Pi Adapter

EduArt provides a RaspberryPi adapter shield that provides two independent CAN FD interfaces reserved for the sensors. Refer to this guide on how to set up a Raspberry Pi with the EduArt adapter shield. After the setup of the shield you should see three running CAN interfaces with the ifconfig or ip addr command.


A Raspberry Pi with the EduArt adapter shield and one minipanel sensor board.

3.1.2 SocketCAN USB Adapter

The SocketCAN interface can also be used on most Linux machines with a CAN FD adapter with Linux Kernel support like the candleLightFD adapter. These adapters are super easy to use:

  1. Connect the adapter via USB to your computer.
  2. Run sudo ip link set can0 up type can bitrate 1000000 dbitrate 5000000 fd on to start the interface.
  3. Verify that the interface is running with the ifconfig or ip addr command.
  4. Optional: Create a UDEV rule that automatically starts the interface when the adapter is connected.
sudo bash -c 'echo "ACTION==\"add\", SUBSYSTEM==\"usb\", ATTR{idVendor}==\"1d50\", ATTR{idProduct}==\"606f\", TAG+=\"systemd\", ENV{SYSTEMD_WANTS}=\"candlelight-can0.service\"" > /etc/udev/rules.d/50-candlelight.rules'
sudo bash -c 'echo -e "#!/bin/bash\n\n# Wait for CAN interface to appear (up to 5 seconds)\nfor i in {1..10}; do\n if ip link show can0 >/dev/null 2>&1; then\n break\n fi\n sleep 0.5\ndone\n\n# Bring up CAN FD\n/usr/sbin/ip link set can0 up type can bitrate 1000000 dbitrate 5000000 fd on" > /usr/local/bin/start_can0.sh'
sudo chmod +x /usr/local/bin/start_can0.sh
sudo udevadm control --reload-rules
sudo udevadm trigger

A CandlightFD CAN FD to USB adapter with one minipanel sensor board.

3.2 USBtingo USB Adapter Linux Windows

In addition to the Linux only SocketCAN interface the Sensor Ring library also implements the cross platform USBtingo CAN FD to USB interface. The USBtingo can be used on both Linux and Windows devices. The Sensor Ring Library uses libusbtingo internally to support this interface. If the libusbtingo library is not previously installed it is automatically fetched while building the the Sensor Ring library.

⚠️ The Sensor Ring library needs to be compiled with the -DSENSORRING_USE_USBTINGO=ON option to enable support for this interface.

⚠️ The USBtingo is not recognized as CAN device by the Linux Kernel. The commands from the SocketCAN compatible adapter above don't work for this device.


A USBtingo CAN FD to USB adapter with one minipanel sensor board.

4 Connecting the Sensor Ring

The sensor boards of the Sensor Ring are daisy chained together with Molex Pico-Lock 7-Pin off-the-shelf cables. The chain of sensors needs to be terminated at one one by a RaspberryPi with the EduArt adapter shield or by a computer with a CAN FD to USB adapter.

ℹ️ The connectors on the boards have no dedicated input or output and can be joined in any order and orientation.


Top view of a sensor chain with two minipanels and an USBtingo as adapter.

Bottom view of a sensor chain with two minipanels and an USBtingo as adapter.
Read Previous Read Next
Readme Installation