Fluid Pendant - An Interactive RealTime Fluid Simulation with STM32

Published  January 16, 2025   0
Fluid Pendant

A developer has made a small Fluid Pendant, a unique wearable device, that integrates real-time Fluid-Implicit Particle (FLIP) fluid simulation. This project demonstrates an impressive combination of advanced computational techniques and clever hardware design. The fluid simulation embedded in the pendant, balances particle-based and grid-based calculations to achieve realistic fluid behavior. To ensure smooth operation in a highly resource-constrained environment, the developer optimized the simulation to run on minimal hardware, achieving significant efficiency.

At its core is the STM32L432KC, an ARM Cortex-M4 microcontroller overclocked to 100 MHz, chosen for its robust computational capabilities and floating-point unit (FPU) support, which are essential for handling the complex calculations required by fluid simulation. The pendant also features an ADXL362 accelerometer, which enables dynamic interactions by detecting the pendant's orientation and motion, feeding real-time data into the simulation.

Power management is handled by a combination of a MCP73832 charge controller, ensuring efficient and safe charging of the LiR2450 lithium-ion coin cell battery, and a TPS7A02 regulator for ultra-low quiescent current, which minimizes power consumption. Stability and reliability are maintained by a TPS3839 supervisory circuit that monitors system power levels.

The pendant’s display consists of a 12x16 LED matrix, driven by a Charlieplexing technique, providing vivid animations in a compact form factor, all while optimizing energy usage and maintaining visual consistency.

This project demonstrates a remarkable fusion of technical ingenuity and artistic design. By integrating advanced fluid simulation with a custom hardware platform, it achieves both innovation and functionality. What makes this even more exciting is that the entire project has been well-documented and open-sourced. To learn more, you can visit the developer’s site.