MIT-designed Fluid Simulation Pendant: A Fusion of Technology and Craftsmanship
0:00:04 Project Goal: To create a real-time fluid simulation pendant using embedded hardware, inspired by the desire for real-time volumetric 3D fluid simulations.
0:01:13 Simulation Algorithm: The pendant uses the Fluid Implicit Particle (FLIP) method, implemented by the creator based on academic papers and resources from Matthias Mueller's "10 Minute Physics" channel.
0:01:49 Development Process: Initial testing and refinement of the simulation were done in JavaScript, leveraging a phone's accelerometer for realistic motion input.
0:06:35 Hardware Selection: The STM32L432KC microcontroller was chosen for its balance of processing power (with an FPU), small size, and low power consumption.
0:07:21 Overclocking: The microcontroller was slightly overclocked to 100MHz to achieve the target 60 FPS for the simulation.
0:07:41 Display: A 25mm wide display using 0402 LEDs at a 1.5mm pitch was designed to fit over a CR2450 coin cell.
0:08:16 Charlie-plexing: The display utilizes a unique diagonal Charlie-plexing arrangement to minimize routing complexity and allow for components to be mounted on the back of the PCB.
0:14:13 Flexible Routing: Due to the use of a lookup table for the Charlie-plexed display, signals could be routed to any convenient GPIO pin on the microcontroller, simplifying the PCB design.
0:15:25 Mechanical Design: A snap-back case design was implemented for easy access, featuring a magnetic charging connector and status LED. Later iterations used a watch glass front for a completely sealed, waterproof design.
0:20:29 Fabrication: The brass enclosures were machined using a lathe and mill, with a delrin arbor used for mounting during milling.
0:21:34 Magnetic Connector: Sourcing a low-profile magnetic charging connector was a significant challenge, eventually found on AliExpress.
0:22:56 Gold Plating: The brass enclosures were gold plated using a process involving hazardous chemicals, not shown on camera for safety reasons.
0:24:07 Assembly: Circuit boards were assembled using a pick and place machine and a mini hot plate for reflow, with manual touch-ups for cosmetic imperfections.
0:24:34 Lookup Table Generation: A Python script was used to generate the lookup table for the Charlie-plexed display based on the exported netlist from KiCad.
0:25:23 DMA for Display Control: Direct Memory Access (DMA) was used to drive the display with minimal CPU overhead, allowing for smooth animation even during overclocking.
0:27:38 Glitch Mitigation: Dead time was inserted into the DMA array to eliminate visual glitches caused by the Charlie-plexing and asynchronous register updates.
0:30:19 Bodging and Iteration: The creator emphasizes the importance of bodging and iterative design, making several modifications and revisions to the hardware and software throughout the project.
0:31:57 Power Management: A low-power supervisor chip was added in later revisions to ensure reliable undervoltage detection and prevent software latch-up issues.
0:32:17 User Interface: A simple gesture-based interface was implemented to turn the pendant on/off and enter a deep sleep mode to conserve power.
0:34:23 Finishing: Multiple iterations of the pendant were created, with each iteration focusing on improving the finish and aesthetics of the enclosure, culminating in a lapped and polished back surface for a near-mirror finish.
0:36:46 Availability: A limited number of handmade pendants were made available for purchase on the creator's website.
0:37:13 Conclusion: The project represents a successful integration of software, hardware, and mechanical design, resulting in a unique and aesthetically pleasing wearable device.