Table of Contents

FlowBox - Anti-Stress Particle Simulation Toy

Introduction

FlowBox is an interactive anti-stress fidget toy designed to simulate a physical container filled with granular particles (e.g., sand) or fluid (e.g., water, lava). The simulation reacts in real-time to the user's movements, such as tilting or shaking, thanks to an integrated 6-axis inertial measurement unit (IMU). A single-button interface allows users to cycle through different materials via a short press or change the map configuration with a long press.

The inspiration for FlowBox stems from a desire to combat smartphone addiction. During moments of stress (such as when hitting a roadblock while working on projects or assignments), the common reflex is to reach for the phone, a habit that often leads to unproductive “infinite scrolling” and increased negative emotions, usually ending up less rested than before. FlowBox is designed to intercept this behavioral loop. By providing a tactile, aesthetically pleasing, and satisfyingly predictable digital-physical experience, it offers a “short break that stays short”, allowing the user to reset without falling into the engagement traps of present-day attention economy.

General Description

The device is designed around the ESP32-S3R8 microcontroller, which acts as the central hub for high-speed graphics processing, real-time physics calculation, and power management.

Central Processing Unit (ESP32-S3R8)

The “brain” of the device utilizes a dual-core Xtensa 32-bit LX7 processor. To ensure a smooth user experience, the software is split across both cores.

Sensing and User Interaction

Motion Sensing (QMI8658): This 6-axis IMU is connected via the I2C protocol. It provides the pitch and roll data necessary for the physics engine to calculate the force for the sand particles.

Control (BOOT Button): Connected to GPIO 0, this single button utilizes hardware interrupts. A software state machine distinguishes between short presses (material cycle) and long presses (map cycle/sync mode), providing a minimalist yet powerful user interface.

Display and Storage

IPS LCD (RGB565): The 3.16” display uses a high-speed parallel RGB565 interface driven by the ST7701 controller. This allows for the high data throughput required to render hundreds of moving particles at 60 FPS.

MicroSD Storage (SPI Mode): Stores the maps containing wall configurations.

Power and Connectivity

Charging and Regulation: Power is managed by the ETA6096 switching charger, which handles the transition between USB-C power and the 1000mAh LiPo battery.

PC Interaction: The Native USB peripheral of the ESP32-S3 allows the device to act as a USB Mass Storage Class (MSC) device. This enables “Sync Mode,” where the device appears as a standard thumb drive on a PC for easy map management without removing the SD card.

Hardware Design

List of components:

- Waveshare ESP32-S3-LCD-3.16 - https://www.emag.ro/placa-de-dezvoltare-esp32-s3-waveshare-lcd-3-16-conectivitate-wi-fi-si-bluetooth-5-senzor-imu-rtc-m-021/pd/D9Y1KB2BM/

- 1000mAh Li-Po battery - https://www.emag.ro/acumulator-li-polymer-inncraft-1000mah-3-7v-jst-102535-126/pd/DSMSXJMBM/

- microSD card

Software Design

TODO

Rezultate Obţinute

TODO

Concluzii

TODO

Download

TODO

Jurnal

TODO

Bibliografie/Resurse

TODO

Export to PDF