Rheoscopic fluids allow the currents and turbulence in fluids to be seen. They're typically made with mica, a mineral that forms small shiny flat plates that easily moves within a fluid.You can find them in science museums (such as the Glasgow Science Centre), or as art displays (most famously, the Kalliroscopes of Paul Matisse)
I've always loved the way the fluid moved within these displays, and I wanted to build something that didn't require interaction. I also thought it would be interesting to light them from within or underneath, rather than relying on light reflecting off of the mica plates.
So, I tried it, and the result was actually pretty interesting.
I'll show you here how I built my Mars-themed Storm Glass, but there are a lot of ways to make it your own, and to make it better. I'll have more to say about this in the improvements section.
Magnetic stirrers work by spinning a magnet on a motor, which then spins another magnet inside a container. There are numerous examples of how to build these out on the interwebz, but I had to build something small enough to fit into the base of my small sphere. I ended up with a small 40x40x10mm 5V fan. The construction process shown is with a 30mm fan, but the process is the same (and a 30mm fan will also work).
1) Take two small magnets (I'm using 3mm x 1mm round magnets here - use any small magnet that you have on hand) stick them together, and mark the opposite sides. This will give you marks with opposite polarity on the two magnets.
2) Glue your magnets to the outside edges of the non-labeled side of your fan - this is the side that actually spins! Be sure to keep your opposite-polarity marks up (or down) I use cyanoacrylate glue (superglue), but it's likely that any glue would work.
3) Prepare the leads of your fan an attach to the Adafruit Bluefruit according to the attached schematic.
I've used Vout to provide 5V to the fan from a USB supply. It should be possible to control a 5V (or 3.3V) fan with PWM, but there's sadly too much current draw for the Bluefruit to do this. For battery power, a 3.3V fan would be a good idea, but may not have enough torque to spin the magnetic stirrer.
4) Attach the fan to the Adafruit Bluefruit using non-ferrous screws (brass or nylon). For a 30mm fan, you could attach it with a bit of foam tape, but the 40mm fans can be attached diagonally to two of the holes on the Bluefruit with M2.5 standoffs and screws.
I did a bit of experimenting to determine how much mica should be added to the sphere. It's very easy to add too much mica, which makes your sphere very pretty, but very opaque. If you follow these instructions, you should have enough mica to make a pretty swirling storm, but also let the light through.
1) Remove the stopper and fill the snow globe with water.
For 'normal' snow globes, you typically want a mix of glycerine and water to dampen the turbulence and slow down the motion of the floating particles. Here, the rapid turbulence is what makes the globe pretty, so plain water is fine.
It may be helpful to put the sphere in a small bowl to hold it upright for the following steps.
2) Add a magnetic stir bar.
I did a lot of experiments with magnetic stir bars, and spent a fair amount of time trying to make and 3D print my own. My own printed ones were always inferior to the ones I bought, so I recommend that you buy them. Also, I tried a variety of sizes, and smaller ones seem to work better than bigger ones, but feel free to experiment!
3) Add the mica.
If you try to just shake a little in, you'll inevitably add too much. What I found works well is to dip a toothpick in water, then dip it into the mica. Then you can stir the mica into the globe with a toothpick.
I found that the optimum amount is about 4-5 dips of a toothpick.
4) Put the plastic stopper back in. It helps to overfill the sphere slightly and tilt it so that you release the trapped air while putting it in. Otherwise, you will have an air bubble in your sphere.
Place your sphere on top of the completed Bluefruit controller, plug into USB power, and see if everything works as expected.
A few things that can go wrong:
- The stir bar just jiggles or vibrates. The stir bar needs to be in the center of the bottom when the fan is powered up. Once the fan is spinning quickly, the stir bar will not be able to 'spin up' to the speed of the fan.
- The magnets on the fan hit the bottom of the sphere. You may need to adjust the height of the sphere relative to the fan with standoffs or another type of support. For any given magnet/stir-bar combination, there's an optimal height that allows the stir bar to spin freely and efficiently. Some experimentation may be required.
I have included an STL file based on the Block Island meteorite on the surface of Mars. This allows the sphere to rest int the model and keep it offset from the top of the fan. Feel free to create your own base, though!
Lightning really adds something to the 'storm' effect, so the provided code allows the Adafruit Bluefruit to simulate random-ish lightning flashes.
The critical part of the code for the lightning is here:
start_time = time.monotonic()
last_update = start_time
while time.monotonic() - start_time < config['duration']:
if time.monotonic() - last_update > config['speed']:
for _ in range(random.randint(1,8)):
last_update = time.monotonic()
Each time a lightning flash is triggered (controlled by the duration variable), the lights on the Bluefruit will flash between 1 and 8 times, with each flash having a duration of.02 to.07 seconds. This creates a pattern that emulates lightning flashes reasonably well. Experimentation here is encouraged!
The full code is available on GitHub here.
If you'd like to make one of these of your own, I strongly encourage you to experiment and tinker with it. What happens with more vigorous stirring? With less mica? With different lighting? What kind of different theme can you come up with? Could you put some other floating materials inside besides mica? Could you add a shape inside that only appears with the lightning flash? Can you 3D print more parts (like the stir bar)?
If you make your own, I'd love to see it - feel free to show it off on Twitter and let me know @grajohnt.