Hands-On Review: Grove AI HAT for Edge Computing

Bring next level intelligence to your Raspberry Pi projects with the Grove AI HAT for Edge Computing. In this article we will take a quick hands-on view of the Grove AI HAT board & Ultrasonic Sensor in standalone mode, and used as a Raspberry Pi HAT.

Introduction

The Grove AI HAT for Edge Computing is built around Sipeed MAix M1 AI MODULE with the Kendryte K210 processor inside. It’s a low cost but powerful stand-alone board that can also run as a Raspberry Pi Artificial Intelligence HAT.

The board not only bristles with peripheral connections (I2C/UART/SPI/I2S/PWM/GPIO), but has built in audio and video processing capabilities for AI projects.  This means you can connect multiple Grove Sensors to the board. Couple that with its video and audio capabilities and it makes it an interesting choice for Edge Computing environments. 

Seeedstudio provided me with a Grove AI Hat board for review. There are plenty of articles on the technical specs of the board, so this article will be more of a “hands-on” usage review. Let’s hook a Grove sensor up to the board and use it on its own, and as a Raspberry Pi HAT.

The Grove AI HAT is a new board, so there are not a lot of usability instructions available at this time. One of the quickest ways I found to interface with the board is to use the Seeedstudio Arduino interface. The ArduinoCore-API interface has been added to the board, allowing support for multiple development environments, including Arduino IDE, Linux, Windows, and Mac OS X. This basically means you can run Grove Arduino Libraries and many other Arduino libraries on this board.

Enough intro, let’s see it in action!

Basic Arduino Instructions

The Grove AI HAT can function entirely on its own and in conjunction with a Raspberry Pi. A good starting point is to connect one of the many Grove sensors to the board, and perform basic input/ output using the Arduino library.

In this section, we will see how to interact with a Grove Ultrasonic range sensor and view the output using the individual board, and then as a Raspberry Pi HAT.  

Follow the Arduino setup instructions on the Seeed website carefully. You need to add board drivers and use a specific writing option (K-flash), if you pick the wrong options, your board will not function properly.

Follow the setup instructions here:

http://wiki.seeedstudio.com/Grove_AI_HAT_for_Edge_Computing/

Summarized below:

  • Download and install the Arduino IDE on your computer
  • Run Arduino IDE
  • Add the K210 Grove AI HAT for Edge Computing driver
  • Select the K-flash programmer

The Arduino IDE is now configured to work with the Grove board.

Using the Grove Board Standalone

Once everything is setup, you can use Seeed’s sample Arduino code to control the board directly. For example, the Ultrasonic sensor.

WARNING: Do no connect or disconnect sensors to the board while it is powered up, you could damage it!

Connect your range sensor to the board (I used port D13)

Then using a USB C cable, connect the board to your computer. This will power up the board and allow your computer to communicate to it.

  • Next, load in the ultrasonic Arduino library into your sketch project folder.
  • In the Arduino IDE, enter the sample code provided by Seeed:
  • Compile and write the code to your board

Now, open the Arduino serial monitor and you should see live range detection:

Move your hand back and forth in front of the range detector, you should see the range update live in your Serial Monitor tab.

That’s all well and good, but this is a Raspberry Pi HAT! How do you use it with a Raspberry Pi?

Grove on the Raspberry Pi

In this section we will look at using the Grove AI board with a Raspberry Pi 3b+. The Pi 3b is running Raspbian and is setup up for remote access via Putty. To use the Grove Board and Pi in tandem, we need to connect them together. Disconnect power (the USB cable), connect the riser board to the Grove board, and then carefully connect the Pi and grove boards together. Make sure no power is applied to either board, and the pins line up correctly, or you could damage your boards.

Only provide power to one board, the Pi or the Grove Hat, if you connect power to both boards you need to change a switch on the Grove board.  

Connect the USB cord from your PC to the Grove power port. Both the Grove board and Raspberry Pi should power up at the same time. In this configuration, you can still use the Arduino Serial Monitor to view the sensor output. But we want to see it on the Pi.

To use the Grove board on a Pi, we will need to install the Grove Python library.

Instructions can be found here:

http://wiki.seeedstudio.com/Grove_Base_Kit_for_Raspberry_Pi/

Basically, from a Raspbian install:

Now with the Grove library installed, we can run a short Python program to communicate with the Sensor through the Raspberry PI.

  • cd ~/grove.py/grove

Enter in, save and run the following Python program in the grove directory:

ultrasonic.py:

It should look like this when done:

Now, just run the ultrasonic.py program:

And that’s it! You should see distance displayed in real time.

You can open the Arduino Serial monitor and get readings from it at the same time, as seen below:

One interesting feature is that if the Pi is shutdown, or the Python program stopped, the Grove board can continue to work.

As seen below:

The Ultrasonic program was stopped, but the device continues to operate as seen in the Arduino serial monitor.

AI Computing

As mentioned at the beginning of this video, the Grove HAT has video and audio processing capability built in. I ran into some questions on how to access the video and audio part of the card and am waiting to hear back from Seeed tech support. So, I will explore this capability in future articles, but for now, Seeed has a great demo video of this capability on their website:

https://project.seeedstudio.com/SeeedStudio/face-count-and-display-using-grove-ai-hat-and-pi-3e100f

Conclusion

This was just a very basic intro to the Grove AI HAT for Edge Computing. The board is very exciting as it brings a host of sensor capabilities to the Raspberry Pi platform. I believe this will allow for much more intelligent Pentest drop boxes (it could sense and record when someone was in the room, for example), robotics projects, Magic Mirrors, and whatever else you can dream up. Stay tuned, more to come!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.