element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Artificial Intelligence and Machine Learning
  • Technologies
  • More
Artificial Intelligence and Machine Learning
Blog Gesture-based remote control device
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Artificial Intelligence and Machine Learning to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: AlexMiller
  • Date Created: 6 Oct 2023 10:38 AM Date Created
  • Views 395 views
  • Likes 0 likes
  • Comments 0 comments
Related
Recommended

Gesture-based remote control device

AlexMiller
AlexMiller
6 Oct 2023

Learn how to enhance the control of consumer electronics devices with hand gestures and how to create similar solution by yourself.

Introduction

This project demonstrates a gesture based remote control device using Silabs xG24 Dev Kit. The xG24 development kit could be connected to the PC via Bluetooth as a HID device and using gestures the user can control media stream or slides of the presentation. Based on accelerometer and gyroscope data the Neuton.AI model could recognize 8 classes of gestures: Swipe Right, Swipe Left, Double Tap, Double Thumb, Rotation Clockwise and Counter clockwise, No Gestures(IDLE) and Unknown Gesture.

To learn more about gestures and how to reproduce them, check out our demo video!

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Model specifications

The Neuton.AI Gesture Recognition solution memory footprint:

image
Version 1.1.2

Model Performance:

  • 8 classes.
  • 58 neurons.
  • Holdout Balanced Accuracy: 98.2 %.
  • Inference time ( including Signal processing ): 2.3 ms.

Estimated on Cortex-M33, 39MHz, compiled with -Os ARM GNU toolchain.

Hardware overview

image

The xG24 Dev Kit is a compact, feature-packed development platform. The development platform supports up to +10dBm output power and includes support for the 20-bit ADC as well as other key features such as the xG24’s AI/ML hardware accelerator. You can find more information on the Silicon Labs xG24 Dev Kit at https://www.silabs.com/development-tools/wireless/efr32xg24-dev-kit

Setup software environment

To set this project up, you will need to install the following software:

  • Simplicity Studio 5
  • Gecko SDK v4.2.2

Setup firmware project

1. Clone this repository: https://github.com/Neuton-tinyML/neuton-silabs-xg24-ble-remotecontrol

2. In the Simplicity Studio, choose File -> Import

image

3. Browse to the directory ./neuton-silabs-xg24-ble-remotectrl in the cloned repository and select neuton-silabs-xg24-ble-remotectrl project, and click Next

image

4. On the next page the Build configuration should be automatically detected, just click Next.

image

5. Finish importing at the next page, click Finish.

image

6. Build the project in the Simplicity Studio, right-click on project folder in Project Explorer and choose Build Project option.

image

7. Connect xG24 Dev Kit to the PC via Micro-USB cable.

8. Wait for the end of the compilation process and flash the device, right-click on project folder in Project Explorer and choose Debug As -> Silicon Labs ARM Program.

image

9. Explore the project and Neuton.AI model capabilities!

How the project works

The project has device logs and you can open the Serial Port to see them. The Serial Port(USART) has the following configuration:

Baudrate:       115200
Data:           8-bit
Parity:         none
Stop bits:      1-bit
Flow control:   none

Once the device is up and running, Bluetooth advertising starts as a HID device and waits for connection request from the PC. In the device logs you should see similar messages:

[I] Bluetooth stack booted: v5.1.0-b144

[I] Bluetooth public device address: E0:79:8D:C6:A2:B9

[I] Started advertising

You can connect devices in the same way as, for example, a regular Bluetooth keyboard.

1. For Windows 10 PC you can go to Settings -> Bluetooth & other devices -> Add Bluetooth or other device.

image

2. The device should appear in Add a device window, choose the device for pairing.

image

3. After Bluetooth pairing the device should appear in your Mouse, keyboard, & pen section.

image

When device is successfully paired via Bluetooth, you should see the following device logs in the Serial port:

[I] Connection opened.

0x020600A0

0x040600A0

[I] Characteristic was attempted changed: 3

[I] Characteristic was attempted changed: 18

[I] Notification enabled.

And the will change the LED indication. The LED0 starts blinking ~5 times per second (5 Hz) instead 1 time per second (1 Hz).

The main functionality of the project is to collect inertial sensor data from the 6-axis IMU sensor and recognize gestures on the device using Neuton.AI model and SDK. The IMU sensor data is collected with 100 Hz of sampling frequency.

The recognized gestures will be printed to the Serial port and sent via Bluetooth as a specific keyboard key.

[I] Predicted class: SWIPE RIGHT, with probability 0.998
[I] BLE Key report was sent

The project has two Keyboard control modes: Presentation Control and Music Control. Depending on the control mode, recognized gestures will be mapped to different keyboard keys:

image

You can switch between control modes by pushing user button BTN0, for different control modes there is a different LED indication. If the device in Presentation Control mode the LED0 will blink RED color, if the device in Music Control mode the LED0 will blink GREEN color.

image

image

Enjoy exploring the project!

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube