Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Embedded and Microcontrollers blog This Arduino radar lets you control an LED with your breath.
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • xethru
  • Arduino
  • cortex_m4
  • Cortex-M4
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

This Arduino radar lets you control an LED with your breath.

Artie Beavis
Artie Beavis
August 20, 2015

A few months ago, Norwegian sensor developer Novelda unveiled a pair of adaptive Atmel | SMART ATSAM4E16E powered sensor modules capable of monitoring human presence, respiration and other vital information in real-time. Based on the company’s XeThru technology, they use radio waves rather than infrared, ultrasound or light, enabling them to ‘see through’ an assortment of objects ranging from lightweight building materials to blankets. These modules can even be employed to detect movement in a room, as well as measure the breath of a person, without contact.

With one of these boards on hand, Maker Øyvind Dahl decided to build an Arduino radar that could control the brightness of an LED with his breath. To accomplish this, he hooked the X2M200 respiration monitoring sensor up to an Arduino Uno (ATmega328). The module, which was tasked with detecting his chest movement, also required both a USB communication board and a level shifter to interface the 2.8V levels of the XeThru with the 5V of the Uno.

Dahl connected an RGB LED to the project, whose brightness faded in unison with his breathing. When he inhales, the light fades in. And when he exhales, it fades out. Beyond that, the faster that he breathes, the faster the LED will fade.

In order to make this work, the Maker wrote his own code for the radar — which can be found on GitHub here — that would would send over the respiration data.

“Another thing I was struggling with, was type conversion. And with only an RGB LED as my output, it was a bit hard to debug,” he explains. “So I connected another Arduino with SPI, that I could use as a debugging console for a while, and got the type conversion sorted out. I parsed the data that was coming in, and used the movement-value to set the brightness of the LED.”

Arduino-radar-with-rgb-led-1024x413

Since the Arduino did not process the data quick enough, Dahl ended up adding a function to his code that would empty the buffer and sync the data each time that he fetched a new measurement.

While this is merely a prototype, there’s plenty of potential for development. Dahl says that upon completion of his “useful device,” he will share the code and detailed breakdown of the project on his site. As we await to see what the Maker comes up with, you can find his first tutorial here and see it in action below!

This blog originally appeared on Atmel Bits & Pieces.

Anonymous
Embedded and Microcontrollers blog
  • Formally verifying a floating-point division routine with Gappa – part 2

    Simon Tatham
    Simon Tatham
    A method of testing whether a numerical error analysis using Gappa really matches the code it is intended to describe.
    • September 4, 2025
  • Formally verifying a floating-point division routine with Gappa – part 1

    Simon Tatham
    Simon Tatham
    Learn the basics of using Gappa for numerical error analysis, using floating-point division in Arm machine code as a case study.
    • September 4, 2025
  • Adapting Kubernetes for high-performance IoT Edge deployments

    Alexandre Peixoto Ferreira
    Alexandre Peixoto Ferreira
    In this blog post, we address heterogeneity in IoT edge deployments using Kubernetes.
    • August 21, 2024