This Arduino-Based Project Can Display Stress Levels Set By Users

Mark from element14 Presents has created a small device that shows what the current stress level is with a few LEDs and a fun enclosure.

Evan Rust
2 years agoLights / Productivity / Art

Mood means everything

Any interpersonal communication we have with others is heavily influenced by the mood we are currently in. As Mark from element14 Presents explains, asking for a raise from the boss or simply talking to coworkers can end poorly if they are in a bad mood, so it is important to know beforehand. His idea was to create a simple display that could show the user's stress level before they have to say anything, thus letting the approaching person know their mood ahead of time.

Designing an enclosure

The entire project was designed to fit inside of a small box that Mark constructed by first laser cutting each panel out of an acrylic sheet. These parts included the base, four wall pieces, and the top that features a large dial-like cutout for the mood lights, speaker holes below it, and a place to mount the selection button. Beyond the shell, Mark also glued four compartment panels below the dial cutout to separate each mood's LED.

The components

Running everything is an Arduino Nano R3 development board. It is responsible for getting input from the user, changing which mood LED is currently active, and for playing the associated stress level change sound that is unique for each level from the connected SD card. Because Mark wanted to power everything from a battery, he also included an efficient power supply that cuts off power to the regulator when the system is not in use.

Assembly and programming

After receiving his custom PCB and components, Mark got to work by first soldering the Arduino Nano into the board's dual pin headers. From here, he attached the switch, a small speaker, and five individual WS2812B LEDs that were cut from a larger strip. The code starts by initializing the Nano's SPI bus for the SD card and plays a short "ready" sound, along with setting up the stress level selection button and the five LEDs via the Adafruit NeoPixel library. Upon pressing the button, the current level is incremented, a unique sound plays from the SD card, and the corresponding compartment LED illuminates to indicate the selection. After three minutes have passed, the stress level will automatically decrease until it reaches the lowest value.

Indicating stress

Once the sounds were copied to the SD card and the circuitry had been added to the enclosure, Mark demonstrated his stress indicating project in action by pressing the button repeatedly to cycle through the levels. For more information about this project, you can watch Mark's video here on YouTube or by visiting his page here on the element14 website.

Evan Rust
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.
Latest articles
Sponsored articles
Related articles
Get our weekly newsletter when you join Hackster.
Latest articles
Read more
Related articles