element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
Experimenting with Gesture Sensors
  • Challenges & Projects
  • Design Challenges
  • Experimenting with Gesture Sensors
  • More
  • Cancel
Experimenting with Gesture Sensors
Challenge Blog Blog 1: Gesture controlled FM Radio - Introduction
  • Challenge Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Experimenting with Gesture Sensors to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: rsjawale24
  • Date Created: 17 Oct 2022 4:39 PM Date Created
  • Views 26210 views
  • Likes 11 likes
  • Comments 4 comments
  • fm radio
  • gesture sensors
  • maxim integrated
  • experimenting with gesture sensors
  • mbedos
  • MAX25405EVKIT
  • max32620fthr
  • unboxing
Related
Recommended

Blog 1: Gesture controlled FM Radio - Introduction

rsjawale24
rsjawale24
17 Oct 2022

This is my first blog for the Experimenting with Gesture Sensors contest.

I'm passionate electronics engineer who loves to work on Analog circuits, wireless communication and Embedded Systems.
I recently finished my MS degree in Electrical engineering with specialization in RF and Microwave engineering. I have about 8+ years of experience in building electronic circuits. I have been selected as one of the challengers for the Experimenting with Gesture Sensors challenge sponsored by e14 and Maxim Integrated.

I received my kit around 2 weeks back and I have posted an unboxing blog here

Received the kit for experimenting with gesture sensors

Now moving on to my idea, I have planned to design a gesture-controlled FM radio for automotive infotainment systems. Now we have steering wheel mounted controls for controlling the audio, calls, and media of the car infotainment system but at times, it is distracting to use them. Also, people sitting in the back side of a car cannot control the infotainment system as nowadays we do not have remote controls like older days. Hence, a gesture based system, that can be operated by all is proposed here. 

The FM radio will be built around Arduino and the popular TEA5767 FM radio module. Initially, to test the module, I will use normal tactile switches to control the radio such as change the frequency, scan the band, etc. 

Later, these controls can be done using the MAX25405 gesture sensor. The out of the box demo of the MAX25405EVKIT is given later in the blog.

The MAX25405EVKIT consists of the following boards - 

The MAX32620FTHR microcontroller board

image

The MAX25105FSHLD shield for the MAX32620FTHR board

image

The shield has a fine pitch connector that connects to the gesture sensor PCB shown below

image

As the gesture sensor does not come with a stand, I 3D printed one from the file given on Maxim Website.

The details of the 3D printed stand are reported in another blog and can be found here 3D printed stand for gesture sensor PCB

After mounting the gesture sensor PCB onto the stand, it was time for the testing.

The MAX32620FTHR board comes pre-programmed with the firmware so that it can be tested with the Maxim GUI software for gesture recognition which is also available on the Maxim website for free. I downloaded the software and did all the connections of the boards.

image

As I mentioned earlier, the MAX32620FTHR board comes preloaded with the firmware. This firmware implements serial communication over USB so as to communicate with the GUI software. 

Upon connecting it to the PC, in the device manager, it should show as a Maxim Serial port.

image

Then once you launch the GUI, you can see the interface as shown below. The board is not connected to the PC hence, the software shows SPI, COM Port offline.

image

One more thing to notice here is that the gesture sensor can be interfaced with the MAX32620FTHR board using I2C or SPI. By default the maxim firmware uses SPI and hence we can see SPI written in the GUI. 

Now, when I connect the MAX32620FTHR with the PC, and click on reconnect COM port, it can now read the port and shows connected on COM <number> at 115200 baud rate. 

image 

Next, there are three tabs in the GUI - Heat map, gesture and proximity. 

image

There are also certain variables on the GUI that can be changed in runtime. 

First tab is of the heatmap. The heatmap shows the detection of object in the FOV of the gesture sensor.

image

As I move my hand around, the pixels in the heatmap change the value and it indicates that gesture is being detected. However, this may or may not be a valid gesture.  The entire FOV of the sensor is divided into an arrary of pixels (60 pixels as the detector is an array of 6 x 10 pixels) for detection of the gesture. Depending upon the pixels that are highlighted, the gesture is determined. 

The following gestures are supported with the MAX25405 gesture sensor kit - Rotate (CW and CCW), Swipe (UP, DOWN, LEFT, RIGHT), CLICK and analog rotation dial (if enabled).

Here's a small test video of the GUI which reads the gestures from the MAX32620FTHR board over USB connection. 

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

Coming to my proposed idea -

The gesture controlled FM radio. Here's a block diagram of the project

image

There are two MCUs in this block diagram. The MAX32620FTHR understands the gestures and send the results over USB. Since there is an option in the MAX32620FTHR board to send the results over UART rather than USB, I will use UART as it is simple to interface with other MCUs (in my case Arduino).

Here, I will be using the arduino to read the gesture results from the MAX32620FTHR over UART. By default, the stock firmware in the MAX32620FTHR board has serial API implemented over USB. This can be changed in the code that is provided by Maxim. The code can be compiled using mbed-command line interface in Windows/MAC OS/Linux. I recommend using the CLI as there are certain changes that need to be made in the mbed-os files which cannot be accessed from the mbed online compiler. More on this in later blog. 

Once the gesture results are read in the Arduino, depending upon the gestures various actions for the FM radio can be done such as changing the frequency, adjusting the volume, scanning for radio stations, etc. 

The FM radio is based around the TEA5767 module from Philips. It seems to be an obsolete part now but such modules are still available online. It is a quite versatile IC for implementing FM radio. The IC is basically a tuner that can do all the signal processing and demodulate the FM signals and give an audio output. Note that this IC has stereo FM capability! Which is quite awesome. An external audio amplifier needs to be connected in order to hear the audio properly. 

An LCD is also interfaced with the Arduino to check the frequency and display other data. 

That's it for this blog. In the next blog, I will implement the serial API using UART on the MAX32620FTHR board and try reading the results in the Arduino. 

  • Sign in to reply
Parents
  • DAB
    DAB over 2 years ago

    Interesting project.

    I am starting to warm up to this gesture device.

    I was not sure that it was capable of complex gestures, so I am curious to see how you succeed.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • DAB
    DAB over 2 years ago

    Interesting project.

    I am starting to warm up to this gesture device.

    I was not sure that it was capable of complex gestures, so I am curious to see how you succeed.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • rsjawale24
    rsjawale24 over 2 years ago in reply to DAB

    Yes, It is indeed an interesting device. I think it's gestures can be further expanded because as per Maxim there are some slots in the gesture results that are reserved. 
    image

    For our experimental applications, I think we can easily extend the gestures for example double click, etc

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
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