Introduction: Slow Dance - a Fusion of Art and Magic

Picture of Slow Dance - a Fusion of Art and Magic
Update: I've just added a full video outlining the frame's capabilities. Check it out above!

Stuff that makes you say "how did they DO that?!", good magicians, artists, extreme sports, I love watching it all. Most of the time I just stare in disbelief, but when I saw Slow Dance, I was hooked. Hooked because I knew that I could make one - both the technology and materials were not only within reach but quite affordable and deceptively simple. It's slight of hand, something truly magical you can actually reach out and touch.

TL;DR & spoilers
"Slow Dance" is a frame that allows you to put delicate, everyday objects in (such as flowers or feathers), and makes them come alive, appearing to move or dance in slow motion. It works by simply vibrating the object at one frequency (~80Hz) under a very brief strobe at a very slightly different frequency (eg. ~79.5Hz). The difference in frequencies (sometimes called the "beat" frequency) becomes the apparent frequency of oscillation of the object (in this case 0.5Hz - your petals or feather appear to wave back and forth once every 2 seconds, like slo-mo).

I determined I would make one for my dear wife for Christmas. I'm constantly amazed at her patience and support, in spite of my constant tinkering away at something, she even encourages me to have a night off every week, just to make stuff! What a girl, I'm so lucky to have her. And what better gift than something that amazes her in return. Well, Christmas 2016 has come and gone and this gift went down a treat, we've used it dozens of times and we just don't tire of it. It's a great conversation piece for visitors too.

This build is fairly detailed so it took many, many hours to complete, but I'm incredibly happy with how it turned out. It combined lots of the things I love to do and play with: wood working with beautiful recycled timber, a laser cutter, circuits and electronics, programming, strong magnets, metal work, design and making beautiful stuff.

While the style is along the lines of "Slow Dance", I've borrowed code from TimeFrame because, well, his code is awesome and he released it well before I'd finished my first prototype. Thanks dude. And for others reading this, you should really go and buy one of his kits, it will make this whole thing really easy. No, really, he's done most of the hard work so you don't have to (no affiliation, just a very happy co-maker).

Features unique to my Slow Dance frame

  • Made from beautiful dark reclaimed / recycled timber (Merbau, Jarrah or Red Gum, not sure which)
  • Ability to control brightness, speed and strength of oscillation, which is useful for tuning a new object
  • A slowly pulsating power/mode button entices you to turn it on, then dims so it's not distracting
  • Custom laser engraved panel hides all electronics except coil

Parts you'll need
(numbered for reference throughout this Instructable):

  1. Wood for the frame
    • I chose a darker timber as I think it increases the contrast of the object in motion
    • My timber was about 40x65mm (1.5x2.5"), but this is flexible. If you go thicker than 40mm you'll be able to fit more LED strips in (the more the better). Also make sure your timber is as straight as possible. warped timber is very difficult to make a square frame from!
    • My frame is approx 360mm x 460mm, so I needed about 1.7m of timber. If you're going reclaimed get some extra just in case some splits or you make a mistake.
  2. Wood for the base: ~6mm ply
  3. Wood for the electromagnet holder: 3mm ply
  4. Screws:
    • (a) 90-100mm (3.5-4") wood screws x 2 (frame bottom corners)
    • (b) 50-60mm (2-3") wood screws x 2 (frame bottom corners)
    • (c) 12-15mm (1/2") countersunk wood screws x 8 (frame top corners)
    • (d) 8-10mm (1/4-1/2") pan head wood screws x 2 (electromagnet mount)
    • (e) M6 x 12mm (#12 or 1/4" thread x 1/2 inch long) pan head screw or bolt x 2 (EM ends)
    • (f) M3 x 8mm chrome plated male-female standoffs x 4
    • (g) Assorted M3 screws and nuts, 4-8mm
  5. A 12mm (1/2") diameter x 120mm (5") partially threaded bolt, or steel rod about the same diameter, ~70mm long
  6. Round neodymium magnets (I used 10x2mm and 12x3mm, two of each)
  7. Thickness gauge x 2. I found 0.24mm or 0.01" to be the ideal thickness, but anything from 0.2-0.3mm will work.
  8. 7x2 O-ring x 4 (I think that's 7mm inside dia, 2mm thick, or about 1/4" ID, 1/16" thick)
  9. Enamelled copper wire 0.4mm x 45m or about 50g (26 gauge x 150' or about 1.8oz)
  10. Warm white 12v LED strip x 5m - get the brightest one you can
  11. PCB and components from Cubic Print's TimeFrame (Seriously, save yourself the trouble and buy the kit)
  12. An Arduino Nano
  13. 3 x 10K linear potentiometers with knobs
  14. 1 x LED pushbutton
    • These come in two varieties, one has an LED and resistor built in, the other has the LED inside and optionally comes with a series resistor separately. You want the latter. I mistakenly ordered the former so I had to set up another MOSFET to drive it because I didn't have time to wait for another one (ugh, inefficiency!)
  15. Loctite or similar thread locker
  16. 12V, 1.5A+ wall wart with matching panel mounted socket.
  17. 2 x right angle brackets to fit inside the LED channel and secure top corners
  18. Assorted hookup wire
  19. Heat shrink tubing
  20. 3mm / 1/8" black perspex
  21. Wood glue
  22. Wood/furniture wax polish
  23. Gloss black spray paint (and preferably a primer)
  24. Soft adhesive pads for the base


  1. Lathe to machine electromagnet (EM) core
  2. Lathe or electric drill that can turn slowly enough to safely wind the coil (~1 revolution per second)
  3. Laser cutter to cut EM holder and back panel
  4. Table router or milling machine to cut channels for LED strip
  5. Drill press
  6. 35mm / 1 3/8" forstner bit to dig cavity into the base
  7. Countersinking bit
  8. Mitre/drop saw
  9. Soldering iron
  10. Sand paper and sanding block
  11. Rotary tool with 2.5mm diamond engraver/drill bit
  12. Thread tapper to match the M6/#12 screw above
  13. Chisel
  14. The usual assortment of hand drill, drill bits, screwdrivers, pliers, etc

Let's get making...

Step 1: Preparing the Frame

Picture of Preparing the Frame

While this part arguably took the longest for me, I'm going to keep it comparatively simple (yes, it's still long).

Good wood
Make sure that you've picked your framing wood (#1) well. If you're going for reclaimed timber make sure it isn't too cracked or oil-stained (unless that's the finish you're after). Old timber can be quite dry and brittle, and small cracks will keep splitting if you screw it in the wrong pace. Make sure it's dead straight, and decide which pieces (wood tone, patterns) are going to match up best.

Build a test frame (or two)
Second, make an entire test frame (or two) from scrap timber that's about the same cross sectional size as your frame timber. The test frame doesn't have to be as big as the real thing in fact it can be tiny, you're just looking to see that your mitred corners don't have gaps and your angles are all square. If your mitre saw is not at exactly45° then your frame is going to be much harder to get right - you've got 8 mitred edges, if each one is just 1/4° out, you could end up with a gap of up to 2° depending on how you make each cut, which is pretty unsightly. Also make sure that parallel sides are exactly the same length.

Pick your patterns
Once you're happy with the cuts and confident that you can make perfectly square corners with no gaps, decide how you're going to cut the timber for best effect, then go ahead and cut the frame. I made sure an oil stain was on the back while the best grain patterns are on the front. Mark each piece with pencil clearly so you know which side is front, and which piece is top/bottom/left/right - its very easy to get mixed up. Be sure to save a small scrap offcut, you'll need it in the next step.

Routing a channel
Take the top, left and right pieces and route a channel into them either on a table router or milling machine (make sure channel is on the shortest/inside face!). How deep and wide you cut the channel is entirely up to you. A deeper channel hides the LED strip better but can mean a weaker frame, wider channel reveals the LED strip more but also lets you run more strings of lights. Mine is 13mm (1/2") deep, 28mm (1 1/8") wide.

Recessing and cavity
Marking out the bottom piece and recessing it for the control panel can be tricky to get right, but there are a couple of ways to do it. First laser cut a dummy panel (in the SVG file below) from scrap acrylic so you can test the recessed depth and fit around the edges. Then either:

  • Place the dummy panel in the exact centre of the back side of the bottom piece. Trace around it, mark 5mm in from each edge for the cavity, OR
  • Put the bottom piece into the laser cutter, line it up just right to centre the pattern and do a few cuts of the panel template (second pattern in the SVG below) on full power, straight into the timber. You'll want quite a high linear speed to avoid charring and keep the blower on (on our 50W laser I used about 40mm/s and did about 6-8 cuts with a few seconds to cool between each). Test depth by inserting a piece of paper into the cut I could tell when the cut was deep enough. The template SVG also cuts the cavity lines.

Use a Forstner bit and the depth stop on the drill press to drill out the cavity leaving about 7-8mm (1/4") of the frame thickness remaining and then chisel out the recessed border and square up the cavity (see images above).

Mark the exact centre on the front of the bottom piece and drill a hole the right diameter for the push button. Using the dummy template for positioning, drill the screw holes into the frame.

LED wire holes

Drill 2-3 large holes side by side on the mitred edge going diagonally down into the cavity, this is for feeding the LED strip wires through. Make the holes larger than you think (8-12mm?), I drilled 6mm holes the width of the channel and found (after I'd assembled and glued the frame) they weren't big enough as I wanted to conceal both the wire and the solder join inside the hole. It wasn't easy, but I made it fit.

Finally, ensure the angle brackets (#17) fit into the channel in the top corners of the frame. Drill and countersink holes to fit the screws (#4c), and then carefully position the frame on a flat surface, put the brackets in and mark the holes in the channel. Pull it apart and pre-drill on these marks about 0.5mm smaller than the screw diameter.

Step 2: Assembling the Frame

Picture of Assembling the Frame

Assembly is a bit tricky, but if you prepare well and check for fit several times throughout, it should go well.

Start by marking and drilling 45° holes through the bottom piece, two on each side as shown in the first photo. You can see from the image how the screws will sit inside the frame, this should give you an idea where the screw holes should be. I didn't measure this, I eyed it up and made sure the holes wouldn't cut through the cavity, while spacing them out enough to ensure it was wide apart maximum joint strength, and far enough from edges to minimise the risk of the wood cracking.

The second image shows a sketch of how to accurately drill the 45° angle in the drill press. Clamp it nice and tight so the wood can't slip.

Remember, if you're using old reclaimed timber like me, it can be very dry and brittle. I had an offcut split in two with very little pressure on it, and I constantly got splinters in my fingers :( Pre-drill everything to around 0.5mm smaller than the thread diameter before screwing into it, and wear leather gloves when handling, except around power tools as this can be dangerous.

Once the bottom piece is pre-drilled, you'll need to pre-drill the sides to match, which can by tricky. Having done this the hard way, if I were to do this a second time I'd definitely make a jig to firmly hold all sides of the frame in place. If not, put the frame back together firmly and carefully mark through the diagonal holes in the base onto the side pieces. You can use a long thin scribe or needle for this purpose. Drill bits in the 3mm range are usually not long enough to reach through the long hole, so you have to drill it separately and hope the holes you've drilled line up perfectly. Get your angles right and measure everything twice.

Once drilled, double check that it all fits together by assembling the whole frame, but don't screw the screws right in just yet, just enough to make sure the holes are in the right place.

Using rough sandpaper or a belt sander, make a couple of spoonfuls of sawdust using the offcut from the previous step. You'll use this as a gap filler below.

Happy with the fit? Add wood glue to one corner at a time and screw each joint together (screws #4a, #4b and #4c). I also added some glue under the right angle brackets in the top corners. Screw it together quickly, tightening each corner a bit at a time until they are all tight and frequently checking that everything is square and sits flat. You may find, in spite of all your efforts that there are still gaps or it doesn't quite sit flat. Not to worry, get it as square as possible and gently clamp it to a flat surface. Mix a small amount of the sawdust with the wood glue to make a thick paste. Using your finger rub it deeply into any gaps in the corners, then scrape off any excess and allow the whole frame to dry. Repeat on the other side if necessary.

Once the frame is dry, start sanding the frame to smooth out anywhere the joints are not flush and sand off excess glue-filler. Use a sanding block to ensure a nice flat finish.

Be careful to follow the grain as best you can, which is not easy when you have two very wavy grains that meet at right angles! Start with about 60-80 grit for any heavy sanding on the corners joints and work up to 120-240 grit or higher all over until smooth.

Step 3: Winding the Coil

Picture of Winding the Coil
Electromagnet basics
When electrons flow through a wire they create a magnetic field, although it's usually not very strong unless either the current is very high or there is a lot of wire involved. Electromagnets use the "lots of wire" factor to create a useful magnetic field around and through a tightly wound coil, and this field is greatly enhanced when certain materials are used as a core for the coil.

I based my core off a 12mm (1/2") diameter bolt with a partial thread (because that's what was lying around). I cut off the thread and bolt head giving an iron rod about 70mm (2 3/4") long. I then put this into the lathe to machine and drill the ends. I drilled about 20mm (3/4") into each end with a 5mm bit then slowly and carefully tapped the hole with an M6 tapper. If you haven't done this before, read up on it before you try.

Open the SVG file below for the EM bracket plans. I used Inkscape to create it, so if you open it in another program you may need to adjust the scale. Also check that:

  • The holes in the sides match the diameter of your core
  • The distance between the outside of each vertical side is the same length as your core
  • The smallest width of the rectangular holes in the base are the same width as your 3mm ply (#3), plus kerf

Use a laser cutter to cut the EM bracket from the plans, glue and assemble, and wait for it to dry. Once dry, spray with a coat of primer undercoat followed by 2-3 coats of gloss black paint (#23), following application instructions and drying times.

While you're waiting for it to dry, let's get onto the coil!

If you're building an electromagnet from scratch it can be tricky to work out exactly how much enamelled copper wire you need. The three main variables here are wire diameter, core diameter and core length. I've made a spreadsheet to help with the calculation (see attachments below).
Enter the values on the right of the spreadsheet and you can see a table on the left that shows (approximately) the total length of wire required to complete each layer, the total resistance in ohms of that length, and the resulting coil diameter. I was looking for a peak current flow of 2 amps (I) at 12 volts (V), using Ohm's law (V = I x R // R = V / I) I calculated I'd need a resistance (R) of at least 6 ohms.
My wire was 0.43mm diameter, core length 70.53mm, diameter 11.5mm. The spreadsheet told me that a tightly would coil 7 layers deep would take ~52m of wire, totalling 6.65 ohms and the coil would end up just under 18mm in diameter. Since copper wire is commonly sold by weight I calculated that I should have enough for this with a bit left over. Note this calculation doesn't take into account the enamel thickness.

I cut two circles out of 3mm acrylic to place over each end to use as an "end stop", to make the coil slightly shorter than the core, and to ensure that there was clearance on either end for the core ends to go into the bracket ends when mounted. I then wound the coil very carefully on a small lathe on its slowest settings (about 60rpm), hand on the stop button, stopping many times through the process to adjust the winding and fix mistakes.

It turned out that I had enough for an 8th layer (just!), so this leaves me with just under 8 ohms, which means around 1.5A peak current if you were to just apply 12V across the terminals, and that's well within both the MOSFET limits and the heat dissipation I had in mind (~18W x 25% duty max = ~4.5W). More windings can only be a good thing, so long as I've still got enough current flowing.

Once the coil is wound, apply a bit of glue to both ends to set the wire in place and stop the ends from unravelling. Be very careful with this coil now that it doesn't get scratched and that the free ends of wire aren't moved too much. The last thing you want is for the coil to unravel or be damaged. Put some masking tape over it to protect it until it's ready to mount.

Step 4: Adding the LED Strips and Polishing

Picture of Adding the LED Strips and Polishing

12V LED strips come in segments of 3 LEDs each with a built-in series resistor for each segment. I bought some of the brightest LED strips you can get (cheaply), codename "5630", I got a 5M reel (#10) for a few dollars from China. You can cut LED strips as long (up to a limit) or short as you like, so long as you cut them between segments.

I figured I could just squeeze in 19 segments around the frame. I managed to fit 4 strips side-by-side into the channel by overlapping them slightly. So 3 LEDs x 19 segments x 4 strips is a whopping 228 super bright LEDs. If I had room I would have added a fifth strip. You'll need to work out how many you can cram in before you start, because the more you have the better the effect - I still wish mine were about twice as bright.

Why so many? You've got a brightness knob, can't you just crank it up to 11?
Not really. The LEDs flash once every 12.5 milliseconds or so, but they only stay on for a very short time (the "duty"). In my code the brightness knob adjusts the duty from 0% (LEDs off completely) to about 20% (on 20% of the cycle, or 2.5ms), and I usually keep the duty at around 8-12% for best effect. Remember that you're performing high speed flash photography with your eyeballs to capture a very rapidly moving object, and each "photo" you take is a frame in an animation. The longer the LEDs are on when they flash, the further the object travels in that time hence the blurrier your photo. But for a short flash if you have more LEDs your photo will be brighter and clearer. This is even more important as ambient light gets brighter relative to the LEDs - otherwise you start to see hazy ghosting around the object.

If your LED strip has an adhesive back it may stick well enough to the bare wood. If not you can stick it down with some craft glue. Working one segment at a time from the side of the frame without the hole for the LED wires, peel back the waxed paper and stick the strip down firmly, but when you get to the end of the strip leave some backing paper on while you solder on the wires. Solder a link to each of the negative terminals and one to each of the positive terminals with a main wire coming off each - we want to join the strips in parallel. Ensure joins are insulated with tape or heatshrink tubing and that the wires are long enough to reach down into the cavity and over to the far side where we will attach it to the PCB.

After soldering the wires peel off the rest of the backing, carefully tuck the wire through the hole and stick the remainder of the strip down.

In case your frame has picked up any dings, you may wish to give it another light sand. Remove all dust with a vacuum and brush attachment.

You can use any wood finish you like, I opted for a fairly standard wood wax polish with Eucalyptus oil, and it looks and smells great. Give the whole frame a good coat or two, taking care not to get it too close to the LED strips, if wax gets in behind the strips they'll lose their stick. Polish off any excess with a clean rag after letting it soak in for a few hours.

Step 5: Assembling the Electromagnet (EM)

Picture of Assembling the Electromagnet (EM)

Once the EM bracket is completely dry, measure, centre, and then screw (#4d) it directly onto the frame (don't forget to pre-drill!).

Drill two 2mm (3/16") holes through the bracket and frame into the cavity as shown in the second picture. This is where the coil wires will go.

Slide the acrylic circles off the ends of the core and discard, taking care not to disturb the coil.

Carefully wedge one end of the coil core into one side and slide the other into the other side. If your measurements were right, you should have a nice snug fit.

I flattened the heads of the two pan head screws for the core ends (#4e) with a grinder so that they were nice and parallel with the fixed magnets as you can see in the last photo above (fully assembled).

Place the screws (#4e) into each end of the coil through the bracket and tighten as shown, this should stop the coil from moving, sliding or vibrating.

Cut two lengths of 2.5mm (1/8") heatshrink tubing to fit in the holes you drilled above, just long enough to reach the cavity. If you shrink about 3/4 of it, it should fit down into the holes and you can pass the wire through. Push the un-shrunk tube into the hole, it should sit quite snugly to stop it slipping around. In this case the heatshrink is used to protect the enamel from wearing off slowly with vibrations, rather than insulation.

Get the two strips of spring steel (thickness gauges, #7) and mark where the holes need to go for mounting, close to the bottom. The screws need to match up with the holes on the side of the bracket, the hole centres should be 6.25mm (1/4") apart.

Using the diamond bit in a Dremel or similar rotary tool, slowly and patiently drill your way through the strips. Regular high speed drill bits will not work in toughened spring steel. The key here is to keep the diamond bit cool or you will end up wearing out the adhesive that keeps the diamond on the bit, then it's all over. I drilled them over a small container with water in and always kept it wet. Take extra care not to slip, you can do serious damage to your finger if you're not patient with it...

By the end you should have two nice clean holes in each strip. Check that the male end of the standoffs (#4f) fit nicely and then tighten M3 nuts (#4g) on the other side. I went for nylock nuts, but in hindsight I think I should have used threadlock instead, eventually I'll be adding some. Even the nylock nuts loosened very slightly over time, enough to make a bit of noise when you turn it on.

Finally add your magnets to each strip. I used a 2mm thick one on the inside, 3mm on the outside, but it's not too important. The outside magnet keeps the inside one stuck to the strip (instead of sticking to the EM), and doubles as an easy way to slide the inside magnet up and down.

Hold the strip where it will be mounted, check for spacing to the electromagnet, and adjust using washers or swapping for longer or shorter standoffs if needed. You should have just enough space that the magnets don't flip off and stick to the electromagnet and the spring steel doesn't bend and stick to the electromagnet. I've got about a 4mm gap and this seems to be just right. The further away you get, the less influence the EM will have, but if you get too close the magnet and strip pull inwards and just to stick to the ends of the EM.

When you have it right, mount each strip with two short M3 screws through the bracket into the standoffs. Again, threadlock would be useful here.

Step 6: Arduino Code and Electronic Assembly

Picture of Arduino Code and Electronic Assembly

I'm assuming you've got a fully assembled Cubic Print PCB with the Nano attached. I've modified the code and added several bits from the original by Cubic Print. My latest code is available on Github here.

Once you have that loaded, you'll need to do the following, remembering to insulate all joins to avoid shorting:

  1. Replace the two trimpots with full panel-mount potentiometers (#13) connected via about 15cm (6") of hookup wire or three-stranded ribbon cable so the pots can reach the holes in the panel.
  2. Solder one wire of a third ribbon cable (about 10cm/4") to the PCB at the A2 pin on the Nano. This will go to the centre tap on the third potentiometer (#13) which controls EM duty.
  3. Solder another wire to ground (-) and one to +3.3v. These will go to the two outer poles of the pot above.
  4. Place the LED pushbutton into the hole in the base of the frame and mount it firmly with the nut. Mine was a waterproof version that included an O-ring, but I removed this to mount it flush with the wood.
  5. Solder a second wire to ground and one to the D5 pin, and solder the other ends to the pushbutton's LED terminals, (- or K for cathode, and + or A for anode respectively). This is assuming it doesn't have the built-in resistor I mentioned in Step 1.
  6. Mount the power socket (#16) to the panel and screw it tight.
  7. Add power wires from the power socket to the board, observing correct polarity and double checking. Typically (but not always) the centre pin is positive and the outer ring is negative. Test with a multimeter if you're not absolutely sure.
  8. Screw the coil ends to the Coil terminals and the LED wires to the LED terminals, insulating appropriately.
  9. Now plug everything in and test power and lights (fingers crossed)...
  10. Do a happy dance when it works flawlessly the very first time!

If all is well, gently coil up any excess wire into the cavity and screw the control panel into the recess. I initially used pan head M3 screws, but later countersunk the panel holes and changed the screws to match.

Step 7: Final Assembly

Picture of Final Assembly

The electromagnet just pulses on in one direction (ie. just a "push", it doesn't "push-pull"), so one end will always be magnetic north and one will be south.

I was experimenting with a push-pull oscillation in my original design by using an H-bridge, before I found out about Cubic Print's code and PCB, which does a single polarity pulse. It works almost as well as my original one and reduces complexity a lot because you can simply use a single MOSFET, which also dissipates very little heat compared to the H-bridge.

Check that you have your magnets oriented correctly, when you hold it in your fingers you'll feel a bit of a push when the coil is on. If you feel a push rather than a pull, you have it the right way around.

The magnets can slide up and down the spring strips and you'll find a sweet spot where the oscillation is at its peak. This changes slightly depending on what you attach to the strips, heavier things oscillate differently to light things.

Add a couple of O-rings (#8) to each spring strip, they should be tight enough that you can slip the small stem of a flower or feather between it and the spring and it will hold firmly.

Cut a base for the frame out of ply (#2), the size is not too important, just enough to give a bit of stability. Make sure the ply is not warped or it may not sit flat. Sand it smooth on all edges then remove dust, prime and paint as per the electromagnet bracket. Work out where you are going to put screws through the base and into the frame, such that you don't accidentally damage any electronics (if screws are too long or in the wrong place). Drill and countersink the screw holes, pre-drill carefully through into the frame and attach with appropriate countersunk screws (#4h).

Finally, add the soft feet (#24) and check for stability.

Sit back and admire the completed frame!

Step 8: Conclusion and Thoughts

Picture of Conclusion and Thoughts

Things that work well in the frame:

  • Feathers are probably best
  • Delicate flowers
  • Small, green, soft foliage
  • Leaves

When you first show people their first thought is usually that there's air blowing in the frame.


Turn it to mode 2 ("distorted reality") and that will have them puzzled further. Then when you're ready for the big reveal, turn the LEDs right down (off) to show the vibrating feather/plant material, then and slowly ramp the lights up. The effect is really neat.

I can't help but think that a project would be so much better with water. I've toyed with the idea of making a plastic version with a small water spout at the top to reproduce the water droplet strobe effect, or the same effect that's captured by a 24fps camera with a subwoofer and sine wave. An indoor water feature would be neat but it complicates things a lot :)

Anyhow, this has been one of the most rewarding things I've ever built. If you build one, leave me a note in the comments, I'd love to see it.

Happy making,



dushyantahuja made it! (author)2017-12-29

Made this. However used an off-the-shelf electro-magnet instead of rolling my own.

bd594 made it! (author)2017-08-26

made one for my wife for valentine's day and now it sits in a closet........

3dfernando (author)bd5942017-09-17

Is that supposed to be a good or a bad thing?

The device is beautiful, by the way, congrats for the build!

When I made mine, I aimed the design towards a wall frame, so it would be easier to become a "less intrusive" decorative device...

jelmerv (author)2017-07-22

I finished making mine today but i cant seem to get it working.

when i connect power the leds burn very dim for about a second and then they start burning/blinking brighter. The push button doesn't do anything. the magnet pulses only very weak but maybe this is because i added too many layers and it has a too high resistance.

the only thing i did different is that i used irfp250n's because i didn't have the irf540

Does anyone have an idea how i could fix this or what i did wrong?

MrTinkerer (author)jelmerv2017-08-08

How many amps is your power supply? What is the resistance of your electromagnet. Also, you sure your capacitor is the right capacitance? For the magnet coil, i went for between 10 to 12 ohms. After winding I got 11.5 ohms which meant my magnet drew a little over 1 amp at full on. This project's duty cycle and dwell my meter showed the magnet drawing less than 200 mA. I hope this helps.

jelmerv (author)MrTinkerer2017-08-08

My power supply is rated for 3 amps. since the magnet didn't cause a lot of movement i wanted to get some more amps so i changed it from 8.5 ohms first to about 6.5 ohms now. and the capacitor is 4700 uF but its for smoothing i thought so a bit too much shouldn't be a problem right?

The push button also doesn't switch modes but it stops motion while being held pressed. When i turn power on it immediately starts in mode 1 (magnet and lights turn on).

I was also using 5 rows of leds, each 19 segments. but to decrease current draw here i have also tried with 4 rows and this didn't really make a difference.

Also the blinking isn't the way it should be. it starts blinking and pulsing the magnet for about 2 seconds and then the light and magnet start lowering frequency and power for a moment. then it goes normal again for 2 seconds. That cycle keeps repeating.

MrTinkerer (author)jelmerv2017-08-09

Maybe is it the software. Have you tried different versions? There are three versions of this project and it seems two branches of the software. I know I have one version where the modes were all wrong.

3 amps is plenty. in normal mode, my frame draws less than an amp. The LEDS and magnet barely get warm.

Maybe it is a short. I had that problem too. The magnet was weak and it got really warm (almost hot). The root cause was a short circuit near one of the mosfets.

jelmerv (author)MrTinkerer2017-08-12

I am back from a vacation trip now so i can try some things now. I have already tried multiple codes and even tried editing some myself but all without luck. I also cant find any shorts but i do guess that's the problem. I might make a completely now circuit sometime or just try it all on some breadboard.

Anyway. thanks for your help. At least i now know amps wont be the problem so i can just use all led strips again.

MrTinkerer (author)jelmerv2017-08-13

sending u a pm

MrTinkerer made it! (author)2017-08-08

I made one. If I did it again, i would have just one blade to hold object instead of two. Like the butterfly? Thank you for the awesome instructable and inspiration.

SparkItUp (author)2017-02-06

I've had a couple of private messages asking about the circuit board, it seems that some of you want to make your own but can't find the schematics. They are on the Cubic Print github site, he has open sourced the whole design:

You can use the following online viewer to view them (Just upload the whole zip file and you can view each layer individually or together by selecting the boxes on the right hand side):

The 4 TPX links are ok to leave unconnected. I believe they are just for testing.

This file also shows the circuit diagram if something is not clear:

Hopefully that clears things up. If you don't have the ability to make a circuit yourself, Cubic Print sells the complete electronics kitset with all electronic parts to make his version here:

The only additional electronic parts you'll need for my frame are:

* 1 x 10K linear potentiometer (so 3 in total)

* 1 x LED pushbutton

* 1 x panel mount DC socket

Hope that explains things better!

MiguelB97 made it! (author)SparkItUp2017-04-19

Here is my little contribution to this instructable.

As cnkkrs posted (Thank you so much!) in the other Instructable (TimeFrame), here is the single layer design. It includes the additional potentiometer and the Switch Pushbutton.

parthwagh (author)2017-04-05

Hi, thanks for reply..

parthwagh (author)2017-03-19


is there two power supply used?

12v and 5v for ARDUINO NANO.

please rply.

SparkItUp (author)parthwagh2017-03-29

Hi, sorry for the delay, I haven't logged in for a while. No, only one power supply is used. The Arduino Nano can take up to about 12V when supplied to the Vin pin, you don't need to feed it with 5V. The circuit from CubicPrint takes care of feeding power to the Nano, you only need a single 12V input. I hope that helps.

3dfernando made it! (author)2017-02-11

LOVED IT! The effect is a-ma-zing!

Great idea, my mother will love this for her birthday!

Two main things I altered for my design:

-> Added a white background to improve illumination effect for the flashing LEDs and made a wall frame instead of a desk frame;

->Used a PIC12F675 uC, which is waaaay more than enough for a fixed-low frequency two-channel oscillator and costs only $1.00!

Man, I enjoyed and learned so much making this gift, just cannot thank you enough! You rock!

MrTinkerer (author)3dfernando2017-03-06

Is that steel wool attached to the blade? Or what is that? what is it for? Your frame looks amazing.

3dfernando (author)MrTinkerer2017-03-07

kkkk, that's just a little piece of foam from a lens package. I used two neodymium magnets attached to a white plastic stick as the vibrating support. Since the coil is wound around a steel bolt, the neodymium magnets want to stick to the bolt while I'm attaching the flower to the support. That piece of foam prevents it from sticking so hard, so I can detach it easily.

During operation it won't attach, it's just while I'm messing around with it.

Thanks for the compliment, my mom also loved it!

SparkItUp (author)3dfernando2017-02-16

Glad you enjoyed it, well done on yours, it looks really effective with the white background!

JonathanK76 (author)2017-03-06

Anyone wanting a preprinted PCB from Cubic Print github and are in Australia message me :)

MrTinkerer (author)2017-02-28

My electromagnet is getting really hot, is that normal?

MrTinkerer (author)MrTinkerer2017-03-06

Never mind. I found a short circuit on my pcb. Once fixed the magnet only gets slightly warm after running 30 minutes straight.

Jesper MartinS (author)2017-02-27


I have added a shortmovie effect to the code, and updated it on "the other" instructable I dosen't hope you find it rude to link to this.

fenyvesi (author)2017-02-09

It is true that the average power consumotion can be lower than the 24W that the PSU provides but there are periods when both the LED and the solenoid works at the same time.

What value of capacitor do you use?

SparkItUp (author)fenyvesi2017-02-16

Yeah, you got me there... I'm only using 1000uF but have a 2A supply on my board, but the Time Frame calls for 4700uF iirc. That should be ample for smoothing and a smaller supply should be sufficient

fenyvesi (author)2017-02-09

This is a nice project. You can feel that all the details are thouhtfully planned and the final product is beautiful.

I have a question related to the power. I just want to order the PSU and calculated the power needed.

I suggest you have an LED strip with 30 LED/m. I estimate that more than 4m is used. The power needed for LED is more than 5W/m. This is 20-25 W.

The solenoid uses more than 1A, it is ~15-18 W.

You mention that the required power source is 12V 1.5A+. If it is 2 A, the total is only 24W, but you need 35-43 W.

What am I missing?

Thank you.


SparkItUp (author)fenyvesi2017-02-16

Sorry for the delay replying and thanks for your comments. JohnC430 is correct. The duty on both coil and LEDs is less than 20%, and the instantaneous current draw is smoothed by the large capacitor on the TimeFrame board, so typical current draw is well under an amp, but I recommend 1.5A for safe measure.

JohnC430 (author)fenyvesi2017-02-14

you are missing the duty cycle. short pulses and long off time. so average power is much lower

SparkItUp (author)2017-02-04

Hey everyone, I've just uploaded a new video above showing the frame's full capabilities. Apologies for the flickering, it was unavoidable...

Thanor (author)2017-02-01

Fantastic project!

I ordered an out of order kit (extra 23 days), and with the
waiting I want to try to make one without the kit. I was looking for the mosfet
IRF44N, but it doesn't exist? I can't even find the data-sheet. Could it be
instead IRFZ44N, or could IRF540 (the mosfet wrote in the PCB) works?

I guess any mosfet of the same type that can handle fast
switching + V can works, but I would like to be sure.

SparkItUp (author)Thanor2017-02-01

Hi, thanks for your comment!

As far as I know any "logic level" MOSFET should do. I'm not even convinced that the IRF range is the right one to be using, since the IRL range is logic level (switching between 2-4V iirc), and typically what you want to use for Arduino projects.

I'm not an electrical engineer and only know what I've Googled, but SparkFun sell these two models specifically for Arduino switching:

(Source: )

Good luck!

Thanor (author)SparkItUp2017-02-02

Thanks for the quick reply !

tedour (author)Thanor2017-02-04

You can also try with this card that contain everything you need :

tedour (author)2017-02-02

Thank you for sharing it ! Do you think it is possible to use something like that :

instead of the solenoid ?

Thanks again !

SparkItUp (author)tedour2017-02-02

You are welcome!

I actually bought a few of those myself for a prototype and found two things: the 2.5kg one wasn't quite strong enough, and it tended to overheat quite quickly. The 5kg version was better but still got fairly warm after some time. If you limit the magnet duty in the code to, say 10% and don't keep it running for too long it should be ok.

One more thing about these electromagnet coils, they are designed to hold a steel plate, so the N and S poles are both on the same side. One pole is in the middle, the other is on the outside ring. I'm not sure if this is helps the effect or hinders it.

Good luck!

tedour (author)SparkItUp2017-02-02

Thanx again for your quick reply :)

Perhaps something like that is better :

or this one and remove the push-pull part :

SparkItUp (author)tedour2017-02-02

i really don't know sorry. What I do know is that the magnetic field is greatly enhanced by an iron or steel core so I'm guessing you probably shouldn't remove the sliding rod in the middle but instead remove the spring and glue the steel shaft into the solenoid as far as it will go.

I know you're trying to make assembly easier for yourself by not winding your own coil, but I think you're just going to have to buy a few different products and see which one works best. I don't think anything will work as well or look as good as a well made hand would coil, but it is a lot of work!

Let me know how you go.

tedour (author)SparkItUp2017-02-02

Thanks again SpartItUp !

You're right, i will test differents things and, i will post my results here.

dietrichvisuals (author)2017-01-28


well done, it looks very nice. I like the dual mount for the coil.
Can you add more specifics about the LED push button, almost every vendor is using a built in resistor. Is it a SPDT or DPDT?

Thanks in advance.

Hi, thanks for your comments, great to hear that you like it. Sorry I didn't say too much about the button above. While it sounds like you know button terminology I'll spell it out for others who might not know what SPDT means :)

You want to get a momentary SPST/SPDT NO push button, which means "non-latching single pole single/double throw, normally open", or in other words push-on, release-off with at least 4 terminals: common (C) and normally open (NO) for the push button and anode/positive (A or +) and cathode/negative (K or -) for the LED. I also notice that a few pushbutton LEDs are not polarity sensitive, so the LED terminals may be marked in some other way too.

It can be hard to weed out the ones with built-in resistor, but the ones you need are out there, check out AliExpress and Ebay, here are a few examples: (slightly smaller, 14mm)

Good luck!

Ed-E (author)2017-01-27

Great, Thank you.

ShekharSahu (author)2017-01-27

This is the most beautiful modern artwork I am seeing. <3

SparkItUp (author)ShekharSahu2017-01-27

Thanks very much for your compliment! Unfortunately I didn't invent it, but I agree, it's pretty stunning. I knew as soon as I saw it that I had to make one.

JadieT (author)2017-01-26

This is too cool. I'm inspired. Couple of what ifs. Since "the more light the better" - would a round frame with the LEDs on adjacent strips offset from one another provide better light or is that just picking the fly poop outta the pepper?

SparkItUp (author)JadieT2017-01-26

You know, very early on I thought about making a round frame, thanks for reminding me. If I had any wood turning skills I probably would have (it's on my list of things to learn), but I've just now thought that you can probably make quite a nice one out of one of those cheap wood/bamboo bowls that you can buy from most department stores. Either chop the bottom off the bowl for a see-through frame, or leave it on to cut out more ambient light.

About offsetting the strips, I don't know that it would make things brighter. It might be slightly more even light, but I'm not convinced that you'd notice any difference.

Thanks for your comments, especially the "fly poop outta the pepper", had a good laugh at that :)

tmv22 (author)2017-01-25

is there an already made vibration mechanism i can buy from amazon or ebay? what is it called? basically, i want to make my huge ikea canvas painting vibrate slowly.

SparkItUp (author)tmv222017-01-25

That sounds like an interesting idea. One thought, as one of the other commenters pointed out this is vibrating at an audible frequency, and by vibrating your canvas you'll essentially be creating a great big speaker. Also you'll want a much bigger electromagnet to move something that big, or several smaller ones carefully spread across the canvas to set up a standing wave in the fabric. You can't really oscillate it much slower than 80Hz (to make it inaudible), or the effect won't be as smooth.

Interesting concept, though, if you do get it working I'd love to see an Instructable!

dushyantahuja (author)tmv222017-01-25

I'm planning to use

instead of the home-made solenoid I had made for this project (too ugly and made too much noise). But - you would still need the microcontroller and the code to make it vibrate.

SparkItUp (author)dushyantahuja2017-01-25

I bought one of these and the slightly larger 5kg version for prototypes. The 5kg definitely worked better and the 2.5kg one seemed to get quite hot after a while. They don't have great heat dissipation, but they are still reasonably effective.. I considered hiding these inside the frame, but decided that it would be too hard to adjust, and also that exposing the copper coil would actually add to the effect - that's one of the things I liked about the original Slow Dance. Thanks for the videos, great to see you got yours going!

dushyantahuja made it! (author)2017-01-24

Thanks for sharing

About This Instructable




Bio: I'm a Kiwi, a maker and a Dad of four kids with a passion for good design, wood craft, technology, and laser cutters.
More by SparkItUp:The Ultimate Guide to Laser-cut Box GeneratorsSlow Dance - A Fusion of Art and MagicAndroid Christmas Lights Controller
Add instructable to: