BeaglePlay, BeagleConnect Freedom and sensors

Table of contents

RoadTest: Sign Up to Review the BeaglePlay, BeagleConnect Freedom and Sensors

Author: iker46

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Raspberry Pi, other BeagleBoard

What were the biggest problems encountered?: Lack of documentation

Detailed Review:

Introduction

First of all I would like to thank Element14 for giving me this opportunity to review this product in my first application.

I can be considered an intermediate level tech enthusiast who has learned to write code on his own, while playing with different SBCs and MCUs, being my mainly used ones in the past Rasbperry Pi and Pocket C.H.I.P by the extinct NTC.

The testing plan for this equipment included unboxing, following the Getting Started Guide and writing some code to i) use the sensors to create some alarms depending on the temperature, light intensity or movement and ii) take advantage of the wireless capabilities of the BeagleConnect Freedom to use its own sensors in a different room from the main unit (BeaglePlay).

To make a long story short: things didn't work out as expected. Future work and further developing the documentation would make easy to fulfill this objective. However, with the current state of the documentation, trying to do anything with it has been quite painful.

Unboxing

BeaglePlay box included the following contents:

  1. BeaglePlay board

  2. One (1) sub-GHz antenna

  3. Three (3) 2.4GHz/5GHz antennas

  4. Plastic standoff hardware

  5. Quick-start card

Even if I already knew, I was missing a power supply or at least a USB cable.

image

BeagleConnect Freedom box included:

  1. BeagleConnect Freedom board in enclosure

  2. Antenna

  3. USB cable

  4. Quick-start card

In this case, at least the USB cable was included.

image

Grove sensors included the expected ones plus another one, a temperature sensor.

First steps with BeaglePlay, first issues

After an unboxing that was just as expected, I headed to the Quick Start Guide. The BeaglePlay was connected using a regular power supply, no antennas attached, relatively close to my router. 

Trying to access through 192.168.7.2:3000 didn't work. Using beagleplay.local made the trick, I was able to view two html files.

image

BeaglePlay-io was a brief description of the board. However, VSCode did not work and I couldn't continue further. Without time to debug if the issue was caused by the board or by my network, I proceed to SSH to the previously depicted IP. It worked.

Now with access to the OS, the first step was connecting to my Wi-Fi. The guide suggested using wpa_cli.

Using the different commands, as explained in the guide, let me find different networks, including my own. However, trying to connect made the process just hang. Could the issue be due to not using the antennas? I could find my network with no problem. Further research should be done, but with the aim of trying the different devices included in the review, I just decided to wire the board to an Ethernet cable in order to keep testing it.

Now, with a successful network connection, it was time to test the provided Grove sensors.

Grove sensors, infinite options almost none documentation

The kit was supposed to include two sensors:

  • Grove ADXL345: 3-axis accelerometer.
  • Grove - light sensor v1.2.

However, another sensor was provided too: Grove - temperature sensor V1.2.

With no information provided in the BeaglePlay guide, I headed to the manufacturer site.

Using the code provided by Seeedstudio to use the 3-axis accelerometer with Beaglebone Green plus minor tweaks, like installing some libraries, just worked. This good experience made my think that I was really close to being able to write some code examples involving the sensors. However, the experience was going to be still quite rough.

While the accelerometer interfaces with the BeaglePlay over I2C, the other two sensors are connected through ADC. Moreover, all the examples provided for both light and temperature sensor are aimed mainly for Arduino and Raspberry Pi. 

A lot of time was employed trying to make both sensors work. The solution involved reading ADC:

cat /sys/bus/iio/devices/iio:device/in_voltage1_raw

This provided raw data that should be transformed into the values that we expect, like temperature (in Celsius) or light intensity. 

In the case of the temperature sensor, the code provided for Wio Terminal gives us a hint of the math operations needed. In this case, the ADC resolution is 10 bits, that is why we can see "1023" in the example. Using this, we get negative temperature values. Heading to the BeaglePlay Design and specifications we can see that while the heading says "ADC102S051 - 2ch 10bit ADC¶", the note under the figure gives different information "Fig. 10 ADC102S051 - 12bit Analog to Digital Converter (ADC)".

image

Time to read ADC again:

cat /sys/bus/iio/devices/iio:device/in_voltage_scale 

The result is approximately 0.81. For a 2ch 12 bit ADC, we have 4 096 (2^12) levels. The voltage is 3.3V, so 3 300 / 4 096 = 0.81. 

With all this information, I was able to successfully use all the provided sensors. While I don't have any other way to check the accuracy of the light sensor, I do have several temperature sensors around home. The results obtained by the Grove sensor were approximately 1 °C higher than the results obtained by a Danfoss sensor placed in the same room. This behavior can be considered as expected, due to the Grove sensor being placed close to different electronic devices which generate heat.

Making the sensors work involved a lot of time. Nevertheless, this could be easily fixed, adding working examples to the documentation. With lots of Grove sensors out there, this could result in a really great plug&play experience.

Without having Qwiic or mikroBUS sensors to test, it was time to test BeagleConnect Freedom.

Freedom? Not yet

While the device is described as "long range wireless"  the Quick Start Guide doesn't help with it.

image

With the documentation being mostly full of "to-do" I tried to find some useful information in the official forums. With just four topics tagged as BeagleConnect Freedom, forums cannot be considered a helpful resource. Anyway, I found there the link for a webinar that seemed to be the best way to start.

The first video allowed me to test the sensors with two different methods: 1) sensortest and 2) micropython.

In both cases, the results obtained were the same and approximately 10 °C higher than the results obtained by the BeaglePlay. This could be due to the fact that the Freedom sensors are inside a case.

Future work

There is a lot of work that can be done to further test the provided equipment. This includes:

  • Testing Home Assistant.
  • Testing the other hardware connections.
  • Debugging Wi-Fi connection.
  • Getting a Wireless Connection for the BeagleConnect Freedom.

Summary

The provided equipment looks promising. The multiple hardware connections (Grove, Qwiic and mikroBUS) connections of the BeaglePlay give us almost infinite possibilities, while BeagleConnect Freedom would allow us to use several addons far from the main gateway. 

While the products are good, they fail in the most import thing: support. Almost no information is available in the Quick Start Guide, while the official forums have a low (< 40 for BeaglePlay) or extremely low (just 4 for BeagleConnect Freedom) amount of topics, being the main ones problems and not solutions.

Anonymous
  • Thank you for your comment! I feel I could have done better but I spent a lost of time trying to get ADC working. I hope my review can be useful for someone and I expect this to be just the beggining of my participation in this community.

    Thank you for your advice about the antenna, my suspicions were correct. I should try with it and update the review.

  • Sure it was! I have mixed feelings. I think I could have done much more with just a little documentation. Anyway, I am happy with being able to get the ADC working, it has been a great experience and I hope I can do more reviews in the future. 

    Thank you for your kind help during the process.

  • Nice job getting it to work as much as you did.  The homeassistant video that you linked to was interesting.  Just like with the Beagle-AI I played with Jason K. does a good job showing what the potential is for these devices.  And it shows there are some hidden scripts that are very useful, right on the beagleplay.  I just would like that information to show up in the written documentation.  The Freedom video is way too short, he shows how to use it  but there are so much potential there.

    Based on the original beaglebone black, the "normal" way to interact with these boards is thru the USB port, but SSH through the network works well also.  Please note, you really should attach your uFL antenna for wifi if you're going to use it.  Even when you do get a signal, without the antenna, the wifi chip is sending full power trying to talk, and there's no load for that energy to flow into.

  • It was a tricky one, wasn't it!

    I got on OK with Qwiic and had some limited success with mikroBUS. However, I never managed to get the ADC working for the light or temperature sensors. I'm glad you managed to get that part done. I think between us we went as far as we could. That BeagleConnect Freedom though... it has such potential, but is where the biggest gaps are.