Introduction: Moving Fairy Wings That Light Up! ITTT

When I got an assignment for school to make something with Arduino I knew I wanted to make something I would still use outside of school. So when I was walking around in a butterfly garden and saw all the pretty butterflies, I suddenly got the inspiration for my project. I've always wanted to make fairy-wings for cosplay, but what if they could move?

So without previous experience with Arduino and a lot of excitement, I decided to make these moving fairy wings.

Supplies

Wings:

  • A3, thick paper
  • 0,3 mm ironwire
  • Book binding vinyl (trasparent criqut vinyl will also work)
  • Some bolts and nuts
  • Alcohol markers or anything to color the wings with (Optional)
  • Ribbon (Optional)
  • X-ACTO Knife
  • Wire cutters
  • Pliers
  • Iridescent foil

Housing:

  • 3'mm wood
  • 20 mm wood (you dont need much of this)
  • Some bolts and nuts
  • Wood glue
  • Velcro
  • Saw, or anything to cut wood with

Arduino:

  • Arduino UNO
  • MG995 Servo (This is just the one I used)
  • Potentiometer
  • LDR
  • Battery
  • Battery Snap Connector
  • 2x 330 Ohm Resistor
  • A bunch of wires
  • Solder board

Lights:

  • Fairy lights, or any other led)

Step 1: Prototype

I started this project with prototyping. I wanted to know how big the wings would be before making the housing so I wouldn't run into too many issues later on.

I had a lot of trouble visualizing how the wings would be able to move with the servo and how the housing would look. I didn't want to attach the wings directly to the servo, because if the wings were too heavy the servo wouldn't be able to handle it, and I also didn't want this project to rely on having a strong servo.

So having no clue at all on how to begin I did what I always do, prototype. After making a few concept sketches and working with cardboard I eventually ended up prototyping with Lego.

I made a prototype wing from iron wire and with some Lego technic, I built a tiny housing for my servo. I coded a simple interaction: by turning the potentiometer, the servo turns 180 degrees. The way the wings are attached, makes it so the wings move up and down when the potentiometer turns. I specifically chose to have unfolding wings and not flapping wings. I wanted it to be more like the wings are unfolding and getting ready to fly away, rather than flapping (which I think looks a bit silly).

This seemed to work quite good, so I decided to further develop this concept.

Step 2: The Wings - Frame

Since I am a procrastinator and always want to do the fun thing first, I started on the wings. The way I made these was inspired by this youtube video by CocoaSugar Cosplay: https://www.youtube.com/watch?v=WUkpE2HEMck.

I started by drawing a few designs for fairy wings, and chose the one I liked best. Then I continued by mapping the wings out on thick A3 paper with pencil. I Erased the lines, so they're less visible, and then colored the wings. You can choose to leave them white, but I am an artist and I wanted my design to be both functional and pretty. I used alcohol-markers to make a pretty blend of blues, and purples. I made sure to color both sides of the wings since the back is also visible.

When you are done with the wings, use and X-Acto knife or something similar to cut the wings out of the paper. Make sure to also cut the white pieces, inside the wing. Do this very carefully because the paper is very fragile. When you are done you should have a paper frame of fairy wings. These will be very flimsy so be careful handling them.

For support I also used iron wire. The kind I used was 3mm thick, so it wouldn't bend easily. I laid the iron wire along my wingframe, and bent it to fit the shape. At the bottom of the frame I also made the circle seen in step 1, so I could attach the wing to the frame later on. To bend the iron wire properly, you need some big pliers and wire cutters, because 3mm iron wire is very strong. I glued a ribbon to the iron wire, so it wouldn't be just ugly metallic grey.

And the frames for the wings are done!

Step 3: The Wings - Vinyl

This is the step by step guide for what I did while making the wings:

  1. Lay the transparent vinyl, sticky side up, on the table. I put some pieces of tape of the edges, to keep it from moving.
  2. Lay the paper-wingframe on top of the sticky vinyl. Do this very carefully because you can't remove the paper once it touches the vinyl.
  3. Lay the iron wire frame on top of the wing.
  4. Very carefully lay the iridescent foil on top of the wing. If you go from left to right you will avoid airbubbles and folds (unlike my attempt).
  5. Lay another sheet of transparent vinyl on top of the foil, this time sticky side facing down. Use the same technique to apply as with step 4.
  6. Smooth out any air bubbles by rubbing them to the side.
  7. Use scissors to cut the wings in shape.

And your wings are done!

Step 4: Housing - Part One

I made the housing for the wings from 3mm wood. The first picture has the 'blueprint' of the housing. On the blueprint I drew corresponding colors for what should be attached to each other.

I had no plan for making the housing. I designed it on the go, since I wanted it to be adaptable to what was needed.

I started the housing by sawing the base and middle layer of the housing. I made 4 tiny supports from thicker 20mm wood that I had lying around, and glued them to the corners of the base layer.

Next I made a hole in the middle layer, the size of the circumference of the servo. I was able to do this because I had a fretsaw lying around. Simply drill a hole in the middle layer, detach the saw from the handle by loosening the screws and reattach it with the saw in the hole. This way, you can easily cut a rectangle out of the middle layer.

I attached the middle layer to the base layer with wood glue. Once that was dry I started working with the mechanics of moving the wings, and I left the housing on the backburner for a while.

Step 5: Wing Mechanism

I had a lot of trouble thinking of a way to make the Lego prototype into something made of wood. But eventually I did it. It is however very difficult to explain how to make this, so I will try my best.

The way this is made, makes it so both wings will have the same movement even though the wooden arms are on opposite sides of the servo.

The first step was screwing the servo to the wooden panel (on both sides of the servo there should be two 'arms', you can put the screws here). Next I sawed two tiny pieces of wood, 1.5 cm by 6.5 cm. At each end of the pieces I drilled a big hole, big enough to fit a bolt through, and a tiny hole. Once that is done you should have two small pieces of wood, each with a hole on both sides.

Next drill two holes ,big enough to fit a bolt through, under the servo. For reference, see the second picture, where the two bolts under the servo are located. I eyeballed this to see where I would want the wings to be and then measured the distance and drilled a hole on the exact opposite side of the wood. You can see in the pictures that I accidentally drilled the wrong holes quite a few times, so make sure that you know exactly where you want them to be before drilling.

After drilling the holes, but a bolt through and secure it with a nut on the top.

Next I made two loops on the base of both wings with iron wire. I made sure the loops weren't too close together and used iron wire pliers to bend them in shape. In the top loop, I put a bolt and again, secured it with a nut. (Again look at pictures for reference)

So for the tiny pieces of wood:

I cut off a nail (you know the iron ones) and I put it in one of the tiny holes of my servo 'wheel' and then through the tiny hole in the small wooden piece. I fixated the nail in place with hot glue, but made sure not to touch the wood, so the nail could still turn. I repeated this process with the other side. The wood pieces should be both on opposite sides of the servo wheel.

So now to attach it all together:

I grabbed a wing and put the bottom loop on the bolt that's in the middle layer, and I put the bolt that's on the wing through the hole in the small wooden pieces. Secure both at the top with a nut, and repeat for the other side.

Step 6: Housing - Part Two

When the servo and the wings were in place, I worked on finishing the housing. I sawed the side pieces, supports and top layer out of the same 3mm wood. I painted them blue, and I then started gluing them with woodglue to the base I already had. Here is where I made quite a few mistakes. I accidentally glued the whole thing shut, without realizing that the arduino wasn't in the housing yet. So now I had a perfectly glued little box, but no arduino. So with a lot of effort I managed to get the pieces off and for accessibility I decided to make the top square (bottom middle in the picture) and the top layer detachable. I did this by hot-gluing velcro on the wood, so I could open and close it whenever I want.

Step 7: Lights

I was playing with the idea of the wings lighting up for quite some time, but this was the moment I finally decided to do it.

I still had a cord of fairy lights laying around the house so I decided to use these. I pulled the batteries out of the box, and just snipped the lights off, just above the plastic box. I plugged them into a breadboard to find out what side was + and what side was -, and marked them with tape so I wouldn't forget.

I pulled the lights through the holes I accidentally drilled in the wood earlier, and with a little room for movement, I hotglued them to the wings.

I wanted the wings to react to light so I used an LDR, but more on that later.

Step 8: Circuit

So, now about the technical stuff. I worked on my circuit for the entire project, but this was a very chaotic process so I decided to combine it one step.

Since I was new to Arduino I found it very hard to start. I hadn't made circuits since physics lessons in highschool so I had a lot to digest and learn. I watched a lot of tutorials and videos but they didn't really have what I needed. I found myself confused and lost in all the tutorials and new info.

During this project I had a big issue of a jittering servo. I kept trying to fix my code so this would stop and since I didn't know a lot about Arduino, this is something I struggled with for quite some time. Eventually I found out from a friend that I can use a second external powersource. For example a battery. This is the video that helped me implement the second power source: https://www.youtube.com/watch?v=8-w_8izUO38&list=PLWtV6hZF7kDbc6NQl8qgMZ74l3RRzkAW2&index=1

I was debating a lot on what to do with the lights. For a very long time I used a button but I found that a bit lame. So upgraded to an LDR. Now the lights get brighter when the room gets darker.

The potentiometer and LDR are attached to the top square. I did this by drilling a small hole for the turning piece of the potentiometer and poking two holes with a thumbtack an putting the legs of the LDR through.

Step 9: Code

This the code I used for this project. Very simple: if you turn the potentiometer, the servo will turn, and if it's dark around the LDR, the lights get brighter.

It looks very simple and easy but it actually took me a long time. The first few weeks I used code to control the lights with a button, but I found it a bit boring so I chose the LDR instead.

I had quite some troubles with using map(). For some reason the light kept turning off when it got dark, and it took me a while to understand why. Working with map() is very hard and it took several tutorials and students explaining it to me before I finally got it. So after a lot of tries I finally managed to get the values right. This is a video that helped me in the process: https://www.youtube.com/watch?v=j0o5EGeShME&t=123s

The values in the map() function, are adapted to my own environment, so not usable everywhere.

Step 10: Finishing Touches

I soldered the circuit on a copper board, gave everything an extra coat of light-blue and put the arduino and components inside the bottom space.

I have to put a sidenote here because like I mentioned earlier: I ran into some problems because the servo was too big and I couldn't get all the components into the box. I fixed this by unscrewing the servo, lifting it up and placing all the components in the box and then screwing the servo back on.

Step 11: Finished!

Here is the finished product!

I chose to leave the wings like this, because I wanted to be able to display them, but it should be easy to attach two strips of any fabric to wear them like real fairy wings.

Conclusion:

I wanted to do more with Arduino but I found out that I lacked a lot of the knowledge necessary to realize my ideas. Things like color changing lights or the lights turning on when the wings are up. My lack of technical knowledge is why I chose to also focus on the visuals of this project. Since I am a Game Artist, I still wanted to get some art knowledge out of this project and I think that I managed that by making the wings!


I do have to mention that the housing is not ideally made. I stumbled on some issues while making it.

First of all, the bottom space, where all the components for the Arduino lie, is a little too narrow. I would suggest increasing the height a bit if I were to make this project again. This way the Arduino has more room, and you don't run the risk of smooshing the wires, or ruining your project like I almost did.

Also in the process of making this I kept accidentally gluing the whole thing shut. Because I used woodglue, the pieces were very hard to detach once they were glued. I ended up gluing the wrong parts three times in a row, and like you might expect: this did not speed up the process at all.


I underestimated this project. The code took me weeks to get right, and making the circuits was also a challenge. I did however learn a lot about Arduino. I've always wondered how people made the cool technical stuff I saw online, and I finally got a chance to experiment with it myself. I plan on using Arduino in future projects. I'm excited to have finally finished this and I plan on someday refining this project to a more subtle and refined design.

Step 12: Sources

  • Aryaduta Lippo Village. (2018, August 23). Arduino - PWM - 014 Using the map function [Video]. YouTube. https://www.youtube.com/watch?v=j0o5EGeShME
  • Drone How. (2016, April 9). Arduino Tutorial: Servo Potentiometer Control - Beginner Project [Video]. YouTube. https://www.youtube.com/watch?v=8-w_8izUO38
  • CocoaSugar Cosplay. (2021, May 8). DIY Fairy Wings for Cosplay [Video]. YouTube. https://www.youtube.com/watch?v=WUkpE2HEMck
  • crazytronics. (2020, September 11). map() function in arduino programming || Arduino programming tutorial -11 [Video]. YouTube. https://www.youtube.com/watch?v=HsFYqJKB43w