Scroll Sense

by rktrin26 in Circuits > Raspberry Pi

9 Views, 0 Favorites, 0 Comments

Scroll Sense

p1.png
IMG_3327.jpg

We built the Scroll Sense, a wearable glove sensor designed to monitor user interaction with social media platforms and explore how cues can disrupt addictive scrolling behaviors. The glove features two sensors: a force-sensitive resistor to detect screen contact and a stretch-sensitive resistor to capture scrolling motions. These components allow the glove to collect real-time data on how users physically engage with their devices such as scroll frequency and session duration.

The glove system is paired with sensory design frictions, including vibrations, ambient lighting changes, and audio sounds. These signals are triggered to interrupt the scrolling experience and draw the user’s attention away from the platform. The goal of the project is to create an interactive environment for exploring how tactile, visual, and auditory interventions might reduce compulsive usage on both short-form and long-form social media apps.

Supplies

Project materials

  1. Adafruit Metro Mini (or similar microcontrollers)
  2. Raspberry Pi 3B (or 4/4B/5)
  3. Micro-SD card
  4. 1 force-sensitive resistor
  5. WiFi bulbs
  6. 1 bluetooth/usb speaker
  7. Conductive threads
  8. Conductive Rubber Sheet
  9. 1 glove
  10. 1-2 vibrating motors
  11. 1 perfboard
  12. 1 2N2222 Transistor
  13. 1 1N4001 Diode
  14. 1 0.1 uF Capacitor
  15. 3 1k resistors

Other materials

  1. USB-A to micro-USB cable
  2. USB/USB-C drive (SD reader) for booting Raspberry Pi OS
  3. Breadboard
  4. Soldering iron and stand
  5. Batteries (optional)
  6. Keyboard, mouse, monitor for configuring Pi

Software Requirements

  1. Arduino IDE 2.3.3 or higher
  2. Python 3.11 or higher
  3. Text editor (VSCode, Sublime, etc)
  4. Latest Raspberry Pi OS Imager version
  5. Download the imager from the link above.
  6. Using a USB/USB-C drive, flash the OS onto the micro-SD card
  7. Insert into Raspberry Pi and connect to power
  8. Connect Pi to a monitor, keyboard, and mouse to access settings
  9. Configure WiFi and other settings as needed

Circuit Assembly

p1.png

The circuit for the social media glove sensor is shown in the above image.

The prototype involves two main circuits. The Metro Mini Microcontroller is connected to a usb serial port on the raspberry pi. The vibrotactile motor circuit is connect to raspberry pi, while the inputs are controlled by the Metro Mini.

Connect the 3.3V supply to the positive terminals of the diode, capacitor, and motor in parallel. The left post of the transistor will be connected to the negative terminal of this parallel circuit, with the center post connected to GPIO 17, and the right post to the RasPi GND. The speaker system is connected to the 3.5 mm A/V jack on the raspberry pi.

The force sensitive resistor and the scroll sensitive glove sensor are connected to the 5V supply of the metro mini. The two components are connected to A1, A0, respectively, with voltage dividers using a 1k resistor (each).

3D Printing the Object

combined.png
combined2.png
top_bottom_upside_down.png
top_bottom.png
IMG_3320.jpg

Now that you have assembled the basic circuit for this project, we will start on the 3D object since it may take a few hours. For this tutorial, an STL file of the project will be provided below.

  1. First, transfer your STL file to a computer with Bambu Studio installed.
  2. Open Bambu Studio, go to File > Open and select your file.
  3. Make sure the model is oriented correctly and fits in the area of the printer.
  4. In the settings of your Bambu printer, make sure the following is selected:
  5. Standard print profile
  6. Layer height to 0.2mm
  7. Tree/zigzag supports
  8. Preview using slice to make sure the print is stable and at the right scale.
  9. Schedule the printer and fix printing errors as needed.

Downloads

Soldering the Prototype

p1.png
p1.png

Next, we can put together our circuit on a prototype board. The soldering of the board follows the same circuit diagram implemented on the breadboard. The first image is the result, but this can be adapted as long as the circuit performs similarly. The separate components are clearly displayed. Ensure that the components have good separation between rows to prevent shorts. The second image shows the soldering that connects the top view image above.

Each circuit (the motor and microcontroller) should be tested individually as components are soldered to the board. It is helpful to use a multimeter to ensure that the welds carry the current correctly.

Test files are provided below for testing the vibrotactile motor circuit, as well as the scroll and force sensitive resistors.

Operating Instructions

Now, you will need to set up the system. First,

  1. Ensure that the glove's wires are securely connected to the microcontroller and Raspberry Pi.
  2. Connect the Raspberry Pi to power.
  3. Connect to the data logger (laptop/desktop) and ensure that data is being received to the Pi.
  4. Configure outputs:
  5. Place ambient light source with WiFi bulb near the user.
  6. Position speaker nearby to emit timed/triggered cues.
  7. Ensure vibration motor is connected and thresholds are calibrated.

Now that the system is configured, here are instructions on how to use it:

  1. Have the participant wear the glove and open a social media platform of their choice. The system will now record interaction data, such as swipes and taps during the session.
  2. Use social media as normal for 5-10 minutes. As the session continues, the system will calculate metrics such as frequencies of swipes, time between scrolls, and total time. It will also begin to output cues for the user to stop, such as sounds, lights, and vibrations in increasing orders of intensity.
  3. End the session and save the metrics for research purposes.

Improvements

Now that the project is finished, here are some improvements for the system that you can do:

  1. Add a user interface that displays live metrics/visualizations that could make the system more interactive and informative for both users and researchers.
  2. Add more sensors that track other metrics such as heart rate to improve the outputs and data collection.
  3. Add settings for the user to configure, such as triggering highest output intensity by a certain time or changing the sound of the cues

These are just a few examples to improve the usability of the system. Feel free to customize it to your liking. Happy building!